
Сообщение от
Vslav
нельзя ли собрать все желаемые тесты с описанием в одно сообщение
Желания прибавляются по мере успехов эмуляции. Главное на данный момент - разобраться, как ВМ3 отрабатывает зависание в HALT-моде ( признаком наличия/отсутствия HALT-моды является состояние ноги 55 ).
Также - можно при входе в HALT-моду выполнить команду: MOV SP, @#2 - чтобы узнать значение SP. Прошивка 377 якобы сохраняет несколько вариантов SP - это тоже можно проверить.
В итоге код получается такой:
Код:
.ASect
. = 0
Br Next // Точка входа пульта.
. = 24
.Word Start // Адрес старта.
.Word 340
Start:
Mov #2, R1
Mov #177776, R2 // Адрес PSW
Mov #140340, (R2) // Установить USER-моду
Mov SP, (R1) // Какой стек ?
Mov #4444, SP // Стек USER-моды
Mov #340, (R2) // Установить KERNEL-моду
Mov SP, (R1) // Какой стек ?
Mov #2222, SP // Стек KERNEL-моды
HALT // Установить HALT-моду
Next:
Mov (R2), (R1) // Прочитать PSW
Mov SP, (R1) // Какой стек ?
Mov #140340, (R2) // Выбрать стек USER
Mov SP, (R1) // Какой стек ?
Mov #340, (R2) // Выбрать стек KERNEL
Mov SP, (R1) // Какой стек ?
Mov #177600, @#172512 // PARH2 -> IO Page
Tst @#100000 // Чтение 17760000 вызовет зависание
Nop