Да, есть ещё куда работать. И особенно с сигналами внешних прерываний - ACLO, EVNT, HALT и VIRQ. Особенно с сигналами радиальных прерываний (которые по уровню) HALT и VIRQ. ACLO и EVNT защёлкиваются по обратному фронту и с ними таких проблем нету. А вот с HALT и VIRQ есть проблема в том, что процессор начинает их обрабатывать с запаздыванием на одну команду. Если я не ошибаюсь, регистр прерываний формируется в начале исполнения команды и уже после исполнения команды, когда происходит обработка прерываний с учётом маскирования, то используется этот регистр. Т.е. командой выставили требование HALT или VIRQ, то оно не исполнится сразу после команды, а после следующей. Вот поэтому при обращении к эмулируемым регистрам после команд, стоят NOP. Это кстати не сделано и в UKNCBTL, поэтому там и отсутствует прерывание по неполучению адреса вектора прерывания (SEL274).
И кстати, IOSCAN-а лучше сделать два. Один классический без NOP, а второй с NOP, чтобы видеть разницу между аппаратным TRAP4 и эмулируемым.
- - - Добавлено - - -
А точно из всего диапазона? 1610XX - это реально присутствующее оборудование, 1612XX - регистры UR и HR, 1614XX - RTC. Сигналы для выбора диапазонов 1611XX, 1613XX, 1615XX заводятся на внешние разъёмы. В схеме есть формирование сигнала 161XXX, а вот сигналов 1616XX, 1617XX нет.





Ответить с цитированием