EasyManua.ls Logo

Atmel AVR

Atmel AVR
191 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
95. ROL – Rotate Left trough Carry
95.1. Description
Shifts all bits in Rd one place to the left. The C Flag is shifted into bit 0 of Rd. Bit 7 is shifted into the C
Flag. This operation, combined with LSL, effectively multiplies multi-byte signed and unsigned values by
two.
Operation:
C
¨
b7 - - - - - - - - - - - - - - - - - - b0
C
Syntax: Operands: Program Counter:
(i) ROL Rd 0 ≤ d ≤ 31 PC ← PC + 1
16-bit Opcode: (see ADC Rd,Rd)
0001 11dd dddd dddd
95.2. Status Register (SREG) and Boolean Formula
I T H S V N Z C
H Rd3
S N V, for signed tests.
V N C, for N and C after the shift.
N R7
Set if MSB of the result is set; cleared otherwise.
Z R7 • R6 • R5 • R4 • R3 • R2 • R1 • R0
Set if the result is $00; cleared otherwise.
C 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)
Atmel AVR Instruction Set Manual [OTHER]
Atmel-0856L-AVR-Instruction-Set-Manual_Other-11/2016
143

Table of Contents

Related product manuals