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

User Tag List

Страница 7 из 10 ПерваяПервая ... 345678910 ПоследняяПоследняя
Показано с 61 по 70 из 91

Тема: Тесты ВМ1

  1. #61
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ок.
    Уже установил IDA 6.1 и поставил надстройку от Patron вот отсюда:
    http://zx.pk.ru/showthread.php?postid=367209
    правда она для версии 5.2, но вроде как работает.

    Некоторые команды не распознаются, например
    .Word 7002 или
    .Word 7601
    но возможно я уже залез в блок констант.

    Межблочная шина МПИ. Думаю зацепиться на неё и посмотреть что куда пересылается.
    Последний раз редактировалось darkstar; 05.11.2013 в 19:27.
    Нет ничего более вечного чем то, что обмотано синей изолентой

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

  3. #62
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,133
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разрешите сообщить начинающему ( программисту ), что самой лучшей ковырялкой из всех, что за 28 лет я видел - это DESS V5.00 от ОС ДВК ( она же RT11 V5.01 )
    дизассемблер там написан чуть ниже таблицы чисел - а транслировать можно
    командой "T" ( пословно ). Листинг трансляции можно вывести на принтер - но поблочно ( что несколько смущает начинающих хакеров ). Гугля в помощь.
    Однако тот DESS, что поставляется в комплекте с эмулем ДВК - непрофессионально
    дополнен Хексами, которые в принципе не нужны на DEC-системах, и по этому
    там испорчен набор команд в ассемблере, в отличии от DESS V5.00.
    *
    Вообще у Dessa есть несколько недостатков:
    1.Нельзя назначить виртуальный адрес исследуемого массива - только физический
    ( особенно неудобно расковыривать дурные ПЗУ, код которых неперемещаем ( 95%))
    2.Нет команды заполнить массив числами - для писателей пригодилось бы.
    3.Нет команды перемещения блоков байтов - приходится ручками перелопачивать кучи цифр.
    4.Потерял вариант, где вывод ассемблера был не на принтер/девайс, а в файл .
    5.Других недостатков за 25 лет работы и написания кучи ПЗУ не выявил.

  4. #63
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    MM, спасибо.
    Я действительно начинающий ковырятель в чужом коде.
    Раньше, бывало, писал на AVR-ассемблере
    IDA нашёл первее и пока в ней поцарапаюсь.
    А чтобы завести DESS, видимо нужно сначала поставить эмуль, из под него запустить RT-11, а потом уже DESS... как-то так?

    Кстати, немного непривычно идут адреса - через один (только чётные).
    Видимо предполагалось, что память будет 8-разрядная?

    Блин, ничего не пойму с этим дизассемблером...
    вот такой код из ПЗУ-шек (их там две - старший и младший байты):
    0100: 15
    0101: С6
    0102: 90
    0103: С0

    то есть
    000400: 012706
    000402: 110300

    По моему разумению, это будет
    MOV(B) #110300, R6
    т.е. содержимое ячейки 110300 скопировать в регистр R6.

    Дизассемблер же пишет
    BiCB @(R0)+,(R5)+

    Или лыжи не едут, или ... одно из двух.
    Последний раз редактировалось darkstar; 06.11.2013 в 08:29.
    Нет ничего более вечного чем то, что обмотано синей изолентой

  5. #64
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    Или лыжи не едут, или ... одно из двух.
    Если учесть, что старший байт по нечётному адресу, то получится:
    143025 BICB @(R0)+,(R5)+
    140220 BICB R2,@(R0)+

    Если байты переставить, то будет:
    012706 110300 MOV #110300,SP загрузить число 0110300 в регистр SP (R6).
    Последний раз редактировалось b2m; 06.11.2013 в 10:59.

  6. #65
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так. Стоп.
    Старший байт ведь идёт первым?
    или нет?
    "старший байт по нечётному адресу" - буду осмысливать

    DESS нашёл, идёт стандартом к DVK Emulator:
    http://zx.pk.ru/showthread.php?t=18351
    Методом тыка нашёл управляющие клавиши:
    D - на слово назад
    T - на слово вперёд
    A - переход по указанному адресу
    B - выбор блока
    R - вид кода (Word-Hex-Byte-Rad), но нужно отключить CapsLock
    I - дополнительная строчка с переводом текущей позиции в другую систему счисления
    F - загрузка нового файла

    Единственно, пока не понял, как внешние файлы туда подключить...
    Последний раз редактировалось darkstar; 06.11.2013 в 11:53.
    Нет ничего более вечного чем то, что обмотано синей изолентой

  7. #66
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,133
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В DEC-системах принято, что младший ( четный ) байт в слове, старший - нечетный.
    Например: 000000 - младший четный, 000001 - старший нечетный.
    При этом слово ( 2 байта ) имеет адрес - 000000.
    *
    Подключение внешних дисков xxxxxx.dsk ( полных снимков дискет RT-11 )
    происходит в управляющем файле конфигурации в "блокноте".
    Для научных целей можно любые другие файлы подключать, переименовав их в ".dsk" - но не более 32 мегабайта - на данный момент это магическая величина для
    DEC-16 бит систем на основе RT-11.
    *
    В DESS есть замечательная команда "Output" - по умолчанию на LP: , но можно
    назнадить любое другое устройство, как LP: командой .ASS xxx LP: - из командной строки RT-11. Туда будут передаваться символы дизассемблера от команды "Т".
    При выводе на устройство запись в него ведется с 000000 блока, с 000000 адреса -
    т.е. если на нем был каталог, то он вытирается.
    Очень удобно организовать при помощи драйвера LD: виртуальные диски и на них выводить дизассемблер из DESS.
    Например, командой CREATE создать файл размером блоков так 10, и переименовать его в XY.DSK , затем связать его с диском LD0: командой MOUNT .
    Последний раз редактировалось MM; 06.11.2013 в 12:51.

  8. #67
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо.
    Допустим у меня есть дамп ПЗУ в файле dump.bin.
    Я его переименовываю dump.dsk ?
    Как увидеть его из DESS?
    По умолчанию у меня HD0 = HDSYS.DSK.
    Указываю HD1 = dump.dsk.
    набираю команду mount
    спрашивает Device?
    пишу LD1
    спашивает File?
    пишу dump
    и он мне в ответ - LD-F-File nod found DK:dump.DSK
    То есть, нужна какая-то файловая система в прицепляемом файле...
    Нет ничего более вечного чем то, что обмотано синей изолентой

  9. #68
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,133
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    К сожалению, просто так описанный фокус не проходит.
    Не помню точно, но наличие ФС на монтируемых дисках - необязательное условие.
    Что бы RT-11 не ругалась, не забывайте указывать, где ( т.е. "путь" ) расположен файл для драйвера LD. Например : SY:XY.DSK
    Для добавления отдельных файлов в диск типа .dsk под RT-11 есть плагин для тотал командира - хрен знает, как его ставить - как-то промучился полдня, но поставил -
    видимо, там какой-то баг в самом командире с установкой.
    *
    В Вашем случае можно совсем не монтировать, а при запуске DESS просто указать,
    например, DW1: - DESS не нуждается в ФС на девайсе и воспринимает его просто как файл. Если чесно, настоятельно не рекомендую патчить DESSом файлы размером свыше 64 блока - возможны самые дурные варианты, например запись
    исправления не в, допустим, 128-й блок файла, а в 1-й - проверено годами, но этот баг вылезает не всегда.

  10. #69
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от darkstar Посмотреть сообщение
    Допустим у меня есть дамп ПЗУ в файле dump.bin.
    Как увидеть его из DESS?
    Нужно скопировать dump.bin в образ диска HDSYS.DSK.

    Можно сделать это при помощи плагина для TotalCommander, описанного ЗДЕСЬ.

  11. #70
    Member
    Регистрация
    01.11.2013
    Адрес
    г. Красноярск
    Сообщений
    45
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ого! Заработало!
    Установил плагин:
    Меню Конфигурация -> Настройка -> Плагины
    Архиваторные плагины .wcx "Настройка"
    Файлы с расширением "wcx"
    Обзор -> RT-11dsk.wcx
    И теперь тотал коммандер открывает файлы *.dsk при помощи <Ctrl>+<PgDown>.
    Вовнутрь HDSYS.DSK удалось скопировать dump.bin только после переименования его в dump1.SAV,
    т.к. файл DUMP.SAV там уже есть, а расширение .BIN не принимается.

    после выполнения команды DIR напротив имени файла выводится его объём в блоках (по 512 байт)?
    У меня получилось 32 блока. Исходный файл занимает 16 кб.

    Теперь DESS читает мой файл! Ура!
    Но байты всё же придётся переставить...

    Байты переставил. Копаюсь в файле.
    А может ли DESS вывести результат дизассемблирования в виде текстового файла?
    Последний раз редактировалось darkstar; 07.11.2013 в 07:13.
    Нет ничего более вечного чем то, что обмотано синей изолентой

Страница 7 из 10 ПерваяПервая ... 345678910 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Тесты железа
    от Almaz в разделе Софт
    Ответов: 3
    Последнее: 18.03.2006, 02:33

Ваши права

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