Правила позиционно-независимой работы:Код:Уровень Выставляется Мониторится
4 TIRQ4 RIRQ5, RIRQ6
5 TIRQ4, TIRQ5 RIRQ6
6 TIRQ4, TIRQ6 RIRQ7
7 TIRQ4, TIRQ6, TIRQ7
Правила позиционно-независимой работы:Код:Уровень Выставляется Мониторится
4 TIRQ4 RIRQ5, RIRQ6
5 TIRQ4, TIRQ5 RIRQ6
6 TIRQ4, TIRQ6 RIRQ7
7 TIRQ4, TIRQ6, TIRQ7
ППР идет через все устройства последовательно. То есть их два: IACKI и IACKO. Обычно, сигнал IACKI сразу транслируется на IACKO. Если требуется прерывание, то по сигналу К ВВОД Н запрос фиксируется в отдельном триггере, который запрещает дальнейшую трансляцию (отключает IACKO) и направляет его (IACKI) в схему выдачи вектора.
- - - Добавлено - - -
На каждой плате, если там несколько устройств, то у них прохождение сигнала ППР также должно идти последовательно. Цепочка начинается с выхода IACKO процессора, сигнал с которого идет на IACKI первого устройства, с его IACKO на IACKI второго, и т.д. Если цепочка кончилась, она выдается на контакт К ППР0 Н этой платы. Если плата не процессорная, то она начинается с контакта К ППРI Н. Поэтому из запросивших прерывание всегда сработает только одно устройство - ближайшее к процессору.
- - - Добавлено - - -
А для этого нужна логическая схемка, навскидку, не очень простая, одной 155ЛА3 не отделаешься. И я что-то не припомню таких в окрестностях набортного ВП1-065 на 1201.03/04. Сама же 065-я ничего подобного не умеет.
.
Новый тест: T4REG.SAV - проверяет, как влияет зависание на выполнение автоинкремента регистра. Запускать можно на любых машинах.
Результат запуска на эмулируемой ДВК-2 такой :
Код:.RU T4REG
Register Autoincrement TRAP4 test #1.
MOV #160020,R2
TST (R2)+
>>> Trap to 004 <<< ; R2/160022
CLR (R2)+
>>> Trap to 004 <<< ; R2/160024
CMP R0,(R2)+
>>> Trap to 004 <<< ; R2/160026
MOV R0,(R2)+
>>> Trap to 004 <<< ; R2/160030
TST -(R2)
>>> Trap to 004 <<< ; R2/160026
CLR -(R2)
>>> Trap to 004 <<< ; R2/160024
CMP R0,-(R2)
>>> Trap to 004 <<< ; R2/160022
MOV R0,-(R2)
>>> Trap to 004 <<< ; R2/160020
Program completed.
.
На 11/83 также. Согласно списка различий регистры не меняются только для 11/44, 11/04 и 11/34 (интересно как на ВМ3 и СМ1420).
Также полезно добавить тест когда PC содержит несуществующий адрес: здесь поведение отличается от обычных регистров: не меняется только для 11/35 и 11/40.
Исключение по low SP в режиме пульта: [http://s020.radikal.ru/i702/1602/38/2bd071d16709t.jpg]
И кстати тест словного обращения к нечетному адресу интересен - в таблице и такое есть.
Новые тесты: T4REG2.SAV и T4REG3.SAV - проверяют адресацию типа @(R2)+ и автоинкремент при словном обращении к нечётным адресам.
Код:.RU D10:T4REG3
Register Autoincrement TRAP4 test #3.
MOV #311,R2
TST (R2)+
>>> Trap to 004 <<< ; R2/000313
CLR (R2)+
>>> Trap to 004 <<< ; R2/000315
CMP R0,(R2)+
>>> Trap to 004 <<< ; R2/000317
MOV R0,(R2)+
>>> Trap to 004 <<< ; R2/000321
TST -(R2)
>>> Trap to 004 <<< ; R2/000317
CLR -(R2)
>>> Trap to 004 <<< ; R2/000315
CMP R0,-(R2)
>>> Trap to 004 <<< ; R2/000313
MOV R0,-(R2)
>>> Trap to 004 <<< ; R2/000311
Program completed.
.
.
Новый тест: T4PC.SAV - проверяет, как влияют нечётное значение и зависание на выполнение автоинкремента PC. Запускать можно на любых машинах.
Результат запуска на эмулируемой ДВК-2 такой :
Код:.RU T4PC
PC Autoincrement TRAP4 test.
001112/ INC PC
001114/
JMP @#160000
>>> Trap to 004 <<< ; PC/160002
157776/ TST (PC)+
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,(PC)+
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,@(PC)+
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,240(PC)
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,@240(PC)
>>> Trap to 004 <<< ; PC/160002
Program completed.
.
- - - Добавлено - - -Код:.RU T4PC
PC Autoincrement TRAP4 test.
001112/ INC PC
001114/
>>> Trap to 004 <<< ; PC/001115
JMP @#160000
>>> Trap to 004 <<< ; PC/160000
157776/ TST (PC)+
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,(PC)+
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,@(PC)+
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,240(PC)
>>> Trap to 004 <<< ; PC/160002
157776/ MOV R0,@240(PC)
>>> Trap to 004 <<< ; PC/160002
Program completed.
.
Еще тест на тему PC - в сущности уже проверено предыдущим:
- - - Добавлено - - -Код:001036 TST @#160000 ;PC=001042
001134 MOV #160000,PC ;PC=160000
Хм... Это как? :)Цитата:
Сообщение от T4PC