Не исключено, что проблема в отсутствии прерываний от порта терминала. Все надписи, которые выводятся без прерываний - проходят, а все, которые должны выводиться по прерываниям - остаются в выходном терминальном буфере RMON. Когда выходной терминальный буфер RMON переполняется - система зависает.
Это подозрение легко проверить, введя с пульта и запустив программу, которая устанавливает обработчик, просто считающий прерывания передатчика, разрешает прерывания и выводит на экран в режиме опроса несколько символов. Если прерывания работают - значение счётчика после завершения программы должно на 1 превышать число выведенных символов.
Код:
.=60
202
0
176 ; Адрес обработчика прерывания передатчика
0
.=100
202
0
.=176
INC (PC)+
0 ; По адресу 200 == Счётчик прерываний
RTI
.=1000
MOV #700, SP
MTPS #0
MOV #100, @#177564 ; Включить прерывания передатчика
MOV #5, R1
MOV #100, R0
1$:
INC R0
MOV R0, @#177566
2$:
TSTB @#177564
BPL 2$
SOB R1, 1$
HALT