Texas Instruments MSP430x1xx User Manual
Page 397
Instruction Set Overview
B-47
Instruction Set Description
* 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
Emulation
ADD
dst,dst
ADD.B
dst,dst
Description
The destination operand is shifted left one position as shown in Figure B–6.
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 B–6.Destination Operand—Arithmetic Shift Left
15
0
7
0
C
Byte
Word
0
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; otherwise it is reset
Set if an arithmetic overflow occurs:
the initial value is 040h
≤
dst < 0C0h; otherwise it is reset
Mode Bits
OscOff, CPUOff, and GIE are not affected.
Example
R7 is multiplied by 4.
RLA
R7
; Shift left R7 (
×
2) – emulated by ADD R7,R7
RLA
R7
; Shift left R7 (
×
4) – emulated by ADD R7,R7
Example
The low byte of R7 is multiplied by 4.
RLA.B
R7
; Shift left low byte of R7 (
×
2) – emulated by
; ADD.B R7,R7
RLA.B
R7
; Shift left low byte of R7 (
×
4) – emulated by
; ADD.B R7,R7
Note:
RLA Substitution
The assembler does not recognize the instruction:
RLA
@R5+
nor
RLA.B @R5+.
It must be substituted by:
ADD
@R5+,–2(R5)
or
ADD.B @R5+,–1(R5).