![]() |
Patron, А может-ли эмулятор работать с реальными дисководами?
|
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_19.12.13_00-19
Изменения: 1. Внесены изменения, описанные ЗДЕСЬ. 2. Добавлена возможность управления встроенным дизассемблером, для чего: 2.1. В объект 1801VM1 добавлены: 2.1.1. Состояние DisAsm, которое включает/выключает встроенный дизассемблер. 2.1.2. Состояние StepMode, которое включает/выключает режим пошагового выполнения команд. При включении StepMode - всегда включается DisAsm. При выключении DisAsm - всегда выключается StepMode. 2.1.3. Текстовый порт DisAsm, в который выводится листинг дизассемблирования исполняемых команд. 2.1.4. Параметры DisAsmBottomAddr и DisAsmTopAddr, позволяющие задать нижнюю и верхнюю границы окна дизассемблирования. 2.1.5. Скрытый параметр MaxLoopCommandsToHide ( значение по умолчанию 24 ), управляющий "сжатием" листинга циклов. В пошаговом режиме сжатие листинга циклов отключается. 3. В модуль CPU_module добавлен объект CPUCSR, создающий на шине отладочный порт по адресу, задаваемому параметром CPUCSR_Address ( значение по умолчанию 0177724 ). Бит 00 этого порта управляет состоянием DisAsm, а бит 01 - управляет состоянием StepMode подключенного к шине процессора. 4. В комплект поставки включён файл конфигурации DisAsm.cfg, выводящий листинг дизассемблирования в отдельное окно. 5. В образ HDSYS.DSK добавлены файлы CPUCSR.MAC и CPUCSR.SAV, содержащие пример взаимодействия отлаживаемой программы с отладочным портом. Для отключения дизассемблирования тела обработчика EMT - в файле конфигурации DisAsm.cfg нужно изменить параметр DisAsmTopAddr c 0177776 на ( например ) 040000. |
Изменение эмулируемой конфигурации.
Использование встроенного дизассемблера. --------------------------------------------------------------- Файл конфигурации DisAsm.cfg содержит пример использования дизассемблера, встроенного в эмулятор процессора. Для отображения листинга дизассемблирования создаётся дополнительная консоль DisAsm, которая находится в отдельном окне: Скрытый текстCode:
[objects][свернуть] На полосе окна DisAsm находятся виджеты кнопок, подключенных к состояниям объектов CPU и bus: Скрытый текстCode:
[objects][свернуть] В пошаговом режиме эмуляция ставится на паузу после выполнения процессором каждой следующей команды. Кнопка [ Шаг ] - это просто иначе оформленная кнопка [ Пауза ], поэтому она активируется не только в пошаговом режиме процессора, но и при любой постановке эмуляции на паузу: http://s6.hostingkartinok.com/upload...88cc746e1b.png Слева в листинге дизассемблера указаны значения PC и PSW, потом мнемоника команды и в поле комментариев - содержимое операндов до выполнения команды. При нажатии кнопки [ Лог ] - листинг начинает писаться в файл DisAsm.log, при этом в листнг попадают только те строки, которые были выведены на консоль когда кнопка [ Лог ] уже была нажата. Чтобы сохранить строки, выведенные на консоль до этого - их можно скопировать в буфер обмена, нажав клавишу <PrintScreen> ( при этом копируются все строки от верхней, видимой на экране, до последней, выведенной на консоль, поэтому, чтобы скопировать в буфер обмена весь текстовый буфер консоли - нужно сначала промотать содержимое экрана до самого верха при помощи полосы прокрутки или колеса мыши ). В данной конфигурации на шине присутствует отладочный порт, создаваемый объектом CPUCSR: Code:
[objects]Пример взаимодействия отлаживаемой программы с отладочным портом эмулятора находится на системном диске в файлах CPUCSR.SAV и CPUCSR.MAC: Code:
;Запуск CPUCSR.SAV осуществляется в окне терминала, по команде: Code:
.R CPUCSRЧтобы в листинг не включался текст системного обработчика команды EMT - в файле конфигурации DisAsm.cfg нужно изменить верхнюю границу окна дизассемблирования: Code:
[CPU.ini] |
вопрос по системному разделу
Quote:
Code:
CPUCSR.MAC 3 19-Dec-2013 1597И ещё кажется что-то обновилось в SYS файлах на системном разделе? Нет? Есть ли планы полноценного WEB-ресурса посвящённого эмулятору или об этом пока рано говорить? И конечно огромная благодарность за развитие и поддержку лучшего в мире эмулятора ДВК! ) |
Quote:
|
Patron, Что-то тест не проходит. Запускаю эмулятор в конфиге DisAsm, нажимаю сброс 2 раза, набираю T0 ,enter. Тест доходит до набора "1 2 3 4 j c u k" и когда я набираю j после 1234 он пишет 000404 , @J?,@160556
|
Quote:
---------- Post added at 14:44 ---------- Previous post was at 14:41 ---------- До сих пор никто так и не понял - что именно там портится при включённом таймере. Можно записать листинг прохождения встроенного теста при включённом таймере, сравнить с листингом при выключенном таймере и попробовать найти причину вылета. |
Quote:
|
Quote:
|
И ещё можно-ли отдельно дизассемблировать фаил не запуская его. Если нет то дай пожалуйста ссылку(если есть) где есть какая-нибудь программка.
|
| All times are GMT +4. The time now is 02:59. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.