sh-dis/sh4/BT_S label

14 lines
275 B
Plaintext

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