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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: ZX Turbo Disassembler v2.00

  1. #1

    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    485
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    73 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ZX Turbo Disassembler v2.00

    По идее эту тему надо бы в раздел СОФТ, но учитывая назначение программы, решил все же сюда. Итак, фактически AboutMe с диска.

    ZX Turbo Disassembler

    version 2.0

    (c) 1996 Инозецев Алексей
    (с) 2020 V.Rubts0FF

    Много раз я пытался дизассемблировать эту лучшую, пожалуй единственную программу, правильно выполняющую поставленную задачу -
    получение исходных текстов исследуемого чужого, а иногда и своего кода.

    Лично мне не хватало элементарных в общем вещей, и это:

    1. Поиск по файлу
    2. Закладки
    3. При переходе по CALL / JUMP запоминать и возвращаться не только один последний адрес, но и еще хотя бы сколько.

    Конечно это не единственное, но уже что то.

    Многочисленные попытки не увенчались успехом, в какой то момент вносимые изменения приводили к потере
    работоспособности программы. Причин здесь несколько и сейчас об этом не будем.

    В очередной раз я вернулся к этой теме благодаря .., в общем я хотел перейти со своего "Шалаева" на что нибудь другое и
    этим другим оказался xpeccy. Что бы привыкнуть, нужно что то делать и вот было решено в этом эмуляторе делать это.

    К слову сказать, после двух вылетов, я даже не понял причин, на ровном месте, xpeccy был отложен в сторону и работа
    продолжилась под эмулятором Шалаева

    Вот и подошли к главному, но вначале о том что не сделано.

    Сам дизассемлер не изменен никак, я собственно с ним особо не разбирался и понятия не имею как он работает, хотя он
    мне кажется странным. Так что токеницация мнемноник z80 так же не изменилась.

    Так же в угоду совместимости с оригинальной версией, адреса work-файла так же сохранились.

    Что же изменилось:

    1. исчез пунк View как бестолковый, после загрузки файла, Prog или Work, сразу попадаем в режим, так сказать редактирования.

    3. вместо VIEW сделан пунк EDIT и он имеет пункты:

    - Find - поиск, можно ввести как текст, так и hex, использовать маску;
    - Find Next - продолжить с последней позиции;
    ¦ Goto addr - Переход по введенному адресу;
    ¦ Start Addr- определить начальный адрес программы, NewStart;
    ¦ DEC/Hex - переключение системы счисления dec/hex
    ¦ Save point- запомнить позицию в файле 10 ячеек.
    ¦ Goto point- перейти на одну из сохраненных позиций.

    Все это так же вызывается из режима так сказать редактирования.

    [m] - переход по введенному адресу;
    [f] - Find
    [n] - Find Next
    [y] - Save point
    [t] - Goto point - в ZAsm'е bookmark на тех же кнопках.

    Так же, при переходе по адресу/метке CALL/JUMP - [j] - Jump, [b] - Back реализован стек на 8 или 10 адресов, а не один как было ранее.

    4. Пунк Options - там ничего нет, так как нет места. Сейчас поясню.

    Каждая ячейка памяти файла описывается 2-мя битами и для хранения этой информации, выделена память, для совместимости с оригинальной версией эти адреса трогать не могу и пока не хочу.

    И вот зазор между программой и этой памятью совсем ничего 200-300 байт.

    Решение есть, но эту пробную версию хочу оставить так как есть.


    В общем с целью выявления ошибок, а они могут быть, хотя сейчас вроде бы все работает, но с имитировать все возможные
    ситуации сложно.

    5. Планы.

    Перво-наперво все же разобраться с самим дизассемблером, мне это все то же не очень нравиться. Мнемоники z80 хотя и
    считаются совместимыми с ZAsm'ом, но без импорта - syntax error. Как с этим бороться - еще не решил.

    Что еще, хочу полный шрифт, хотя это и не так важно, хочу элементарные вещи по редактированию исследуемого файла, как в
    самом обычном мониторе, в том числе FILL, COPY.

    Но в ближайшие дни буду испытывать эту версию и прощу присоединиться к этому.

    Так же выслушаю все пожелания и сообщения о найденных ошибках.

    25.04.2020 V.Rubts0FF
    В архиве zxd2exe.C - без basic загрузчика, вместо этого zxd2run - файл для ZAsm`а, так же несколько примеров включая ZXDv1 и AboutMe. Практически копия того что выше.
    Вложения Вложения

    Эти 5 пользователя(ей) поблагодарили Rubts0FF за это полезное сообщение:

    Azm(23.05.2020), bigral(26.04.2020), Evgeny Muchkin(21.05.2020), Sergey(20.04.2023), Дмитрий(19.01.2021)

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

  3. #2

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    385
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О, не только я дизасемблированийем занимаюсь в самоассимиляции.
    Так, к слову, один известный дизасм, по крайней мере в той версии, что у меня, не понимает код 0ED 70, и говорит - отлюбись, это данные и все тут.
    Profi v3.2 -=- Speccy2010,r2

  4. #3

    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    485
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    73 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    О, не только я дизасемблированийем занимаюсь в самоассимиляции.
    Одно из интереснейших время препровождения. Особенно в былые времена. Правда чаще под STS`ом, но и этой софтиной пользовался часто. Бывает так же интересно и полезно посмотреть на свои собственные программы, с этой точки.

  5. #4

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    385
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    на чужие тоже интересно смотреть. ну тогда вот дизасменный код, три-пять строчки:
    Код:
                    call    loc_82C9+1
    ..
    ..
    sub_82C7:       ld      a, 21h
    loc_82C9        ld      bc, 0CD3Eh
                    ld      (loc_8408), a
                    ret
    Какой сакральный смысл,( с т.з. программера) - переходить ( в данном случае call-ом ) в середину операнда, там другой код образуецца)?? и таких перехода как минимум три. А по другому не дизамблица, ибо на sub_82C7 то жи переходы есть
    Profi v3.2 -=- Speccy2010,r2

  6. #5

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    на чужие тоже интересно смотреть. ну тогда вот дизасменный код, три-пять строчки:
    Код:
                    call    loc_82C9+1
    ..
    ..
    sub_82C7:       ld      a, 21h
    loc_82C9        ld      bc, 0CD3Eh
                    ld      (loc_8408), a
                    ret
    Какой сакральный смысл,( с т.з. программера) - переходить ( в данном случае call-ом ) в середину операнда, там другой код образуецца)?? и таких перехода как минимум три. А по другому не дизамблица, ибо на sub_82C7 то жи переходы есть
    я такое на mos6502 регулярно встречал.
    а это точно не часть защиты?
    С уважением,
    Jerri / Red Triangle.

  7. #6

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    385
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    а это точно не часть защиты?
    чехи писали. се может быть. но это уже код после кучи распаковок и расксорок и перемещений, это уже исполняемый код.И он работает, так что не особо важно, но просто интересно
    Profi v3.2 -=- Speccy2010,r2

  8. #7

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
                    call    sub_82CA
    ..
    ..
    sub_82C7:       ld      a, 21h
    		db	01h		;ld bc
    sub_82CA:	ld	a, 0CDh
                    ld      (loc_8408), a
                    ret
    Это не защита, а экономия кода.
    На MSX я очень часто видел целые цепочки таких конструкций, когда надо в одну ячейку писать разное содержимое. Надо только иметь ввиду, что в результате портится содержимое BC.
    Последний раз редактировалось caro; 26.04.2020 в 05:44.

    Этот пользователь поблагодарил caro за это полезное сообщение:

    jerri(26.04.2020)

  9. #8

    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    485
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    73 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ZX Turbo Disassembler v2.01

    ZX Turbo Disassembler v2.01 - работа над ошибками.

    @+* - я не знаю что это такое и о чем я думал заключая их в скобки. :-)

    [@] Fix Error - при DEFB "&" только "", так как сивол "&" - управляющий код при печати - выделение символа красным цветом,
    xor %10, горячая клавиша.

    [@] Fix Error - выбор файла, при наличии в каталоге удаленных, адрес файла определялся неверно.

    В режиме редактирования:

    [+] SS+q в начало файла;
    [+] ss+e в конец файла, насколько это получается.
    [+] в режиме ввода, Input, SS+w меняет вид курсора Ins/Over, хотя программе ввода это все равно;
    [*] изменил подменю {Disassm}, пункты дизассм переместил вверх, вроде так логичней.

    [+] Options - доступен пока вы не загрузили файл и работают не все пункты.
    - не работает Save Setup
    - не работает Load Font, он еще не используется в программе.

    Что работает:

    Keyboard - здесь можно вкл/выкл Beep'ер, насторить скорость опроса клавиатуры, скорость мерцания курсора и его вид, может быть Bold (#C0)

    Colours - цвет можно настроить только для интерфейса, цвета дампа / листинга настроить сложно, так как в программе они не собраны
    в определенных переменных, а разбросаны везде и я этим пока не занимался.

    AboutMe - в общем бесполезное, но пока есть.

    27.04.2020 V.Rubts0FF
    В архиве кроме самого zxd2exe, загрузчик на бейсике и несколько примеров с work-файлами в том числе ZXD1.
    Вложения Вложения

    Этот пользователь поблагодарил Rubts0FF за это полезное сообщение:

    Дмитрий(19.01.2021)

  10. #9

    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    485
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    73 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ZX Turbo Disassembler v2.02

    ZX Turbo Disassembler v2.02 - возможно последняя версия. Все что запланировано на первом этапе сделано. Итак, начнем сначала, ReadMe с диска

    ZX Turbo Disassembler

    version 2.02

    (c) 1996 Инозецев Алексей
    (с) 2020 V.Rubts0FF

    О самом дизассемблере лучше почитать описание к оригинальной версии, от ее автора.

    Здесь же только о внесенных или не внесенных изменения, или отличия.

    Сам дизассемблер не изменился никак и совместим с оригинальной версией, имеется ввиду возможность загрузить work-файл,
    созданный прежней версией.

    Так же никуда не делась эта странная токенизация мнемоник z80 - на этом этапе такая задача не ставилась.

    Теперь об изменениях.

    1. Исчез пунк меню VIEW, как ненужный

    2. Появился пунк меню EDIT, который имеет следующие пункты:

    - Find - поиск, можно ввести как текст, так и hex, использовать маску;
    - Find Next - продолжить с последней позиции;
    - Goto addr - Переход по введенному адресу;
    - Start Addr- определить начальный адрес программы, NewStart;
    - DEC/Hex - переключение системы счисления dec/hex
    - Save point- запомнить позицию в файле 10 ячеек.
    - Goto point- перейти на одну из сохраненных позиций.

    Все это так же вызывается из режима так сказать редактирования. Об этом подробнее в "help".

    4. Options - имеет слудуюшие пункты:

    Keyboard - здесь можно вкл/выкл Beep'ер, - настроить скорость опроса клавиатуры, скорость мерцания курсора и его вид, может быть Bold (#C0)

    Colours - цвет можно настроить только для интерфейса

    SaveStup - Сохранить настройки и после следующем запуске "ZXD2", настройки будут загружены с файла "zxd2set"

    AboutMe - в общем бесполезное, но пока есть.

    28.04.2020 V.Rubts0FF
    Так как большинство, включая меня, никогда не читают "Руководства пользователя", короткий "Help" с диска.

    ZX Turbo Disassembler

    version 2.0x

    Help

    Собственно перечень кнопок при работе с дампом/листингом файла, редактировании так сказать.

    Общие кнопки:

    SS+3 - переключение системы счисления Hex/DEC;

    SS+4 - переключение режима Disasm/Hex

    SPACE - выход в основное меню;

    CS+4 - станица вниз;
    CS+5 - страница вверх или наоборот;
    CS+5,6,7 - перемещение курсора;
    SS+Q - в начало файла;
    SS+E - в конец файла;

    1 - определить блок как DEFB;
    2 - /-/-/-/-/-/-/-/-/-/ DEFW;
    3 - /-/-/-/-/-/-/-/-/-/ ASM;
    4 - /-/-/-/-/-/-/-/-/-/ DEFS;
    q - отметит начало блока;
    a - отметить конец блока;
    z - выключить отметку;
    y - сохранить позицию;
    t - перейти на одну из сохраненных позиций;
    m - перейти на введенный адрес;

    f - поиск, открывается диалог;
    n - продолжить поиск;

    Кнопки в режиме DISASM

    j - перейти на адрес под курсором, в случае инструкций call/jump;
    l - переключение метка/не метка, например в случае: LD BC,L7FFD - это не метка, а
    порт переключения страниц и так можно это отключить.
    b - возврат с перехода по [j], в этой версии переходы можно делать многократно.
    r - поиск откуда вызывается этот адрес/метка
    R - продолжение поиска [r]
    i - проверка наличия неверных call/jump, например если вызов ведет внутрь блока DEFS;
    I - продолжение поиска неверных [i] call/jump;

    Кнопки в режиме HEXDUMP

    CS+9 - переключение курсора между hex/ascii дампом;

    Похоже все.

    28.04.2020 V.Rubts0FF
    Прежде чем что то делать дальше, хочу по-пользоваться этим. Вот например завис вопрос, нужен ли полный (256 символов) шрифт, когда то казалось что очень нужен, сейчас в этом уверен не так и хватает ПЗУ-шного.
    Ладно, найдете глюки - сообщайте, будут пожелания - так же пишите сюда. На zx.pk.ru захожу довольно редко, просматриваю чаще. Поэтому сообщение в теме я увижу быстрее, а "личке" оно может проваляться не одну неделю.

    З.Ы. Самое главное, и в "ReadMe" тоже нет. Пункт меню "Options" становиться недоступным после операции дизассемлирования на диск, точнее
    если встретиться инструкция DEFS - что фактически INSERT, вот эта операция его, "Options" и прибивает. Ну уж пока так.
    Вложения Вложения

    Эти 2 пользователя(ей) поблагодарили Rubts0FF за это полезное сообщение:

    inozemcew(28.04.2020), Дмитрий(19.01.2021)

  11. #10

    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    485
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    73 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ZX Turbo Disassembler v2.03

    Цитата Сообщение от Rubts0FF Посмотреть сообщение
    ZX Turbo Disassembler v2.02 - возможно последняя версия
    - ха-ха-ха.
    Когда занимаешься какой то частью программы об остальном забываешь. В общем внесены некоторые изменения.
    Когда дизассемблировал ZXD2 - обнаружил пп. без RET.
    Сообщения об ошибках - выглядело это ужасно, сейчас должно работать правильно;
    Что еще - Числа в HEX сделал по умолчанию.

    Да, при просмотре каталога/выборе файла - курсорные кнопки - перемещение по каталогу;
    CS+1 - меню выбора дисковода;
    SS+0 - +/- удаленные файлы в каталоге;

    Что еще, в начале я собирался в архив добавлять и исходные тексты, да и сейчас об этом думаю, просто пока идет тестирование в общем. А вот потом задумался, с учетом назначения программы, может это и не надо. Пока вопрос открытый.
    Вложения Вложения

    Эти 2 пользователя(ей) поблагодарили Rubts0FF за это полезное сообщение:

    Sergey(20.04.2023), Дмитрий(19.01.2021)

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 9
    Последнее: 15.06.2020, 02:02
  2. Ответов: 33
    Последнее: 24.12.2019, 10:17
  3. z80 disassembler
    от Shiny в разделе Утилиты
    Ответов: 8
    Последнее: 30.10.2019, 09:26
  4. Ответов: 1
    Последнее: 14.01.2018, 19:24

Ваши права

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