EasyManua.ls Logo

Texas Instruments TMS320C28x

Texas Instruments TMS320C28x
695 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Indirect Addressing Modes
5-18
MOVL *BR0++,ACC,ARP1 ; Store ACC into location pointed to by XAR3,
; post−increment XAR3 with AR0 reverse carry
; add, set ARP pointer to point to XAR1
XBANZ Loop,*−−,ARP2 ; Loop until AR1 == 0, post−decrement AR1,
; set ARP to point to XAR2
AMODE ”loc16/loc32” Syntax Description
X *BR0−− Address Generation:
32bitDataAddr(31:0) = XAR(ARP)
XAR(ARP)(15:0) = AR(ARP) rbsub AR0 {see note [1]}
XAR(ARP)(31:16) = unchanged
Note: The lower 16-bits of XAR0 are reverse borrow subtracted (rbsub) from the
lower 16-bits of the selected register. Upper 16-bits of XAR0 ignored. Up-
per 16-bits of the selected register unchanged by the operation.
Example(s):
; Transfer contents of Array1 to Array2 in bit reverse order:
MOVL XAR2,#Array1+(N−1)*2 ; Load XAR2 with end address of Array1
MOVL XAR3,#Array2+(N−1)*2 ; Load XAR3 with end address of Array2
MOV @AR0,#N ; Load AR0 with size of array,
; N must be a multiple of 2 (2,4,8,16,...)
MOV @AR1,#N−1 ; Load AR1 with loop count N
Loop:
NOP *,ARP2 ; Set ARP pointer to point to XAR2
MOVL ACC,*−− ; Load ACC with location pointed to by
; XAR2, post−decrement XAR2
NOP *,ARP3 ; Set ARP pointer to point to XAR3
MOVL *BR0−−,ACC ; Store ACC into location pointed to by
; XAR3, post−decrement XAR3 with AR0
; reverse borrow subtract
NOP *,ARP1 ; Set ARP pointer to point to XAR1
XBANZ Loop,*−− ; Loop until AR1 == 0, post−decrement AR1

Table of Contents

Related product manuals