Важная информация

User Tag List

Страница 17 из 167 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя
Показано с 161 по 170 из 1664

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

  1. #161
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    101 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, IDA Pro это мощь... Хм, а может кто напишет простую инструкцию по дизассму спековских прог (а то реально что-то не очень хочется вникать в эту кучу менюшек), ну что-то типа фаст гайда для чайников?
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  2. #162
    Banned Аватар для psndcj
    Регистрация
    22.02.2005
    Адрес
    triebkraft
    Сообщений
    712
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Оффтоп конечно уже, так как к теме асма никакого отношения не имеет...
    Лично я отдизасмил 48ю игрушку одну довольно просто, имхо все весьма интуитивно - правой кнопкой мыши тыкаешь в текст - узнаешь горячие кнопки и вперед =) проблемы какие-то правда иногда возникают с двухбайтовыми переменными (у которых к любому байту обращение), а еще с адресами, к которым обращение идет - hl, adr: de, adr+1... ну и в идеале неплохо было бы с 128ми прогами научиться работать... Отдельная тема наверно нужна - ну и люди заинтересованные в этом....

  3. #163
    Member Аватар для Vasil
    Регистрация
    02.10.2006
    Адрес
    Тверская обл.
    Сообщений
    149
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Aprisobal
    Вышла новая версия 1.07 RC4bf.
    Важный багфикс в функциях генерации кода.
    Качать: http://sourceforge.net/project/showf...roup_id=173915
    Я по-началу был очень обрадован этим асмом, думал нашел то, что долго искал, но постепенно начали вылезать нехорошие моменты, что меня очень огорчает.

    Баги в v1.07 RC4bf (build 02-12-2006).

    1). Баг в отработке директивы "EXPORT" - не продвигается (?) входящий поток, поэтому компилятор ругается. В оригинальном компиляторе (2-х проходном) такого бага нет.
    Пожелание: Было бы не плохо для "EXPORT" перечислять имена меток через запятую, а не прописывать для каждой метки директиву "export".

    2). Баг с выводом hex-чисел для "EQU" (по опциям --sym, --exp), если число занимает все разряды (т.е. оно 32-х битное) и самый старший разряд начинается с A..F. Измени формат записи числа - ставь ведущим "#" или "0x" вместо концевого "h".

    3). Тоже что-то там с входящим потоком, ругается на следующий код:
    Код:
            db   0,0,0,0,0,0,0,0,0,0,0
            ;
    T0C83:  db   "Ё",1Bh,"!",'"',"#","$",":",",",".",";","?","%","_","+",8
    Оригинальный асм это компилит без проблем.

    4). И еще одна ситуация. Не переваривает например такую запись байта:
    Код:
          ld   a,"\"
    Понятно, что для записи обратного слэша нужно юзать "\\", но правильней все же записывать как "\". Такая запись применяется во всех асмах (кроме этого). Это как-то криво, записывать ld a,"\\"

    Вобщем ты увлекся второстепенными фитчами, а про сам асм забыл. Исправляй ситуацию.

  4. #164
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vasil Посмотреть сообщение
    3). Тоже что-то там с входящим потоком, ругается на следующий код:
    Код:
            db   0,0,0,0,0,0,0,0,0,0,0
            ;
    T0C83:  db   "Ё",1Bh,"!",'"',"#","$",":",",",".",";","?","%","_","+",8
    Попробуй плз версию, которая приклеплена к сообщению. [...вышла.новая.версия...]

    Цитата Сообщение от Vasil
    4). И еще одна ситуация. Не переваривает например такую запись байта:
    Код:
          ld   a,"\"
    Понятно, что для записи обратного слэша нужно юзать "\\", но правильней все же записывать как "\". Такая запись применяется во всех асмах (кроме этого). Это как-то криво, записывать ld a,"\\"
    Ориентировка была не на спековские асмы(думаю ты их упомянул), а на современные стандарты. Также как и в C, C++, C#, PHP, Perl, JavaScript и пр. в двойных кавычках "" SjASMPlus (и оригинальный SjASM) обрабатывает управляющие последовательности типа \n, \t, \r... Просто в SjASMPlus сделал так, что в одинарных кавычках '' управляющие последовательности не действуют.


    После недавнего общения с Alone Coder'ом составил следующий полезный LUA скрипт. Вставляю сюда, чтобы не пропало.
    Код:
    	LUA
    -- Функция увеличивает на 1 число, записанное в файле fname и создает define с именем BUILD для, например, директивы DISPLAY
    -- Пример использования функции см. ниже.
    -- Внимание! Самостоятельно создайте пустой файл build.txt, иначе функция не будет работать
    	function increase_build(fname)
    		local fp
    		local build
    		fp = assert(io.open(fname, "rb"))
    		build = tonumber(fp:read("*all"))
    		assert(fp:close())
    		if type(build) == "nil" then
    		    build = 0
    		end
    		build = build + 1;
    		sj.insert_define("BUILD", build)
    		fp = assert(io.open(fname, "wb"))
    		assert(fp:write( build ))
    		assert(fp:flush())
    		assert(fp:close())
    	end
    
    	increase_build("build.txt")
    	
    -- Создать define "TIME" с текущим временем
    	sj.insert_define("TIME", '"' .. os.date("%Y-%m-%d %H:%M:%S") .. '"')
    	ENDLUA
    	
    ; отобразим время и номер сборки
    	DISPLAY "Build time: ", TIME
    	DISPLAY "Build number: ", /D, BUILD
    Последний раз редактировалось Aprisobal; 25.04.2007 в 10:49.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  5. #165
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1) "sub a,*" ассемблируется в две команды "sub a" и "sub *", что выбивается из ряда "add/adc/sbc a,*", совпадающих при ассемблировании с "add/adc/sbc *" (хотя формально все правильно, выглядит нелогично).

    2) СЕРЬЕЗНЕЙШИЙ БАГ - директивы "ORG $-n" (и "ORG $+n") не влияют на бинарник, хотя в листинге отражаются правильно!! (хотел панимаиш встроить в макросы оптимизацию, а тут такой облом)
    Прихожу без разрешения, сею смерть и разрушение...

  6. #166
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    1) "sub a,*" ассемблируется в две команды "sub a" и "sub *", что выбивается из ряда "add/adc/sbc a,*", совпадающих при ассемблировании с "add/adc/sbc *" (хотя формально все правильно, выглядит нелогично).
    По справочнику всё ИМХО логично. Сам из оригинального асма это убрал.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    2) СЕРЬЕЗНЕЙШИЙ БАГ - директивы "ORG $-n" (и "ORG $+n") не влияют на бинарник, хотя в листинге отражаются правильно!! (хотел панимаиш встроить в макросы оптимизацию, а тут такой облом)
    Как понял ты пишешь про бинарник, который задается директивами OUTPUT (или который выдается в файле *.out). ORG не в режиме, устанавливаемом дир-ой DEVICE, работает почти как DISP/PHASE/TEXTAREA, т.е. просто задает виртуальный адрес, а все данные компилятор одним потоком сует в выходной файл.
    Советую использовать директиву DEVICE и доступные после директивы SAVEBIN, SAVETRD, SAVESNA и т.д.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

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

  8. #167
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Aprisobal Посмотреть сообщение
    ORG не в режиме, устанавливаемом дир-ой DEVICE, работает почти как DISP/PHASE/TEXTAREA, т.е. просто задает виртуальный адрес, а все данные компилятор одним потоком сует в выходной файл.
    А если неохота привязываться к устройству? Вон на песюке же такой номер сразу же проходит, а там ведь сначала формируется obj... Имхо как должно быть: в out выводится участок от минимального из всех случившихся значений счетчика размещения до текущего (на момент END). Как вариант - до максимально случившегося значения.

    Еще вопрос: LUA вообще нельзя в макрах использовать, или я че-то неправильно делаю? (пишет unexpected end of file)
    Последний раз редактировалось Lethargeek; 25.04.2007 в 08:21.
    Прихожу без разрешения, сею смерть и разрушение...

  9. #168
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    А если неохота привязываться к устройству? Вон на песюке же такой номер сразу же проходит, а там ведь сначала формируется obj... Имхо как должно быть: в out выводится участок от минимального из всех случившихся значений счетчика размещения до текущего (на момент END). Как вариант - до максимально случившегося значения.
    Пока не смогу сделать твой вариант. Может быть FPOS поможет решить твою проблему? К сообщению приложил версию, в котором эта директива добавлена (в предыдущей версии была сделана, но не вставлена в обр-ик директив). [...вышла.новая.версия...]

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Еще вопрос: LUA вообще нельзя в макрах использовать, или я че-то неправильно делаю? (пишет unexpected end of file)
    Нельзя.
    Последний раз редактировалось Aprisobal; 14.05.2007 в 01:57.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  10. #169
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а можно сделать, чтоб после фразы

    "Errors: 6072, warnings: 0, compiled: 2343 lines, work time: 20.293 seconds"

    он ставил ентер? а то если делать echo в батнике, оно сразу за этой сторокой пишется..

    спасибо

  11. #170
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    а можно сделать, чтоб после фразы

    "Errors: 6072, warnings: 0, compiled: 2343 lines, work time: 20.293 seconds"

    он ставил ентер? а то если делать echo в батнике, оно сразу за этой сторокой пишется..

    спасибо
    20.293 seconds - что-то очень долго.
    Ок, сделаю в след. версии.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

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

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

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

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

Похожие темы

  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

Ваши права

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