Запуск VM2T18:
Запуск VM2T18:
Запуск VM2T19 (думаю, что везде возможен и результат 10000):
Похоже, удалось найти ошибку в тесте VM2T20.SAV из-за которой он не выдерживал встречи с МЕГА-глюком.
Теперь в указанном архиве уже новая исправленная версия теста.
Результат запуска в эмуляторе такой:
Код:.RU VM2T20
1801VM2 MegaBUG test #20 v1.1
01044 BiS #100, @#TTPS
01046 Mov (PC), R0
01050 >>> Interrupt <<< 064
01050 Mov (PC), R0
01052 Tst R0
01054 BiC #100, @#TTPS
01102 BiS #100, @#TTPS
01104 Mov (PC), R0
01106 >>> Interrupt <<< 064
01106 Mov (PC), R0
01110 BiC #100, @#TTPS
Program completed.
.
Прохождение теста такое же.
Мы помним прерывания по вектору 024 после глючного выполнения NOP и вряд ли такие прерывания могут возникнуть в глючном коде при запрещённых прерываниях. Значит - глюк вполне может заменять принимаемый процессором адрес вектора.
Но если глюкогенные команды не запрещают прерывания - не понятно, как длина последовательности таких команд может влиять на вероятность возникновения Trap_to_04 в момент выполнения команды NOP ( при том, что адрес в стеке после прерывания указывает на следующую за NOP команду ).
Прогнал тест на плате М6
Всё ОК кроме операций DIV
Откровенно говоря, думал что будет как в Эл.85 но оказывается есть различия.Код:Команда деления (частичный тест):
DIV (even) - ERROR: 0x9E4А / 0x9Е46
DIV (odd) - ERROR: 0x43D5 / 0xBAA7