sh-dis/sh4/BF label
Zack Buhman 4a165d02ed sh4: fix documentation typos for SH2 instructions
These changes fix logical consistency and correctness issues with the
instruction definitions as printed in the SH4 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-22 20:42:22 +08:00

17 lines
353 B
Plaintext

10001011dddddddd
t ← ZeroExtend1(T);
pc ← SignExtend32(PC);
newpc ← SignExtend32(PC’);
delayedpc ← SignExtend32(PC’’);
label ← SignExtend8(d) << 1;
IF (IsDelaySlot())
THROW ILLSLOT;
IF (t = 0)
{
temp ← ZeroExtend32(pc + 4 + label);
newpc ← temp;
delayedpc ← temp + 2;
}
PC’ ← Register(newpc);
PC’’ ← Register(delayedpc);