Кидайте исходник, я пропатчу для голого ВМ3 и запущу у себя, будет видно в подробностях, что происходит.
В исходниках RT-11 так:
Выдернуто из текста VM.MAC, такой же таблицы в RMONFB.MAC и в XMSUBS.MAC я наскоком не нашел, но имена KISARn, KISDRn и остальные встречаются в них повсеместно.Код:MMSR0 = 177572
MMSR1 = 177574
MMSR2 = 177576
MMSR3 = 172516
UISDR0 = 177600
UISDR7 = 177616
UISAR0 = 177640
UISAR7 = 177656
KISDR0 = 172300
KISDR7 = 172316
KISAR0 = 172340
KISAR1 = 172342
KISAR7 = 172356
Похоже выявлен ище один косяк ВМ3. Не страшный, но тем не менее :)
- - - Добавлено - - -
Выложил там же.
- - - Добавлено - - -
Так никто не называет. KPAR/KISAR, KPDR/KISDR. KPAR/KPDR - старый вариант когда не было разделения I&D и режима супервизора. Для ВМ3 впрочем это в силе.Цитата:
Сообщение от Vslav
- - - Добавлено - - -
Подозреваю, что совсем в подробностях не будет - обращения к PSW как я понимаю идут внутри проца и внаружу не светятся.
Интересно еще раз проверить обновленный тест, в частности PSW после команды которая вызывает сбой.
2 вариант MTPS на ВМ3.
Код:UISDR7=077506, PSW=170000, MTPS #357, PSW=170357
UISDR7=077400, PSW=170000, MTPS #357, PSW=170011, MMU FAULT
Получается интересная картина: команда вызывает прерывание MMU, попутно меняя биты C и N в PSW.
Также судя по первой операции, MTPS отмечается в MMU как запись в 7 страницу. На СМ1420 такого не наблюдалось.
- - - Добавлено - - -
Еще интересен такой тест (последней прогой):Если используется советский SL, его нужно предварительно отключить - не дружит он с SIPP и некоторыми другии прогами :)Код:.SIPP MTPS.SAV/A
Base?
Offset? 1316
Base Offset Old New?
000000 001316 000357 17
000000 001320 104400 ^Y
.RU MTPS
form, Что за SIPP? С ним прога не идет.
В чем проявляется что она не идет? SIPP редактирует файлы. Циферки совпадают с теми что в сообщении?
- - - Добавлено - - -
Можно и без SIPP чтобы не ломать оригинал:Код:.GE MTPS
.E 1316 ! ПРОВЕРЯЕМ, ЧТО ПИШЕМ ТУДА
000357
.D 1316=17
.ST
UISDR7=077406, PSW=170000, MTPS #357, PSW=170017
UISDR7=077400, PSW=170000, MTPS #357, PSW=170017
.
?UCL-F-Command does not exist
Удивительное дело - в режиме MMU16 при словной записи по нечётному адресу - процессор не произвёл запись, но до входа в прерывание успел выполнить следующую команду. В режиме HALT такого не случилось и всё отработало как надо.
- - - Добавлено - - -
На системном диске отсутствует файл SIPP.SAV