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
10 lines
231 B
Plaintext
10 lines
231 B
Plaintext
0100nnnn00011011
|
|
op1 ← SignExtend32(Rn);
|
|
address ← ZeroExtend32(op1);
|
|
OCBP(address);
|
|
value ← ZeroExtend8(ReadMemory8(address));
|
|
t ← INT (value = 0);
|
|
value ← value ∨ (1 << 7);
|
|
WriteMemory8(address, value);
|
|
T ← Bit(t);
|