MOTOROLA
DSP96002 USER’S MANUAL
A - 79
DOR
Start PC Relative Hardware Loop
DOR
Operation:
LA
→
SSH; LC
→
SSL; X:<ea>
→
LC
PC
→
SSH; SR
→
SSL; PC+xxxx
→
LA; 1
→
LF
LA
→
SSH; LC
→
SSL; Y:<ea>
→
LC
PC
→
SSH; SR
→
SSL; PC+xxxx
→
LA; 1
→
LF
LA
→
SSH; LC
→
SSL; S
→
LC
PC
→
SSH; SR
→
SSL; PC+xxxx
→
LA; 1
→
LF
LA
→
SSH; LC
→
SSL; #xxx
→
LC
PC
→
SSH; SR
→
SSL; PC+xxxx
→
LA; 1
→
LF
Assembler Syntax:
DOR X: ea, label
DOR Y: ea, label
DOR S,label
DOR #count,label
Description:
This instruction initiates the beginning of a PC relative hardware program loop. The current loop address
(LA) and loop counter (LC) values are pushed onto the system stack. With proper system stack manage-
ment, this allows unlimited nested hardware DO loops. The PC and SR are pushed onto the system stack.
The PC is added to the 32-bit address displacement extension word and the resulting address is loaded
into the loop address register (LA). The PC points to the next instruction when it is added to the displace-
ment. The effective address specifies the address of the loop count which is loaded into the loop counter
(LC). The DO loop is executed LC times. If LC=0, the loop is executed 2**32 times. All address register
indirect addressing modes (less Long Displacement) may be used. Register Direct addressing mode may
also be used. If immediate short data is specified, the LC is loaded with the zero extended 19-bit immedi-
ate data.
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 DOR instruction. This
value is read from the top of the system stack to return to the start of the program loop. When DOR in-
structions are nested, the end of loop addresses must also be nested and are not allowed to be equal.
An example is shown below.
DOR
#n1,END1
DOR
#n2,END2
MOVE D0,X:(R0)+
END2
ADD
D1,D2
X:(R1)+,D3
END1
The assembler calculates the end of loop address LA (PC relative address extension word xxxx) by eval-
uating the end of loop expression and subtracting one. Thus the end of loop expression in the source code
Summary of Contents for DSP96002
Page 3: ...1 2 DSP96002 USER S MANUAL MOTOROLA ...
Page 38: ...MOTOROLA DSP96002 USER S MANUAL 3 15 Figure 3 4 Modulo Arithmetic Unit Block Diagram ...
Page 39: ...3 16 DSP96002 USER S MANUAL MOTOROLA ...
Page 53: ...4 14 DSP96002 USER S MANUAL MOTOROLA ...
Page 76: ...MOTOROLA DSP96002 USER S MANUAL 5 23 Figure 5 8 Address Modifier Summary ...
Page 86: ...6 10 DSP96002 USER S MANUAL MOTOROLA ...
Page 101: ...MOTOROLA DSP96002 USER S MANUAL 7 15 Figure 7 9 HI Block Diagram One Port ...
Page 140: ...7 54 DSP96002 USER S MANUAL MOTOROLA ...
Page 166: ...9 10 DSP96002 USER S MANUAL MOTOROLA ...
Page 181: ...MOTOROLA DSP96002 USER S MANUAL 10 15 Figure 10 8 Program Address Bus FIFO ...
Page 337: ...MOTOROLA DSP96002 USER S MANUAL A 149 ...
Page 404: ...A 216 DSP96002 USER S MANUAL MOTOROLA PC xxxx D ...
Page 460: ...A 272 DSP96002 USER S MANUAL MOTOROLA SIOP Not affected ...
Page 484: ...A 296 DSP96002 USER S MANUAL MOTOROLA SSH PC SSL SR SP 1 SP ...
Page 519: ...MOTOROLA DSP96002 USER S MANUAL A 331 ...
Page 718: ...MOTOROLA DSP96002 USER S MANUAL B 199 ...
Page 871: ... MOTOROLA INC 1994 MOTOROLA TECHNICAL DATA SEMICONDUCTOR M Addendum ...
Page 888: ...MOTOROLA INDEX 1 INDEX ...
Page 889: ......