Цитата Сообщение от Titus Посмотреть сообщение
Учитывая предвыборку кода команды, которая работает всегда, кроме функций ветвления и самомодификации кода, можно предположить несколько иную последовательность на начало выполнения команды
Код:
011137 	177712 				MOV	(R1),@#TMRBUF
1) 011137 уже находится в буфере предвыборки, поэтому первая ступень - это дешифрация кода команды и предвыборка следующего слова из памяти 177712
2) Слово смещения читается из буфера предвыборки и идет вычисление исполнительного адреса
3) Тут сложно сказать, идет ли предвыборка следующего слова из адреса 4562, и потом выполняется команда, либо же сперва команда, а потом уже чтение кода следующей команды с адреса 4562. Надо почитать доки.
Предвыборка на следующую команду работает если только предыдущая команда состояла из одного слова, т.е. не было модификации одно из счетчиков команд (а теперь из документации мы знаем, что их целых три), естественно это не команда перехода и не было модификации адреса, прочитанного по предвыборке. А так как команды состояли из двух слов, то предвыборка на следующую команду и не работала. Это еще было показано мной при тесте регистра ловушки адреса при использовании команд, состоящих из одного и нескольких слов.
Цитата Сообщение от Titus Посмотреть сообщение
До сих пор остается открытым вопрос поднятый мною в предыдущем посте.
Вопрос, насколько я понимаю, почему попадает не то что пишется, а другое? Что это другое, это вроде выяснили. Теперь остается понять почему запись происходит в этот момент.

Кстати а вероятность незаписи регистра состояния и управления 0177710 вроде не проверялась? Вдруг там делитель не прописывается или режим ПУСК не запускается?