
C
19
0
MSB
0000
15
LSB
C
19
0
MSB
LSB
16
Instruction Set Description
4.6.3.25 RRAM
RRAM.A
Rotate right arithmetically the 20-bit CPU register content
RRAM.[W]
Rotate right arithmetically the 16-bit CPU register content
RRAM.A #n,Rdst
Syntax
1
≤
n
≤
4
RRAM.W #n,Rdst
or
RRAM #n,Rdst
1
≤
n
≤
4
Operation
MSB
→
MSB
→
MSB–1 ... LSB+1
→
LSB
→
C
Description
The destination operand is shifted right arithmetically by one, two, three, or four bit
positions as shown in
. The MSB retains its value (sign). RRAM operates
equal to a signed division by 2, 4, 8, or 16. The MSB is retained and shifted into MSB-1.
The LSB+1 is shifted into the LSB, and the LSB is shifted into the carry bit C. The word
instruction RRAM.W clears the bits Rdst.19:16.
Note : This instruction does not use the extension word.
Status Bits
N:
Set if result is negative
.A: Rdst.19 = 1, reset if Rdst.19 = 0
.W: Rdst.15 = 1, reset if Rdst.15 = 0
Z:
Set if result is zero, reset otherwise
C:
Loaded from the LSB (n = 1), LSB+1 (n = 2), LSB+2 (n = 3), or LSB+3 (n = 4)
V:
Reset
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
The signed 20-bit number in R5 is shifted arithmetically right two positions.
RRAM.A
#2,R5
; R5/4 -> R5
Example
The signed 20-bit value in R15 is multiplied by 0.75. (0.5 + 0.25) × R15.
PUSHM.A
#1,R15
; Save extended R15 on stack
RRAM.A
#1,R15
; R15 y 0.5 -> R15
ADDX.A
@SP+,R15
; R15 y 0.5 + R15 = 1.5 y R15 -> R15
RRAM.A
#1,R15
; (1.5 y R15) y 0.5 = 0.75 y R15 -> R15
Figure 4-47. Rotate Right Arithmetically RRAM[.W] and RRAM.A
211
SLAU272C – May 2011 – Revised November 2013
CPUX
Copyright © 2011–2013, Texas Instruments Incorporated