Datasheet
15 0
7 0
C
Byte
Word
0
www.ti.com
Instruction Set Description
4.6.2.38 RLA
* RLA[.W] Rotate left arithmetically
* RLA.B Rotate left arithmetically
Syntax
RLA dst or RLA.W dst
RLA.B dst
Operation C ← MSB ← MSB-1 .... LSB+1 ← LSB ← 0
ADD dst,dst
Emulation
ADD.B dst,dst
Description
The destination operand is shifted left one position as shown in Figure 4-37. The MSB is
shifted into the carry bit (C) and the LSB is filled with 0. The RLA instruction acts as a
signed multiplication by 2.
An overflow occurs if dst ≥ 04000h and dst < 0C000h before operation is performed; the
result has changed sign.
Figure 4-37. Destination Operand—Arithmetic Shift Left
An overflow occurs if dst ≥ 040h and dst < 0C0h before the operation is performed; the
result has changed sign.
Status Bits N: Set if result is negative, reset if positive
Z: Set if result is zero, reset otherwise
C: Loaded from the MSB
V: Set if an arithmetic overflow occurs; the initial value is 04000h ≤ dst < 0C000h,
reset otherwise
Set if an arithmetic overflow occurs; the initial value is 040h ≤ dst < 0C0h, reset
otherwise
Mode Bits OSCOFF, CPUOFF, and GIE are not affected.
Example R7 is multiplied by 2.
RLA R7 ; Shift left R7 (x 2)
Example The low byte of R7 is multiplied by 4.
RLA.B R7 ; Shift left low byte of R7 (x 2)
RLA.B R7 ; Shift left low byte of R7 (x 4)
NOTE: RLA substitution
The assembler does not recognize the instructions:
RLA @R5+ RLA.B @R5+ RLA(.B) @R5
They must be substituted by:
ADD @R5+,-2(R5) ADD.B @R5+,-1(R5) ADD(.B) @R5
201
SLAU144J–December 2004–Revised July 2013 CPUX
Submit Documentation Feedback
Copyright © 2004–2013, Texas Instruments Incorporated