Пытаюсь заставить мою модель ВМ1 на си проходить тест 791404.
В основном проблемы возникали из-за того, что эмулятор терминала неправильно выполнял цикл генерации векторного прерывания.
Но тут возникла непонятная ситуация в тесте 71
Вот кусок теста
командой bis #100, tps разрешается генерация векторного прерывания терминалом. Но поскольку прерывания разрешены, то сразу возникает прерывание по вектору 064. Путём манипуляций с задержкой выдачи VIRQ удалось достичь того, что прерывание возникает сразу перед выполнением wait. Увеличение задержки ведёт к тому, что предыдущие тесты перестают проходить. Как можно добиться того, чтобы прерывание происходило тогда, когда этого задумали авторы теста?Код:2$: tstb tps ;tps = 177564 bpl 2$ ; mov #0, tpb ;tpb = 177566 bis #100, tps ; clr status ; mtps status ; wate3: wait ;
Есть ли где-то информация по растактовке работы ВП1-035/ВП1-065 ? Или описание их работы с временными задержками?




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