User Tag List

Страница 125 из 167 ПерваяПервая ... 121122123124125126127128129 ... ПоследняяПоследняя
Показано с 1,241 по 1,250 из 1664

Тема: SjASMPlus Z80 кросс ассемблер

  1. #1241

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Question багофича

    вот такой пример:
    Код:
            ORG $C000
    
    bnode1  db LOW (label1-$), LOW (label1-$)
    
    bnode2  db LOW (label2-$)
            db LOW (label2-$)
    
    wnode1	dw label1-$, label1-$
    
    wnode2	dw label2-$
            dw label2-$
    
    label1  ld b,50
            halt
            djnz $-1
    		
    label2  ld b,50
            halt:djnz $-1
    результат:
    Код:
       C000 0C 0C       bnode1	db LOW (label1-$), LOW (label1-$)
       C002             
       C002 0F          bnode2	db LOW (label2-$)
       C003 0E          		db LOW (label2-$)
       C004             
       C004 08 00 08 00 wnode1	dw label1-$, label1-$
       C008             
       C008 09 00       wnode2	dw label2-$
       C00A 07 00       		dw label2-$
       C00C             
       C00C 06 32       label1	ld b,50
       C00E 76          		halt
       C00F 10 FD       		djnz $-1
       C011             		
       C011 06 32       label2	ld b,50
       C013 76          		halt
       C014 10 FD        		djnz $-1
    опаньки! почему в $C000 и $C004 числа одинаковые?
    получается, что $ равен адресу первого числа в def-строке, а не текущего! разве так правильно?
    тем более что, как видим ниже, для команд уже нет никакой разницы, первая она в строке или нет
    Прихожу без разрешения, сею смерть и разрушение...

  2. #1242

    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,195
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    правильно\неправильно - вопрос к автору той версии сджасма которую ты юзаешь....
    перенеси dw на новую строчку и не заморачивайся...
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  3. #1243

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rasmer Посмотреть сообщение
    правильно\неправильно - вопрос к автору той версии сджасма которую ты юзаешь....
    дык последнюю доступную 1.07rc7 (rc8 я по ссылкам не обнаружил)

    Цитата Сообщение от rasmer Посмотреть сообщение
    перенеси dw на новую строчку и не заморачивайся...
    для меня это заморачиваться как раз, некрасиво и чревато ошибками
    у меня байтовое бинарное дерево с переходом по смещению от листа
    и удобно, чтобы разветвления шли построчно, влево и вправо

    - - - Добавлено - - -

    Цитата Сообщение от krt17 Посмотреть сообщение
    По моему с дефами как раз правильно, а вот с кодом не совсем, по идее должно быть так же.
    ящетаю, всё должно быть ровно наоборот: в дефах $ должен соответствовать текущему элементу, а в кодовой строке - началу строки

    Цитата Сообщение от krt17 Посмотреть сообщение
    Хотя все эти переходы по $ и запись через : только ухудшают читаемость имхо.
    запись-то скорей улучшает, когда опы тесно связаны в одно действие (и при отладке их удобней закомментировать)
    Прихожу без разрешения, сею смерть и разрушение...

  4. #1244

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    ну вот и суть, задача не в реальном коде, а в необходимости имитировать генерируемые данные вручную
    нет, не суть, они не все генерируются

    Цитата Сообщение от krt17 Посмотреть сообщение
    Ну не знаю всегда коментил блоки по ctrl+/ хотя да хорошая причина сделать код нечитаемым,
    текст читаем лучше, когда глазу не приходится выискивать, где же в монотонном столбце отдельных команд начинается очередное цельное действие
    и когда листать поменьше приходится, потому что нет нужды каждый чих пустыми строками выделять, и на экране больше информации помещается
    Прихожу без разрешения, сею смерть и разрушение...

  5. #1245

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Есть вопрос, как удобней всего оформлять список объектов, когда затем в разных местах программы используются порядковые номера этих объектов (т.е. индексы)?
    Сделал через MAP, получилось что-то вроде:

    Код:
           MAP 0
    
    INDEX_0: #1  SETSPRITE 5, 6
    INDEX_1: #1  SETSPRITE 12, 1
    INDEX_2: #1  SETSPRITE 3, 7
    
    ....
    
    creature:
           DB INDEX_1, INDEX_2

  6. #1246

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Какой-то не понятный глюк в ужасме. делаю:
    Код:
    wascorrlogd:	INCBIN "corlogd_.bin"
    		ORG wascorrlogd
    
    		LUA ALLPASS
    			for i=1,256,1 do
    				l_scrtopx = sj.get_label("screen_topx") * 8
    				addr = sj.current_address+l_scrtopx
    				byte = sj.get_byte(addr)
    				sj.insert_define("_b", byte)
    				print("addr=",addr)
    				_pc("db _b")
    			end
    		ENDLUA
    т.е. погруженная табличка должна быть подправлена. ORG стоит, но по факты, кусок Lua кода исполняет код на 256 байт ниже. Т.е. это _pc("db _b") производит запись игнорируя ORG, соответственно, не с адреса, скажем #8500, с которой табличка, а с адреса #8600, сразу за ней. Косяк! Как это исправить? может я что-то не так делаю?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  7. #1246
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #1247

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    Как это исправить? может я что-то не так делаю?
    а так что напишет?
    Код:
    		display $
    wascorrlogd:	INCBIN "corlogd_.bin"
    		ORG wascorrlogd
    		display $

  9. #1248

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в том-то и дело, что в консоль пишет он всё верно и даже в логах (файл листинга) тоже всё верно. А в бинарном файле каша! Т.е. даже если заменить скрипт на lua на что-то типа:
    Код:
    wascorrlogd:
    	INCBIN "corlogd_.bin"
    	ORG wascorrlogd
    	DUP 256
    		db {$+(screen_topx*8)} & 0xff    ;альтернативная замена аласмовскому безобразию
    	EDUP
    то один фиг, ORG игнорируется и данные попадают сразу после инкбиненой таблички. Хрень какая-то.
    бинарник собираю не в снапшот, а именно в бинарник камандой типа sjasmplus.exe %1.asm --raw=%1.exe --lst=%1.lst (или принудительно через OUTPUT в теле исходника).
    Последний раз редактировалось Sayman; 15.04.2016 в 14:08.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  10. #1249

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну и конечно если нет никакого потаенного смысла может проще написать _pc("db "..byte) вместо дефайна

    - - - Добавлено - - -

    хо хо
    org при компиляции в raw ясен фиг не играет

    - - - Добавлено - - -

    компиль в девайс режиме и сохраняй savebin

  11. #1250

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да, я так и понял, что таблички собирать придётся отдельно. ацтой, чё. только почему в рав не играет, какая разница, оно что там бинарь, что так бинарь. тупость ужасмовская.
    и кстати, собирается всё и так с DEVICE ZXSPECTRUM128. Но только savebin спасает. бред в общем.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

Страница 125 из 167 ПерваяПервая ... 121122123124125126127128129 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  2. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03
  3. Хороший ПЦшный ассемблер - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 08.08.2005, 15:25
  4. ZX ассемблер (и не только?) с библиотеками
    от shade в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2005, 19:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •