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
9 lines
193 B
Plaintext
9 lines
193 B
Plaintext
0100mmmm01101010
|
|
sr ← ZeroExtend32(SR);
|
|
op1 ← SignExtend32(Rm);
|
|
IF (FpuIsDisabled(sr) AND IsDelaySlot())
|
|
THROW SLOTFPUDIS;
|
|
IF (FpuIsDisabled(sr))
|
|
THROW FPUDIS;
|
|
FPSCR ← ZeroExtend32(op1);
|