16-bit signed PC index
(sign extended to 20 bits)
Program
counter PC
20-bit signed add
Memory address
FFFFF
00000
Lower 64KB
0FFFF
10000
PC.19:0
Upper Memory
PC.19:16 > 0
16-bit byte index
1 ... 15
19
16 15
0
S
PC ±32KB
S
xxxxh
Address
Space
F740h
4766h
PC
0103Ah
01038h
01036h
01038h
+0F740h
00778h
Before:
Address
Space
After:
05D0h
01034h
xxxxh
F740h
4766h
PC
0103Ah
01038h
01036h
50D0h
01034h
xxxxh
xx45h
0077Ah
00778h
xxxxh
xx77h
0077Ah
00778h
32h
+45h
77h
src
dst
Sum
01036h
+04766h
0579Ch
xxxxh
xx32h
0579Eh
0579Ch
xxxxh
xx32h
0579Eh
0579Ch
Addressing Modes
131
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.4.3.2
MSP430 Instruction With Symbolic Mode in Upper Memory
If the PC points to an address above the lower 64KB memory, the PC bits 19:16 are used for the address
calculation of the operand. The operand may be located in memory in the range PC ± 32KB, 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 64KB memory space as shown in
and
.
Figure 4-20. Symbolic Mode Running in Upper Memory