
16-bit signed index
(sign extended to 20 bits)
CPU Register Rn
20-bit signed add
Memory address
FFFFF
00000
Lo
wer 64 KB
0FFFF
10000
Upper Memory
Rn.19:16 > 0
16-bit byte index
1 ... 15
19
16 15
0
S
Rn ± 32 KB
S
Rn.19:0
xxxxh
Address
Space
F000h
1000h
PC
1103Ah
11038h
11036h
0479Ch
01778h
R5
R6
01778h
+F000h
00778h
Register
Before:
Address
Space
Register
After:
55D6h
11034h
xxxxh
F000h
1000h
PC
1103Ah
11038h
11036h
0479Ch
01778h
R5
R6
55D6h
11034h
xxxxh
xx45h
0077Ah
00778h
xxxxh
xx77h
0077Ah
00778h
32h
+45h
77h
src
dst
Sum
0479Ch
+1000h
0579Ch
xxxxh
xx32h
0579Eh
0579Ch
xxxxh
xx32h
0579Eh
0579Ch
Addressing Modes
4.4.2.2
MSP430 Instruction With Indexed Mode in Upper Memory
If the CPU register Rn points to an address above the lower 64-KB memory, the Rn bits 19:16 are used
for the address calculation of the operand. The operand may be located in memory in the range Rn ±32
KB, because the index, X, is a signed 16-bit value. In this case, the address of the operand can overflow
or underflow into the lower 64-KB memory space (see
and
Figure 4-16. Indexed Mode in Upper Memory
100
CPUX
SLAU272C – May 2011 – Revised November 2013
Copyright © 2011–2013, Texas Instruments Incorporated