sh-dis/sh4/BSR label
Zack Buhman 4dd67c7204 sh4: fix manual typos for SH2 instructions
These changes fix logical consistency and correctness issues with the
instruction definitions as printed in the manual.

The most serious issues were:

- div0u/div0s/div1 use `m` as a temporary variable which
  contradicts the existence of the `m` register number

- missing semicolons

- inconsistent references to immediate and displacement variable names
2024-04-21 13:16:14 +08:00

11 lines
257 B
Plaintext

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