Может статься, что работа через MMU идёт только в двухоперандных командах ( или не идёт при адресации (PC) )..
Тест: VM3M2a.SAV - мапит нулевую страницу на первую в M-режиме MMU и обрабатывает прерывание.
Может статься, что работа через MMU идёт только в двухоперандных командах ( или не идёт при адресации (PC) )..
Тест: VM3M2a.SAV - мапит нулевую страницу на первую в M-режиме MMU и обрабатывает прерывание.
Последний раз редактировалось Patron; 01.03.2016 в 20:51.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
На ВМ3
Код:.RUN VM3M2A 1801VM3 MMU M-mode test #2a MOV #000200,@#172340 MOV #001000,SP MOV #001111,@#000774 MOV #001111,@#020774 MOV #000401,@#SR0 MFPT @ 001364 @R6/001000 @1000G Program completed.Код:.RUN VM3M2A 1801VM3 MMU M-mode test #2a MOV #000200,@#172340 MOV #001000,SP MOV #001111,@#000774 MOV #001111,@#020774 MOV #000401,@#SR0 MFPT @ 001364 @R6/001000 @R6G @ 000300 @1000G Program completed. .
Уже понятно, что в М-режиме обработка прерывания идёт не без проблем, а где именно слабина - выясним позднее.
...
Тест: VM3M3.SAV - проверяет работу однооперандных команд в M-режиме MMU.
На ВМ3.
Код:.RUN VM3M3 1801VM3 MMU M-mode test #3 MOV #000000,@#020000 MOV #177777,@#060000 MOV #000200,@#172346 MOV #000401,@#SR0 TST @#60000 PSW/000004 CLR @#SR0 MOV #000000,@#020000 MOV #177777,@#060000 MOV #000200,@#172346 MOV #000401,@#SR0 INC @#60000 CLR @#SR0 020000/000001 060000/177777 Program completed. .
Однооперандные команды работают по тем же правилам, что и двухоперандные. Получается, что в тесте VM3M2 проблему вызвала адресация (PC) ( или для чистого M-режима не надо включать MMU нулевым битом ).
...
Тест: VM3M4.SAV - проверяет TRAP250 в M-режиме MMU.
- - - Добавлено - - -
Тест: VM3M1a.SAV - проверяет, нужен ли нулевой бит SR0 для активации M-режима MMU.
Последний раз редактировалось Patron; 01.03.2016 в 21:44.
На ВМ3
Код:.RUN VM3M4 1801VM3 MMU M-mode test #4 ACF Abort >>> Trap to 250 <<< SR0/100403 PLF Abort >>> Trap to 250 <<< SR0/040405 RO Abort >>> Trap to 250 <<< SR0/020407 Program completed. .RUN VM3M1A 1801VM3 MMU M-mode test #1a MOV #020000,@#020000 MOV #060000,@#060000 MOV #000200,@#172346 MOV #000400,@#SR0 MOV @#60000,R1 R1/060000 MOV #000000,@#SR0 MOV #020000,@#020000 MOV #060000,@#060000 MOV #000400,@#SR0 MOV #111111,@#060000 CLR @#SR0 020000/111111 060000/060000 Program completed. .
Ситуация прояснилась - M-режим возможен только при выключенном MMU, причём это не полноценный гибридный режим, так как нет возможности читать источник с использованием MMU, а можно только читать/писать приёмник.
Теперь придётся переписать все тесты M-режима без установки нулевого бита SR0.
...
Тест: VM3M3a.SAV - проверяет работу однооперандных команд в M-режиме MMU.
- - - Добавлено - - -
Тест: VM3M4a.SAV - проверяет TRAP250 в M-режиме MMU.
- - - Добавлено - - -
Тест: VM3M2b.SAV - обрабатывает прерывание в M-режиме MMU.
Последний раз редактировалось Patron; 01.03.2016 в 22:14.
На ВМ3
Код:.RUN VM3M3A 1801VM3 MMU M-mode test #3a MOV #000000,@#020000 MOV #177777,@#060000 MOV #000200,@#172346 MOV #000400,@#SR0 TST @#60000 PSW/000004 CLR @#SR0 MOV #000000,@#020000 MOV #177777,@#060000 MOV #000200,@#172346 MOV #000400,@#SR0 INC @#60000 CLR @#SR0 020000/000001 060000/177777 Program completed. .RUN VM3M4A 1801VM3 MMU M-mode test #4a ACF Abort >>> Trap to 250 <<< SR0/100402 PLF Abort >>> Trap to 250 <<< SR0/040404 RO Abort >>> Trap to 250 <<< SR0/020406 Program completed. .RUN VM3M2B 1801VM3 MMU M-mode test #2b MOV #000200,@#172340 MOV #001000,SP MOV #001111,@#000774 MOV #001111,@#020774 MOV #000400,@#SR0 MFPT >>> Trap to 010 <<< NOP CLR @#SR0 000774/001364 020774/001111 MOV #000200,@#172340 MOV #000400,@#SR0 CLR (PC) NOP CLR @#SR0 Program completed. .
На ВМ3
Код:.RUN VM3M5 1801VM3 MMU M-mode test #5 MOV #020000,@#020000 MOV #040000,@#040000 MOV #060000,@#060000 MOV #050000,SP MOV #011111,@#027776 MOV #011111,@#047776 MOV #000200,@#172344 MOV #000400,@#172346 MOV #000200,@#177646 MOV #030340,@#177776 MOV #000400,@#SR0 MFPI @#60000 CLR @#SR0 027776/020000 047776/000000 Program completed. .RUN VM3M6 1801VM3 MMU M-mode test #6 MOV #020000,@#020000 MOV #040000,@#040000 MOV #060000,@#060000 MOV #050000,SP MOV #030000,@#030000 MOV #050000,@#050000 MOV #000200,@#172344 MOV #000400,@#172346 MOV #000200,@#177646 MOV #030340,@#177776 MOV #000400,@#SR0 MFPI @#60000 CLR @#SR0 020000/030000 060000/060000 Program completed. .
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)