5.6.3
Circular Indirect Addressing Modes (XAR6, XAR1)
AMODE
"loc16/loc32" Syntax
0
*AR6%++
Description
32bitDataAddr(31:0) = XAR6
if( XAR6(7:0) == XAR1(7:0) )
{
XAR6(7:0) = 0x00
XAR6(15:8) = unchanged
}
else
{
if(16-bit data), XAR6(15:0) =+ 1
if(32-bit data), XAR6(15:0) =+ 2
}
XAR6(31:16) = unchanged
ARP = 6
As seen in Figure 5−1, buffer size is determined by the 8 LSBs of AR1 or
AR1[7:0]. Specifically, the buffer size is AR1[7:0] +1. When AR1[7:0] is 255,
then the buffer size is at its maximum size of 256 words.
XAR6 points to the current address in the buffer. The top of the buffer must be
at an address where the 8 LSBs are all 0s.
If one of the instructions accessing the circular buffer performs a 32-bit opera-
tion, make sure XAR6 and AR1 are both even before the buffer is accessed.
Indirect Addressing Modes
C28x Addressing Modes
5-21
Need help?
Do you have a question about the TMS320C28x and is the answer not in the manual?