Indirect Addressing Modes
5.6.2
C2xLP Indirect Addressing Modes (ARP, XAR0 to XAR7)
AMODE
"loc16/loc32" Syntax
X
Example(s):
MOVZ
DP,#RegAPtr
MOVZ
AR2,@RegAPtr
MOVZ
AR3,@RegBPtr
NOP
*,ARP2
MOV
*,#0x0404
NOP
*,ARP3
MOV
*,#0x8000
AMODE
"loc16/loc32" Syntax
X
*,ARPn
Example(s):
MOVZ
DP,#RegAPtr
MOVZ
AR2,@RegAPtr
MOVZ
AR3,@RegBPtr
NOP
*,ARP2
MOV
*,#0x0404,ARP3
MOV
*,#0x8000
5-12
Description
32bitDataAddr(31:0) = XAR(ARP)
*
Note:
The XARn register used is the register pointed to by the current value in
the ARP pointer. ARP = 0, points to XAR0, ARP = 1, points to XAR1 and
so on.
; Load DP with page address containing RegAPtr
; Load AR2 with contents of RegAPtr, AR2H = 0
; Load AR3 with contents of RegBPtr, AR3H = 0
; RegAPtr and RegBPtr are located in the same
; 128 word data page. Both are located in
; the low 64K of data memory space.
; Set ARP pointer to point to XAR2
; Store 0x0404 into location pointed by XAR2
; Set ARP pointer to point to XAR3
; Store 0x8000 into location pointed by XAR3
Description
32bitDataAddr(31:0) = XAR(ARP)
ARP = n
; Load DP with page address containing RegAPtr
; Load AR2 with contents of RegAPtr, AR2H = 0
; Load AR3 with contents of RegBPtr, AR3H = 0
; RegAPtr and RegBPtr are located in the same
; 128 word data page. Both are located in
; the low 64K of data memory space.
; Set ARP pointer to point to XAR2
; Store 0x0404 into location pointed by XAR2,
; Set ARP pointer to point to XAR3
; Store 0x8000 into location pointed by XAR3
Need help?
Do you have a question about the TMS320C28x and is the answer not in the manual?