-
Вроде и вектора-призраки привёл в чуйства :)
- - - Добавлено - - -
Добавил описание макровызова .LOAD - я в тот момент ещё вспоминал - как я макросы реализовал, этот показался сложным и я отложил его.. :)
Поправил (возможно, не всегда корректно) числа в ссылки.
.MAC по результат сборки и восстановления исходника по прежнему совпадает :)
Через какое-то время сравню с .MAC, который я начал делать до добавления генерации макровызов (сделал их руками) - посмотрим, что будет на предмет совпадения :)
-
Проверка ручной генерации и генерации в DisAsm-11 макровызовов пройдена успешно :)
На самом деле, макросы XXDP ещё надо проверить по исходникам монитора - много макросов БЕЗ аргументов и по крайне мере в отношении некоторых точно известно (исходники мониторов), что аргументы передаются. Ну это постепенно.
-
В процесс проверки восстанвливаемых текстов из LDA добавил доп проверку. Теперь утилитой LDAUtils делаю двоичные файлы и сравниваю так же их. Пока сюрпризов нет - если сравнились результаты автоDisAsm-а, сравниваются и двоичники.
- - - Добавлено - - -
Наткнулся на неточность в поведении DisAsm - если поменять метку, на которую ссылается команда, то всё ок, в команде метка также меняется, но если эта команда часть макровызова - то в макровызове не меняется. Технически обходится элментарно, но... надо будет посмотреть и поправить :)
-
На самом деле, есть ещё один зависимый от PDP-11 модуль - генератор исходника. Но надо было время немного поиграться-потестировать с тем, что уже было сделано плюс - подумать над тем - как избавить его от зависимостей :)
Первый шаг сделан - в окнах показывается теперь более-менее полноценный исходник
Добавленное удалено из процессе генерации исходника. Но там есть ещё нюансы, в частности - файлы с перекрытиями. Поэтому - то, что было очевидно - вырезано, дальше буду смотреть и думать
-
По результатам доработок, а так же экспериментов с .TSK с перекрытиями - внутренние переработки.
Скорее всего, по результатам будет версия DisAsm-11, генерирующая несколько файлов для программ с перекрытиями (по файлу на каждое перекрытие). Там ещё остаётся много вопросов, но - постепенно буду двигаться :)
Возможно, по результатам попробую добавить так же в .SAV
-
Как это (может) (будет) выглядет
Пока ещё пристрелка, есть ошибки и не всё работает, но - дерево перекрытий слево уже не только просто демонстрация :)
Дальше - пошёл спать :)
-
Переделка внутреннего механизма ссылок.
Не помню уже, почему было реализовано так, как было реализовано (это ещё из первой версии дизасма), но для работы с оверлеями, как оказалось, не сильно удобно.
Поэтому (для начала) изменил сам механизм хранения ссылок, а сейчас в процессе размышления, как лучше сделать для поиска ячейки по адресу - просто поиск, естественно, есть, теперь поиск и по другим перекрытиям - но в нём есть нюансы. По дереву вниз - без проблем, а вот вверх по дереву...
-
Внутренние переделки.
Внешне почти не заметно
Изменилась взаимосвязь внутренних объектов - теперь проще будет искать по перекрытиям. По крайне мере - я так надеюсь :) Так как до поиска ячеек по перекрытиям пока не добрался - всякие внутренние переделки, эксперименты и переделки по результатам переделок..
-
Продолжается зачистка ядра DisAsm-а от PDP-11 зависимостей, в первую очередь - интерфейса (графического и командной строки). Есть ещё большая зависимость в генераторе .MAC файла (в первую очередь - от .SAV), его в планах переделать (.SAV - по аналогии с .TSK), что бы он стал просто циклом прохода по всем ячейкам и вывода их содержимого в файл - примерно как оно сейчас выводится в окошках. Так что пока ничего нового...
-
Наверное, самая большая переделка за последнее время.
- Переделано отображение информации об оверлеях (основное окно дизасма и окна операндов)
- Количество окон операндов теперь динамическое (если процессор не двухоперандный :) )
- Внутренние зачистки и рефакторинг
Из существенно недоделанного - столбец ссылок всё ещё расчитан на двухоперандый проц - нужен сделать по аналогии с оверлеями. Ну и генератор исходника нужно допилить по двум направлениям - избавление от PDP-11 зависимости и генерация файлов для всех оверлеев, а не только корневого :)
Как теперь выглядит окно DisAsm-11 сразу после запуска
После открытия файла визульных изменений нет - пока не добавлю ноль-, одно- или более двух- операндный проц :)
Ну и вторая версия так и не вышла из состоянии беты - плавно перетекла в третью бету :)
- - - Добавлено - - -
Ошибся :) Столбец ссылок - это не ссылки на операнды :) Это ссылки на четный (младший) и нечётный (старший) байты текущей ячеки.. :) Ок, всё что успел надумать - в корзину :)