RCL
Instruction: Rotate C left into value by specified number of bits.
RCL Value, < # > Bits
Result: Value has Bits copies of C rotated left into it.
- Value (d-field) is the register in which to rotate C leftwards.
- Bits (s-field) is a register or a 5-bit literal whose value is the number of bits of Value to rotate C leftwards into.
Opcode Table:
–INSTR– ZCR I–CON– –DEST– –SRC– | Z Result | C Result | Result | Clocks |
001101 001i 1111 ddddddddd sssssssss | Result = 0 | D[31] | Written | 4 |
Concise Truth Table:
In | Out | ||||||
Destination | Source | Z | C | Effects | Destination | Z | C |
$8000_0000; -2,147,483,648 | $0000_0000; 0 | - | x | wz wc | $8000_0000; -2,147,483,648 | 0 | 1 |
$8000_0000; -2,147,483,648 | $0000_0001; 1 | - | 0 | wz wc | $0000_0000; 0 | 1 | 1 |
$8000_0000; -2,147,483,648 | $0000_0001; 1 | - | 1 | wz wc | $0000_0001; 1 | 0 | 1 |
$2108_4048; 554,188,872 | $0000_0002; 2 | - | 0 | wz wc | $8421_0120; -2,078,211,808 | 0 | 0 |
$2108_4048; 554,188,872 | $0000_0002; 2 | - | 1 | wz wc | $8421_0123; -2,078,211,805 | 0 | 0 |
$8765_4321; -2,023,406,815 | $0000_0004; 4 | - | 0 | wz wc | $7654_3210; 1,985,229,328 | 0 | 1 |
$8765_4321; -2,023,406,815 | $0000_0004; 4 | - | 1 | wz wc | $7654_321F; 1,985,229,343 | 0 | 1 |
Explanation
RCL (Rotate Carry Left) performs a rotate left of Value, Bits times, using the C flag's original value for each of the LSBs affected.
If the WZ effect is specified, the Z flag is set (1) if the resulting Value equals zero. If the WC effect is specified, at the end of the operation, the C flag is set equal to Value's original bit 31. The result is written to Value unless the NR effect is specified.
Unless otherwise noted, content on this site is licensed under the
Creative Commons Attribution-ShareAlike 4.0 International License.