Цитата Сообщение от Alex_K Посмотреть сообщение
процессор адрес сравнивает абсолютно по всем 16 разрядам, поэтому успеет считаться и выполниться именно INC R1, хотя по этому адресу после исполнения MOV R3,@R0 будет уже INC R2.
Гениально!

Вот любопытная модификация проведённого теста:
Код:
	Clr	R1
	Clr	R2
	Clr	R3
	MovB	(PC),(PC)
	Inc	R1
	Inc	R2
	Inc	R3
	Jmp	@#1000
	.Word	2000
	.Word	3000
MovB перед записью ещё раз читает ячейку, не добавит ли это дополнительных глюков..

---------- Post added at 12:06 ---------- Previous post was at 12:04 ----------

Цитата Сообщение от Alex_K Посмотреть сообщение
Любая команда, нарушающая принцип предвыборки.
Но если эта команда сама использует сбитый счётчик - она скорее вынесет в Trap_To_4, чем спасёт. А из всех команд, нарушающих предвыборку - только BR не использует ни одного счётчика ( или ошибаюсь? ).

---------- Post added at 12:21 ---------- Previous post was at 12:06 ----------

Ещё один вариант:
Код:
	Clr	R1
	Clr	R2
	Clr	R3
	Mov	(PC),R0
	Mov	(PC),R0
	Inc	R1
	Inc	R2
	Inc	R3
	Jmp	@#1000
	.Word	2000
	.Word	3000