I | T | H | S | V | N | Z | C |
– | – | ⇔ | ⇔ | ⇔ | ⇔ | ⇔ | ⇔ |
N ⊕ C, for N and C after the shift.
R7
Set if MSB of the result is set; cleared otherwise.
R7 • R6 • R5 • R4 • R3 • R2 • R1 • R0
Set if the result is $00; cleared otherwise.
Rd7
Set if, before the shift, the MSB of Rd was set; cleared otherwise.
R (Result) equals Rd after the operation.
Example:
lsl r18 ; Multiply r19:r18 by two
rol r19 ; r19:r18 is a signed or unsigned two-byte integer
brcs oneenc ; Branch if carry set
...
oneenc: nop ; Branch destination (do nothing)