sh-dis/sh4/BSR label

11 lines
257 B
Plaintext

1011dddddddddddd
pc ← SignExtend32(PC);
label ← SignExtend12(s) << 1;
IF (IsDelaySlot())
THROW ILLSLOT;
delayedpr ← pc + 4;
temp ← ZeroExtend32(pc + 4 + label);
delayedpc ← temp;
PR’’ ← Register(delayedpr);
PC’’ ← Register(delayedpc);