Ничего недок не поддерживает. Я почти все свои дизасмы делал через него. А имена меток меняю в текстовом редакторе, по мере разбора исходника.
Ну это на безрыбье же. Сейчас-то зачем изголяться. Я тоже че-то там дизассемблировал в ZXD, получалось нормально, но с IDA не сравнить.
---------- Post added at 16:30 ---------- Previous post was at 16:29 ----------
Ну вот я как раз пример и написал, что если надо поменять Print, а у тебя кроме Print еще куча, начинающихся с Print, будет хреновато.
ага, ни искал, точно
проcто использовал на Корвете resourcer
вот вытянул для фомы доку со своего диска рабочего тех времен
Код:
Oперационная система CP/M.
Диалоговый дизассеммблер.
Руководство оператора.
Содержание.
1. Введение.....................................................
1.1. Возможные ошибки...........................................
2. Описание команд............................................
2.1. команда ";" - ввод коментария.............................
2.2. команда "A" - поиск DB....................................
2.3. командА "B" - ввод меток..................................
2.4. команда "C" - корректировка управляющей таблицы...........
2.5. команда "D" - вывод содержимого памяти....................
2.6. команда "E" - ввод меток в таблицу символов...............
2.7. команда "F" - поиск адреса или метки......................
2.8. команда "K" - удалить метку...............................
2.9. команда "L" - вывод листинга..............................
2.10. команда "O" - установка смещения..........................
2.11. команда "P" - создание пролога............................
2.12. команда "Q" - подавление вывода на консоль................
2.13. команда "R" - чтение файла................................
2.14. команда "S" - запись на диск..............................
2.15. команда "U" - определение области коментариев.............
2.16. команда "Z" - закрыть файл .ASM...........................
3. Пример дизассемблирования.................................
4. Краткий перечень команд...................................
1. Введение
RESOURCE - диалоговый дизассемблер, который был разработан
не по заранее составленноме плану, а в результате длитeльного
общения с компьютером,и который модифицировался свыше двух лет
постановки в СР/М.
Структура RESOURCE.
RESOURCЕ - этo файл типa СОМ, который занимает при работе
адреса С 100Н до 1700H, за которыми идет стек, начиная с 1800Н
располагается управляющая таблица на 512 входов по 3 байта каж-
дый, которая определяет формат листинга, получаемого дизассембле-
ром т.е. выявление DB, DS, DW команд D т.д. начиная с 1Е00Н
располагается таблица символических имен, она не имеет определен-
ной длины и если символические имена не используются, занимает
два байта.
---------- Post added at 16:55 ---------- Previous post was at 16:49 ----------
при загрузке можно указать куда конкретно грузить
дальше просто перейти по нужному адресу и нажать "C" Code
я кстати ингода делаю полный дамп состояния памяти
(чтобы все переменные например были в рабочем состоянии)
а далше уже гружу все и начинаю с нужного адреса
ида вообще при заргузке кода как Z80 пишет при старте что не знает где взять адрес начала и говорит что надо начать самому.
много разных утилит:
http://trd.speccy.cz/sbor.php
Ассемблеры Z80 для PC и сопутствующее
http://www.worldofspectrum.org/utilities.html
CROSS-DEVELOPMENT
ftp://ftp.worldofspectrum.org/pub/si.../pc/SPEDIZ.zip
Цитата:
SPEDIZ: Spectrum Dizassembler v1.5 (PC/Windows), by SerzhSoft.
Can disassemble Z80 code, the result of which can then be fed again to e.g. SjASMPlus.
На этом ресурсе буду складывать и для Z80 инструменты которые можно использовать в Gentoo Linux помимо штатных из portage, некоторые ebuildы написаны мною лично:
http://portage.perestoroniny.ru/dev-embedded/
В пакете CP/M от ASC был дизассемблер под названием "DISZILOG". Там в консольном режиме можно было указать участки, где размещается код, а где - данные (и в каком они формате). Процедура дизассемблирования получалась итерационной: сначала примерно намечаешь отладчиком границы кода и данных, потом по мере понимания программы уточняешь координаты и запускаешь процесс заново. Также этот дизассемблер умел находить "мертвые" участки кода, перед которыми стоит команда безусловного перехода или возврата и к которым нет обращения командами перехода или вызова. Иногда даже эти "находки" оказывались верными. С помощью этого дизассемблера я в свое время успешно разобрал "библиотекарь" LIB80 с целью изучения формата REL и несколько музыкальных плееров на AY. С IDA не сравнить, но на реале на то время ничего лучшего в моем распоряжении не было.
подскажите алгоритм перевода игр выложенных на worldofspectrum в удобночитаемый код? c/c++ ?