![]() |
Quote:
---------- Post added at 13:19 ---------- Previous post was at 13:18 ---------- А, sorry, это я невнимательно прочитал :) Если запретить, а потом снова разрешить - этого понятно хватит. Просто где-то утверждалось что как прерывание разрешено, так оно и будет возникать само собой до бесконечности. Оказалось нет. Кстати вместо Code:
BiC #100, @#177564Code:
CLR @#177564 |
Quote:
Утверждалось, что порты УКНЦ (в отличие от "нормальных") никак не реагируют на "передёргивание" бита 0100, даже если бит 0200 установлен в 1, при условии, что одно прерывание "по этому поводу" уже было. |
Quote:
Впрочем было это давно, искать лень :) Кстати насчет нормальных - могу проверить вечером влияет или нет. Хотя если твой CPS так работает - можно считать проверенным - лень было смотреть что там внутри :) |
Quote:
Мало того - так работает вывод на экран в RT-11. Когда в буфере вывода кончаются символы - выполняется команда BIC #100,@#TTPS. При попадании в буфер вывода каждого (?) нового символа выполняется BIS #100,@#TTPS. Таким образом управление передаётся на подпрограмму вывода очередного символа в регистр данных терминала единообразно - через прерывание готовности терминала. |
Quote:
Но это никак не относится к описанному так как в данном случае кроме снятия прерываний, RT-11 еще и пишет в @TTPB символ :) |
Quote:
После записи последнего символа из буфера вывода в TTPB - происходит прерывание TTPINT. Подпрограмма обработки TTPINT видит, что выводить больше нечего и очищает бит разрешения прерываний в TTPS. После записи нового символа в буфер вывода - подпрограмма обработки EMT устанавливает бит разрешения прерываний в TTPS и происходит новое прерывание TTPINT, хотя в регистр TTPB ( с прошлого прерывания TTPINT ) никаких записей не производилось. |
Quote:
Это делается в подпрограмме обработки прерываний. |
Quote:
|
Quote:
---------- Post added at 16:04 ---------- Previous post was at 16:00 ---------- А насчет снятия прерываний через одно прерывание после окончания - подтверждаю. |
Quote:
|
| All times are GMT +4. The time now is 02:44. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.