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

User Tag List

Страница 2 из 19 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 182

Тема: DisAsm-11

  1. #11
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

  2. #12
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Декодирование дошло до точки, когда уже можно сохранять в файл (кнопка Сохранить теперь работает) и проверять правильность обратного ассемблирования, сборки и сравнения с оригиналом Сохранение в файл позволило увидеть две достаточно грубые ошибки декодирования операндов в определённых режимах адресации - поправил.

    Теперь буду выкладывать то, что получается при сохранении в файл на очередной доделке программы

  3. #13
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    327

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

    325

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

    256

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

    125

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

    86

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

    64

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

    18

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

    15
    К сожалению, эти 15 ошибок - ошибки класса Z, то есть инструкции, про которые MACRO-11 предупреждает, что они могу выполняться по разному на разных моделях PDP-11 - то есть это и не ошибки, а больше предупреждения...

    Код:
    .MACR ZKDJV2
    Z  1449 004540  000120                          JMP     (R0)+
    Z  1461 004562  000121                          JMP     (R1)+
    Z  1469 004576  000122                          JMP     (R2)+
    Z  1492 004652  000123                          JMP     (R3)+
    Z  1500 004666  000124                          JMP     (R4)+
    Z  1508 004704  000125                          JMP     (R5)+
    Z  1527 004742  000126                          JMP     (SP)+
    Z  1539 004766  000127  001127                  JMP     #1127
    Z  2997 011626  000121                          JMP     (R1)+
    Z  3227 012470  000127  000401                  JMP     #401
    Z  3355 013046  004421                          JSR     R4, (R1)+
    Z  3524 013532  004427  000240                  JSR     R4, #240
    Z  6120 023704  030252                          BIT     R2, @-(R2)
    Z  7302 027676  010222                          MOV     R2, (R2)+
    Z  9332 037242  020252                          CMP     R2, @-(R2)
    ?MACRO-E-Errors detected:  15
    DK:ZKDJV2=DK:ZKDJV2
    
    .
    Итак, код полученный из дизасма после добавления нескольких строк вначале
    Код:
    	.TITLE	TEST
    
    .NLIST
    	.INCLUDE	/KXX:ASCII.MAC/
    	.INCLUDE	/KXX:HWDF.MAC/
    .LIST
    
    	.ASECT
    	.=0
    и в конце
    Код:
    	.END
    прошёл трансляцию MACRO-11, ну наверное можно считать - без ошибок с точки зрения MACRO-11 С точки зрения MACRO-11 - потому как есть предполагаемые метки, которых нет на их местах... О причинах догадываюсь, попробую поправить. Да, и надо поставить .DSABL GBL, так как это - всё таки ошибки - пусть и MACRO-11 так считает

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

    Так что...

    48

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

    26

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

    21

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

    Ха, а это выползла другая ошибка, команда PDP-11, про которую забыл

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

    Ну, правда, и предыдущая - в паре мест...

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

    17
    Последний раз редактировалось Hunta; 02.03.2021 в 18:18.

  4. #14
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    15

    Исходник
    Листинг

    В исходнике есть несколько .ASCII/.ASCIZ блоков - они были описаны хардкодом в программе исключительно для отладки парсера .ASCII - пока функционала автоматического определения или ручного указания типа данных нет. Добавлю ручное, когда нарисую парсер для слов, байт и Radix50 Автоматическое - пока цель на будущее

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

    Следующий шаг - добавлю загрузку простых .SAV файлов и образов памяти типа загрузчиков, содержимое ПЗУ - на них можно будет проверить не только ассемблирование, но результат линковки

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

    Закомментировал хардкод блоков .ASCII/.ASCIZ - теперь ошибок 17, но все они Z

  5. #15
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил загрузку двоичных файлов-образов. Первым под раздачу попал загрузочный сектор для RK от операционки DOS/Batch-11

    Переделал подход к декодирование – стал немного более интеллектульным
    Плюс, немного пошаманил над генерацией меток.

    Результат (подход пока единый – загрузить нечто в дизассемблер и выгрузить в файл)
    Исходник
    MACRO-11 не выдал ни одной ошибки
    Листинг

    Позже гляну – что он сделает с .BIC файла теста

  6. #16
    Master
    Регистрация
    18.03.2011
    Адрес
    Воронеж
    Сообщений
    513
    Спасибо Благодарностей отдано 
    26
    Спасибо Благодарностей получено 
    10
    Поблагодарили
    9 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    интересно было бы реассемблировать ПЗУ от Т-11 или ПЗУ от ДВК, что бы получить исходник OTD.

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

  8. #17
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    интересно было бы реассемблировать
    Так в чём проблема - реассемблируйте. Проги и на PDP-11 и на PC есть.

  9. #18
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Игрался с программой. Много думал. Немного кодил

  10. #19
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделал нулевую версию анализатора (отслеживает ссылки из команд и ставит об этом метку на ячейках). Запуск можно сделать как с точки старта - при загрузке (если в файле есть такая инфа) или при ручном указании точки старта. Или запустить с текущего адреса.

    И совсем отказался от подхода - тупо пробуем дизасмить всё подряд

    Начал добавлять функционал ручных подсказок.

    Теперь через интерфейс одним щелчком мыши (клавиатурные шоткаты грядут)
    как собрать строку
    так и распилить её в нужном месте

    Причём последнее может сделать и анализатор, если обнаружится ссылку внутрь строки. Всё, что для этого ему нужно - поставить флаг - на ячейку есть ссылка. Распил строки и расстановка меток будут сделаны автоматически

    Некоторое время - на игры, исправление ошибок, доработку интерфейса и общения с программой, а потом сделаю сохранения текущего состояния процесса дизасма. Пока играюсь и отлаживаюсь на двух файлах, но ещё чуть чуть и программу уже можно будет использовать по назначению. И тогда без возможности прерваться с сохранение игрушки - будет тяжело

  11. #20
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,999
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию DisAsm-11

    Доработанный пользовательский интерфейс

    Гоняю третьего подопытного кролика. Цели – большее удобство использования, некоторые ковыряния с ASCII, некоторые ковыряния с метками, исправление ошибок

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

    199

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

    119

    практически все - неопределённые метки Но есть и прикольные Где то я при декодировании команды забыл число вывести в восьмеричном виде и оно выплёвывается в десятичном. И всё бы ничего, но вот 8 и 9 MACRO-11 не нравятся Странно

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

    В целом, всё ближе к проверке века - дизассмеблировать-ассемблировать-слинковать-сравнить с оригиналом

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

    Первая версия программы, в которой я поправил косяк декодирования (данные были декодированы как код), сгенерил новый выходной файл и получил...

    107

    ошибок До этого момента я выходил из программы, правил её текст, запускал заново, повторял процедуру уточнения типов ячеек (в основном выделял строки, формировал указатели на данные и подпрограммы, подсказывал, что это данные, а это код) и заново генерил выходной файл

    В целом программа всё ближе для боевого применения
    Последний раз редактировалось Hunta; 08.03.2021 в 22:45.

Страница 2 из 19 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Disasm with Sts 7.5...
    от Stl75 в разделе Софт
    Ответов: 3
    Последнее: 25.06.2018, 11:28

Ваши права

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