С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
На уровне кернела - это как? Надо какой-то бит где-то установить?
Здравые мысли.
Подумав над результататми теста у formа, я склоняюсь к мысли, что на его процессоре Т-трап имеет больший приоритет, чем IRQ (как и у ВМ2), а установка бита Т блокирует младшие линии BR (типа, как команда вроде MTPS #200), поэтому прерывание таймера не блокируется, а команда WAIT не пропускает ни одного прерывания.
Для того, чтобы точно в этом убедиться, я хотел сделать так, чтобы при выполнении команд NOP - их мнемоника выводилась на экран. Поэтому если использовать последовательность команд типа NOP | WAIT | NOP | WAIT | NOP | NOP - то всегда будет примерно ясно, "где мы находимся".
Да - это гениально, как всё простое. Чем мудрстововать, подсчитывая на экране NOPы - гораздо проще сравнить адрес в стеке с листингом трансляции.
Т.е. вот такая вставка в начале программы переключит нас в KERNEL-моду:
Так?Код:MOV #340, @#16 MOV #10$, @#14 BPT 10$: MTPS #0 Cmp (SP)+,(SP)+
SP на усмотрение - два слова не особо мешают. Или можно записать #340 в 2(SP) и потом по RTI/RTT вернуться после BPT (два старших бита PSW очищены - kernel mode, поскольку RTI из кернела делается - получится). MTPS лучше не использовать вообще по возможности - команда не портабельная (хотя у меня и есть). Ну и в любом случае если в этом именно мест есть потребности в приоритете 0, то можно сразу было 0 в 16 записать
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
Т.е. в подпрограмме сохранения векторов пишем
И никакие последующие команды RTI/RTT нас уже из KERNEL-моды не выбъют..Код:MOV #0, @#16 MOV #10$, @#14 BPT 10$: Cmp (SP)+,(SP)+ Return
Думаю, что модератор последние несколько страничек вполне мог бы перенести в тему 'ДВК и все, что с ними связано')
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)