Stereo System User Manual
A - 76 DSP96002 USER’S MANUAL MOTOROLA
Other restrictions:
BSR to (LA), if Loop Flag is set
(F)BScc to (LA), if Loop Flag is set
JSR to (LA), if Loop Flag is set
(F)JScc to (LA), if Loop Flag is set
JSCLR to (LA), if Loop Flag is set
JSSET to (LA), if Loop Flag is set
BSCLR to (LA), if Loop Flag is set
BSSET to (LA), if Loop Flag is set
A DO instruction cannot be repeated using the REP instruction.
Note: Due to pipelining, if an address register (R0-R7, N0-N7, or M0-M7) is changed using a move-type
instruction (LUA, Tcc, MOVE, MOVEC, MOVEM, MOVEP, or parallel move), the new contents of the des-
tination address register will not be available for use during the following instruction (i.e., there is a single
instruction cycle pipeline delay). This restriction also applies to the situation in which the last instruction in
a DO loop changes an address register and the first instruction at the top of the DO loop uses that same
address register. The top instruction becomes the following instruction because of the loop construct.
Similarly, since the DO instruction accesses the program controller registers, the DO instruction must not
be immediately proceeded by any of the following instructions:
Immediately before DO:
BCHG/BCLR/BSET LA, LC, SSH, SSL or SP
LEA to LA, LC, SSH, SSL or SP
LRA to LA, LC, SSH, SSL or SP
MOVEC/I/M/S to LA, LC, SSH, SSL or SP
MOVEC/M/S from SSH
During hardware loop operation, each instruction is fetched each time through the program loop. There-
fore, instructions being executed in a hardware loop are interruptible and may be nested. The value of the
PC pushed onto the system stack is the location of the first instruction after the DO instruction. This value
is read from the top of the system stack to return to the start of the program loop. When DO instructions
are nested, the end of loop addresses must also be nested and are not allowed to be equal. An example
is shown: