/44, /04, /34 по описанию не меняют регистр, правда написано только про mode 2.
Ну логично - видимо раз сама по себе выборка с автоинкрементом проблем не представляет, то и вопроса нет, но мало ли - с учетом того же ВМ3 я алгоритм проверки дополнительных фич MMU делал исходя из возможности поменять значение бита, а не из возможности установить его в MMR3...
- - - Добавлено - - -
Но кое-где mode 3 всеже может представлять сложность... Хотя и тут все логично ибо от mode 2 танцует...
Код:Z 1 000000 010030 MOV R0,@(R0)+
Хм. Я где-то упустил этот тест, в теме не вижу...
- - - Добавлено - - -
Но пока подтверждает предположение о том, что видимо при MMU failure всегда автоинк(дек)ремент выполняется. Иначе зачем огород с MMR1 городить... Хотя впрочем функционал MMR1 не исключает совместимости в случае если автоинк(дек)ремента не произошло...
UPD: расмотрел внимательнее - и так и так... Выходной инфы мало - нужен MMR1
.
Новый тест: T4REG5.SAV - проверяет автоинкремент регистров в команде MTPI (R2)+ с неправильной предыдущей модой.
Запускать на машинах с диспетчером памяти.
- - - Добавлено - - -Код:.RU T4REG5
Register Autoincrement TRAP4 test #5.
MOV #000001, @#177572
MOV #020340, @#177776
MOV #000000, R2
MOV #066000, SP
CLR -(SP)
SP/065776
MTPI (R2)+
>>> Trap to 250 <<< ; SR0/100101
R2/000002
SP/066000
Program completed.
.
Добавил HALT чтобы посмотреть MMR1 - там как и положено 11026 (R2+=2, SP+=2).
Тест на ВМ3.
Код:.T4REG5
Register Autoincrement TRAP4 test #5.
MOV #000001, @#177572
MOV #020340, @#177776
MOV #000000, R2
MOV #066000, SP
CLR -(SP)
SP/065776
MTPI (R2)+
>>> Trap to 250 <<< ; SR0/100101
R2/000000
SP/066000
Program completed.
.