С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Алгоритм простой: передатчику терминала устанавливается разрешение прерывания после чего выполняется некоторый цикл ожидания, дочтаточный для возникновения прерывания при наличии готовности передатчика (которая обязана наступить независимо от того подключено что-то к устройству или нет). При этом постепенно понижается приоритет процессора (для УКНЦ собственно вариантов нет - так только 4 и 0 бывают).
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Vamos, внимательно почитайте, что писал Patron. Он написал абсолютно правильно, что запрос на прерывание возникает, когда предыдущее состояние бита готовности и бита разрешения прерывания по AND было равно нулю, а текущее стало равно единице.
В конце концов посмотрите эмуляцию канала К0 со стороны ЦП (регистры 177560-177566), они по алгоритму установки/снятия запроса на прерывание работают аналогично 1801ВП1-065.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Это был последний релиз эмулятора ?
Вот собственно демонстрация. VDT работает на уровне программы с приоритетом 0. Прерывания не произошло ни при включении прерываний (при наличии готовности) ни при записи в порт...
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Смотрел я туда уже, если Вы думаете что копаться в исходниках которые не сам писал, да еще с моими познаниями в программировании на С++ (я даже книжки не одной не читал)... Кому то понятно что написал Patron, а мне нужно разложить подробно по полочкам, пока я не до конца понимаю как это происходит.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)