1*48596154Schristos//Original:/proj/frio/dv/testcases/seq/se_loop_mv2lt_stall/se_loop_mv2lt_stall.dsp
2*48596154Schristos# mach: bfin
3*48596154Schristos# sim: --environment operating
4*48596154Schristos
5*48596154Schristos#include "test.h"
6*48596154Schristos.include "testutils.inc"
7*48596154Schristosstart
8*48596154Schristos
9*48596154Schristos/////////////////////////////////////////////////////////////////////////////
10*48596154Schristos///////////////////////// Include Files         /////////////////////////////
11*48596154Schristos/////////////////////////////////////////////////////////////////////////////
12*48596154Schristos
13*48596154Schristosinclude(std.inc)
14*48596154Schristosinclude(selfcheck.inc)
15*48596154Schristos
16*48596154Schristos/////////////////////////////////////////////////////////////////////////////
17*48596154Schristos///////////////////////// Defines               /////////////////////////////
18*48596154Schristos/////////////////////////////////////////////////////////////////////////////
19*48596154Schristos
20*48596154Schristos#ifndef USER_CODE_SPACE
21*48596154Schristos#define USER_CODE_SPACE  0x00000500
22*48596154Schristos#endif
23*48596154Schristos#ifndef STACKSIZE
24*48596154Schristos#define STACKSIZE        0x00000010
25*48596154Schristos#endif
26*48596154Schristos#ifndef ITABLE
27*48596154Schristos#define ITABLE           0xF0000000
28*48596154Schristos#endif
29*48596154Schristos#ifndef EVT
30*48596154Schristos#define EVT              0xFFE02000
31*48596154Schristos#endif
32*48596154Schristos#ifndef EVT_OVERRIDE
33*48596154Schristos#define EVT_OVERRIDE     0xFFE02100
34*48596154Schristos#endif
35*48596154Schristos#ifndef IMASK
36*48596154Schristos#define IMASK            0xFFE02104
37*48596154Schristos#endif
38*48596154Schristos#ifndef DMEM_CONTROL
39*48596154Schristos#define DMEM_CONTROL     0xFFE00004
40*48596154Schristos#endif
41*48596154Schristos#ifndef DCPLB_ADDR0
42*48596154Schristos#define DCPLB_ADDR0      0xFFE00100
43*48596154Schristos#endif
44*48596154Schristos#ifndef DCPLB_DATA0
45*48596154Schristos#define DCPLB_DATA0      0xFFE00200
46*48596154Schristos#endif
47*48596154Schristos
48*48596154Schristos/////////////////////////////////////////////////////////////////////////////
49*48596154Schristos///////////////////////// RESET ISR             /////////////////////////////
50*48596154Schristos/////////////////////////////////////////////////////////////////////////////
51*48596154Schristos
52*48596154Schristos RST_ISR :
53*48596154Schristos
54*48596154Schristos    // Initialize Dregs
55*48596154SchristosINIT_R_REGS(0);
56*48596154Schristos
57*48596154Schristos    // Initialize Pregs
58*48596154SchristosINIT_P_REGS(0);
59*48596154Schristos
60*48596154Schristos    // Initialize ILBM Registers
61*48596154SchristosINIT_I_REGS(0);
62*48596154SchristosINIT_M_REGS(0);
63*48596154SchristosINIT_L_REGS(0);
64*48596154SchristosINIT_B_REGS(0);
65*48596154Schristos
66*48596154Schristos    // Initialize the Address of the Checkreg data segment
67*48596154Schristos    // **** THIS IS NEEDED WHENEVER CHECKREG IS USED ****
68*48596154SchristosCHECK_INIT(p5,   0x00BFFFFC);
69*48596154Schristos
70*48596154Schristos    // Setup User Stack
71*48596154SchristosLD32_LABEL(sp, USTACK);
72*48596154SchristosUSP = SP;
73*48596154Schristos
74*48596154Schristos    // Setup Kernel Stack
75*48596154SchristosLD32_LABEL(sp, KSTACK);
76*48596154Schristos
77*48596154Schristos    // Setup Frame Pointer
78*48596154SchristosFP = SP;
79*48596154Schristos
80*48596154Schristos    // Setup Event Vector Table
81*48596154SchristosLD32(p0, EVT);
82*48596154Schristos
83*48596154SchristosLD32_LABEL(r0, EMU_ISR);    // Emulation Handler (Int0)
84*48596154Schristos    [ P0 ++ ] = R0;
85*48596154SchristosLD32_LABEL(r0, RST_ISR);    // Reset Handler (Int1)
86*48596154Schristos    [ P0 ++ ] = R0;
87*48596154SchristosLD32_LABEL(r0, NMI_ISR);    // NMI Handler (Int2)
88*48596154Schristos    [ P0 ++ ] = R0;
89*48596154SchristosLD32_LABEL(r0, EXC_ISR);    // Exception Handler (Int3)
90*48596154Schristos    [ P0 ++ ] = R0;
91*48596154Schristos    [ P0 ++ ] = R0;                // IVT4 not used
92*48596154SchristosLD32_LABEL(r0, HWE_ISR);    // HW Error Handler (Int5)
93*48596154Schristos    [ P0 ++ ] = R0;
94*48596154SchristosLD32_LABEL(r0, TMR_ISR);    // Timer Handler (Int6)
95*48596154Schristos    [ P0 ++ ] = R0;
96*48596154SchristosLD32_LABEL(r0, IGV7_ISR);   // IVG7 Handler
97*48596154Schristos    [ P0 ++ ] = R0;
98*48596154SchristosLD32_LABEL(r0, IGV8_ISR);   // IVG8 Handler
99*48596154Schristos    [ P0 ++ ] = R0;
100*48596154SchristosLD32_LABEL(r0, IGV9_ISR);   // IVG9 Handler
101*48596154Schristos    [ P0 ++ ] = R0;
102*48596154SchristosLD32_LABEL(r0, IGV10_ISR);  // IVG10 Handler
103*48596154Schristos    [ P0 ++ ] = R0;
104*48596154SchristosLD32_LABEL(r0, IGV11_ISR);  // IVG11 Handler
105*48596154Schristos    [ P0 ++ ] = R0;
106*48596154SchristosLD32_LABEL(r0, IGV12_ISR);  // IVG12 Handler
107*48596154Schristos    [ P0 ++ ] = R0;
108*48596154SchristosLD32_LABEL(r0, IGV13_ISR);  // IVG13 Handler
109*48596154Schristos    [ P0 ++ ] = R0;
110*48596154SchristosLD32_LABEL(r0, IGV14_ISR);  // IVG14 Handler
111*48596154Schristos    [ P0 ++ ] = R0;
112*48596154SchristosLD32_LABEL(r0, IGV15_ISR);  // IVG15 Handler
113*48596154Schristos    [ P0 ++ ] = R0;
114*48596154Schristos
115*48596154Schristos    // Setup the EVT_OVERRIDE MMR
116*48596154Schristos    R0 = 0;
117*48596154SchristosLD32(p0, EVT_OVERRIDE);
118*48596154Schristos    [ P0 ] = R0;
119*48596154Schristos
120*48596154Schristos    // Setup Interrupt Mask
121*48596154Schristos    R0 = -1;
122*48596154SchristosLD32(p0, IMASK);
123*48596154Schristos    [ P0 ] = R0;
124*48596154Schristos
125*48596154Schristos    // Return to Supervisor Code
126*48596154SchristosRAISE 15;
127*48596154SchristosNOP;
128*48596154Schristos
129*48596154SchristosLD32_LABEL(r0, USER_CODE);
130*48596154SchristosRETI = R0;
131*48596154SchristosRTI;
132*48596154Schristos
133*48596154Schristos.dw 0xFFFF
134*48596154Schristos.dw 0xFFFF
135*48596154Schristos.dw 0xFFFF
136*48596154Schristos.dw 0xFFFF
137*48596154Schristos.dw 0xFFFF
138*48596154Schristos.dw 0xFFFF
139*48596154Schristos.dw 0xFFFF
140*48596154Schristos
141*48596154Schristos/////////////////////////////////////////////////////////////////////////////
142*48596154Schristos
143*48596154Schristos
144*48596154Schristos/////////////////////////////////////////////////////////////////////////////
145*48596154Schristos///////////////////////// EMU ISR               /////////////////////////////
146*48596154Schristos/////////////////////////////////////////////////////////////////////////////
147*48596154Schristos
148*48596154Schristos EMU_ISR :
149*48596154Schristos
150*48596154SchristosRTE;
151*48596154Schristos
152*48596154Schristos.dw 0xFFFF
153*48596154Schristos.dw 0xFFFF
154*48596154Schristos.dw 0xFFFF
155*48596154Schristos.dw 0xFFFF
156*48596154Schristos.dw 0xFFFF
157*48596154Schristos.dw 0xFFFF
158*48596154Schristos.dw 0xFFFF
159*48596154Schristos
160*48596154Schristos/////////////////////////////////////////////////////////////////////////////
161*48596154Schristos///////////////////////// NMI ISR               /////////////////////////////
162*48596154Schristos/////////////////////////////////////////////////////////////////////////////
163*48596154Schristos
164*48596154Schristos NMI_ISR :
165*48596154Schristos
166*48596154SchristosRTN;
167*48596154Schristos
168*48596154Schristos.dw 0xFFFF
169*48596154Schristos.dw 0xFFFF
170*48596154Schristos.dw 0xFFFF
171*48596154Schristos.dw 0xFFFF
172*48596154Schristos.dw 0xFFFF
173*48596154Schristos.dw 0xFFFF
174*48596154Schristos.dw 0xFFFF
175*48596154Schristos
176*48596154Schristos/////////////////////////////////////////////////////////////////////////////
177*48596154Schristos///////////////////////// EXC ISR               /////////////////////////////
178*48596154Schristos/////////////////////////////////////////////////////////////////////////////
179*48596154Schristos
180*48596154Schristos EXC_ISR :
181*48596154Schristos
182*48596154SchristosRTX;
183*48596154Schristos
184*48596154Schristos.dw 0xFFFF
185*48596154Schristos.dw 0xFFFF
186*48596154Schristos.dw 0xFFFF
187*48596154Schristos.dw 0xFFFF
188*48596154Schristos.dw 0xFFFF
189*48596154Schristos.dw 0xFFFF
190*48596154Schristos.dw 0xFFFF
191*48596154Schristos
192*48596154Schristos/////////////////////////////////////////////////////////////////////////////
193*48596154Schristos///////////////////////// HWE ISR               /////////////////////////////
194*48596154Schristos/////////////////////////////////////////////////////////////////////////////
195*48596154Schristos
196*48596154Schristos HWE_ISR :
197*48596154Schristos
198*48596154SchristosRTI;
199*48596154Schristos
200*48596154Schristos.dw 0xFFFF
201*48596154Schristos.dw 0xFFFF
202*48596154Schristos.dw 0xFFFF
203*48596154Schristos.dw 0xFFFF
204*48596154Schristos.dw 0xFFFF
205*48596154Schristos.dw 0xFFFF
206*48596154Schristos.dw 0xFFFF
207*48596154Schristos
208*48596154Schristos/////////////////////////////////////////////////////////////////////////////
209*48596154Schristos///////////////////////// TMR ISR               /////////////////////////////
210*48596154Schristos/////////////////////////////////////////////////////////////////////////////
211*48596154Schristos
212*48596154Schristos TMR_ISR :
213*48596154Schristos
214*48596154SchristosRTI;
215*48596154Schristos
216*48596154Schristos.dw 0xFFFF
217*48596154Schristos.dw 0xFFFF
218*48596154Schristos.dw 0xFFFF
219*48596154Schristos.dw 0xFFFF
220*48596154Schristos.dw 0xFFFF
221*48596154Schristos.dw 0xFFFF
222*48596154Schristos.dw 0xFFFF
223*48596154Schristos
224*48596154Schristos/////////////////////////////////////////////////////////////////////////////
225*48596154Schristos///////////////////////// IGV7 ISR              /////////////////////////////
226*48596154Schristos/////////////////////////////////////////////////////////////////////////////
227*48596154Schristos
228*48596154Schristos IGV7_ISR :
229*48596154Schristos
230*48596154SchristosRTI;
231*48596154Schristos
232*48596154Schristos.dw 0xFFFF
233*48596154Schristos.dw 0xFFFF
234*48596154Schristos.dw 0xFFFF
235*48596154Schristos.dw 0xFFFF
236*48596154Schristos.dw 0xFFFF
237*48596154Schristos.dw 0xFFFF
238*48596154Schristos.dw 0xFFFF
239*48596154Schristos
240*48596154Schristos/////////////////////////////////////////////////////////////////////////////
241*48596154Schristos///////////////////////// IGV8 ISR              /////////////////////////////
242*48596154Schristos/////////////////////////////////////////////////////////////////////////////
243*48596154Schristos
244*48596154Schristos IGV8_ISR :
245*48596154Schristos
246*48596154SchristosRTI;
247*48596154Schristos
248*48596154Schristos.dw 0xFFFF
249*48596154Schristos.dw 0xFFFF
250*48596154Schristos.dw 0xFFFF
251*48596154Schristos.dw 0xFFFF
252*48596154Schristos.dw 0xFFFF
253*48596154Schristos.dw 0xFFFF
254*48596154Schristos.dw 0xFFFF
255*48596154Schristos
256*48596154Schristos/////////////////////////////////////////////////////////////////////////////
257*48596154Schristos///////////////////////// IGV9 ISR              /////////////////////////////
258*48596154Schristos/////////////////////////////////////////////////////////////////////////////
259*48596154Schristos
260*48596154Schristos IGV9_ISR :
261*48596154Schristos
262*48596154SchristosRTI;
263*48596154Schristos
264*48596154Schristos.dw 0xFFFF
265*48596154Schristos.dw 0xFFFF
266*48596154Schristos.dw 0xFFFF
267*48596154Schristos.dw 0xFFFF
268*48596154Schristos.dw 0xFFFF
269*48596154Schristos.dw 0xFFFF
270*48596154Schristos.dw 0xFFFF
271*48596154Schristos
272*48596154Schristos/////////////////////////////////////////////////////////////////////////////
273*48596154Schristos///////////////////////// IGV10 ISR             /////////////////////////////
274*48596154Schristos/////////////////////////////////////////////////////////////////////////////
275*48596154Schristos
276*48596154Schristos IGV10_ISR :
277*48596154Schristos
278*48596154SchristosRTI;
279*48596154Schristos
280*48596154Schristos.dw 0xFFFF
281*48596154Schristos.dw 0xFFFF
282*48596154Schristos.dw 0xFFFF
283*48596154Schristos.dw 0xFFFF
284*48596154Schristos.dw 0xFFFF
285*48596154Schristos.dw 0xFFFF
286*48596154Schristos.dw 0xFFFF
287*48596154Schristos
288*48596154Schristos/////////////////////////////////////////////////////////////////////////////
289*48596154Schristos///////////////////////// IGV11 ISR             /////////////////////////////
290*48596154Schristos/////////////////////////////////////////////////////////////////////////////
291*48596154Schristos
292*48596154Schristos IGV11_ISR :
293*48596154Schristos
294*48596154SchristosRTI;
295*48596154Schristos
296*48596154Schristos.dw 0xFFFF
297*48596154Schristos.dw 0xFFFF
298*48596154Schristos.dw 0xFFFF
299*48596154Schristos.dw 0xFFFF
300*48596154Schristos.dw 0xFFFF
301*48596154Schristos.dw 0xFFFF
302*48596154Schristos.dw 0xFFFF
303*48596154Schristos
304*48596154Schristos/////////////////////////////////////////////////////////////////////////////
305*48596154Schristos///////////////////////// IGV12 ISR             /////////////////////////////
306*48596154Schristos/////////////////////////////////////////////////////////////////////////////
307*48596154Schristos
308*48596154Schristos IGV12_ISR :
309*48596154Schristos
310*48596154SchristosRTI;
311*48596154Schristos
312*48596154Schristos.dw 0xFFFF
313*48596154Schristos.dw 0xFFFF
314*48596154Schristos.dw 0xFFFF
315*48596154Schristos.dw 0xFFFF
316*48596154Schristos.dw 0xFFFF
317*48596154Schristos.dw 0xFFFF
318*48596154Schristos.dw 0xFFFF
319*48596154Schristos
320*48596154Schristos/////////////////////////////////////////////////////////////////////////////
321*48596154Schristos///////////////////////// IGV13 ISR             /////////////////////////////
322*48596154Schristos/////////////////////////////////////////////////////////////////////////////
323*48596154Schristos
324*48596154Schristos IGV13_ISR :
325*48596154Schristos
326*48596154SchristosRTI;
327*48596154Schristos
328*48596154Schristos.dw 0xFFFF
329*48596154Schristos.dw 0xFFFF
330*48596154Schristos.dw 0xFFFF
331*48596154Schristos.dw 0xFFFF
332*48596154Schristos.dw 0xFFFF
333*48596154Schristos.dw 0xFFFF
334*48596154Schristos.dw 0xFFFF
335*48596154Schristos
336*48596154Schristos/////////////////////////////////////////////////////////////////////////////
337*48596154Schristos///////////////////////// IGV14 ISR             /////////////////////////////
338*48596154Schristos/////////////////////////////////////////////////////////////////////////////
339*48596154Schristos
340*48596154Schristos IGV14_ISR :
341*48596154Schristos
342*48596154SchristosRTI;
343*48596154Schristos
344*48596154Schristos.dw 0xFFFF
345*48596154Schristos.dw 0xFFFF
346*48596154Schristos.dw 0xFFFF
347*48596154Schristos.dw 0xFFFF
348*48596154Schristos.dw 0xFFFF
349*48596154Schristos.dw 0xFFFF
350*48596154Schristos.dw 0xFFFF
351*48596154Schristos
352*48596154Schristos/////////////////////////////////////////////////////////////////////////////
353*48596154Schristos///////////////////////// IGV15 ISR             /////////////////////////////
354*48596154Schristos/////////////////////////////////////////////////////////////////////////////
355*48596154Schristos
356*48596154Schristos IGV15_ISR :
357*48596154Schristos
358*48596154Schristos    P0 = 0x5 (Z);
359*48596154Schristos    P1 = 0x3 (Z);
360*48596154Schristos    P2 = 0x0100 (Z);
361*48596154Schristos    P2.H = 0x00f0;
362*48596154Schristos
363*48596154Schristos    // Loop 0
364*48596154SchristosLD32_LABEL(r0, L0T);
365*48596154SchristosLD32_LABEL(r1, L0B);
366*48596154SchristosLC0 = p1;
367*48596154SchristosLB0 = r1;
368*48596154Schristos    R5 = [ P2 ++ ];
369*48596154SchristosLT0 = r0;
370*48596154SchristosL0T:R3 += 4;
371*48596154Schristos    R2 += 3;
372*48596154Schristos    R4 += 5;
373*48596154Schristos    R5 += 6;
374*48596154Schristos    R6 += 7;
375*48596154SchristosL0B:R7 += 8;
376*48596154Schristos
377*48596154Schristos    // Loop 0
378*48596154SchristosLD32_LABEL(r0, L1T);
379*48596154SchristosLD32_LABEL(r1, L1B);
380*48596154SchristosLB0 = r1;
381*48596154SchristosLC0 = p1;
382*48596154Schristos    R5 = [ P2 ++ ];
383*48596154SchristosNOP;
384*48596154SchristosLT0 = r0;
385*48596154SchristosL1T:R4 += 5;
386*48596154Schristos    R2 += 3;
387*48596154Schristos    R3 += 4;
388*48596154Schristos    R5 += 6;
389*48596154Schristos    R6 += 7;
390*48596154SchristosL1B:R7 += 8;
391*48596154Schristos
392*48596154Schristos    // Loop 0
393*48596154SchristosLD32_LABEL(r0, L2T);
394*48596154SchristosLD32_LABEL(r1, L2B);
395*48596154SchristosLB0 = r1;
396*48596154SchristosLC0 = p1;
397*48596154Schristos    R5 = [ P2 ++ ];
398*48596154SchristosNOP;
399*48596154SchristosNOP;
400*48596154SchristosLT0 = r0;
401*48596154SchristosL2T:R5 += 6;
402*48596154Schristos    R2 += 3;
403*48596154Schristos    R3 += 4;
404*48596154Schristos    R4 += 5;
405*48596154Schristos    R6 += 7;
406*48596154SchristosL2B:R7 += 8;
407*48596154Schristos
408*48596154Schristos    // Loop 0
409*48596154SchristosLD32_LABEL(r0, L3T);
410*48596154SchristosLD32_LABEL(r1, L3B);
411*48596154SchristosLB0 = r1;
412*48596154SchristosLC0 = p1;
413*48596154Schristos    R5 = [ P2 ++ ];
414*48596154SchristosNOP;
415*48596154SchristosNOP;
416*48596154SchristosNOP;
417*48596154SchristosLT0 = r0;
418*48596154SchristosL3T:R2 += 3;
419*48596154Schristos    R5 += 6;
420*48596154Schristos    R6 += 7;
421*48596154Schristos    R3 += 4;
422*48596154Schristos    R4 += 5;
423*48596154SchristosL3B:R7 += 8;
424*48596154Schristos
425*48596154Schristos    // Loop 0
426*48596154SchristosLD32_LABEL(r0, L4T);
427*48596154SchristosLD32_LABEL(r1, L4B);
428*48596154SchristosLB0 = r1;
429*48596154SchristosLC0 = p1;
430*48596154Schristos    R5 = [ P2 ++ ];
431*48596154SchristosNOP;
432*48596154SchristosNOP;
433*48596154SchristosNOP;
434*48596154SchristosNOP;
435*48596154SchristosLT0 = r0;
436*48596154SchristosL4T:R2 += 3;
437*48596154Schristos    R3 += 4;
438*48596154Schristos    R5 += 6;
439*48596154Schristos    R6 += 7;
440*48596154Schristos    R4 += 5;
441*48596154SchristosL4B:R7 += 8;
442*48596154Schristos
443*48596154Schristos    // Loop 0
444*48596154SchristosLD32_LABEL(r0, L5T);
445*48596154SchristosLD32_LABEL(r1, L5B);
446*48596154Schristos    [ -- SP ] = R0;
447*48596154SchristosSSYNC;
448*48596154SchristosLB0 = r1;
449*48596154SchristosLC0 = p0;
450*48596154Schristos    R5 = [ P2 ++ ];
451*48596154SchristosLT0 = [sp++];
452*48596154SchristosL5T:R2 += 3;
453*48596154Schristos    R3 += 4;
454*48596154Schristos    R5 += 6;
455*48596154Schristos    R6 += 7;
456*48596154Schristos    R4 += 5;
457*48596154SchristosL5B:R7 += 8;
458*48596154Schristos
459*48596154Schristos
460*48596154Schristos    // Loop 1
461*48596154SchristosLD32_LABEL(r0, M0T);
462*48596154SchristosLD32_LABEL(r1, M0B);
463*48596154SchristosLB1 = r1;
464*48596154SchristosLC1 = p1;
465*48596154Schristos    R5 = [ P2 ++ ];
466*48596154SchristosLT1 = r0;
467*48596154SchristosM0T:R3 += 4;
468*48596154Schristos    R2 += 3;
469*48596154Schristos    R4 += 5;
470*48596154Schristos    R5 += 6;
471*48596154Schristos    R6 += 7;
472*48596154SchristosM0B:R7 += 8;
473*48596154Schristos
474*48596154Schristos    // Loop 1
475*48596154SchristosLD32_LABEL(r0, M1T);
476*48596154SchristosLD32_LABEL(r1, M1B);
477*48596154SchristosLB1 = r1;
478*48596154SchristosLC1 = p1;
479*48596154Schristos    R5 = [ P2 ++ ];
480*48596154SchristosNOP;
481*48596154SchristosLT1 = r0;
482*48596154SchristosM1T:R4 += 5;
483*48596154Schristos    R2 += 3;
484*48596154Schristos    R3 += 4;
485*48596154Schristos    R5 += 6;
486*48596154Schristos    R6 += 7;
487*48596154SchristosM1B:R7 += 8;
488*48596154Schristos
489*48596154Schristos    // Loop 1
490*48596154SchristosLD32_LABEL(r0, M2T);
491*48596154SchristosLD32_LABEL(r1, M2B);
492*48596154SchristosLB1 = r1;
493*48596154SchristosLC1 = p1;
494*48596154Schristos    R5 = [ P2 ++ ];
495*48596154SchristosNOP;
496*48596154SchristosNOP;
497*48596154SchristosLT1 = r0;
498*48596154SchristosM2T:R5 += 6;
499*48596154Schristos    R2 += 3;
500*48596154Schristos    R3 += 4;
501*48596154Schristos    R4 += 5;
502*48596154Schristos    R6 += 7;
503*48596154SchristosM2B:R7 += 8;
504*48596154Schristos
505*48596154Schristos    // Loop 1
506*48596154SchristosLD32_LABEL(r0, M3T);
507*48596154SchristosLD32_LABEL(r1, M3B);
508*48596154SchristosLB1 = r1;
509*48596154SchristosLC1 = p1;
510*48596154Schristos    R5 = [ P2 ++ ];
511*48596154SchristosNOP;
512*48596154SchristosNOP;
513*48596154SchristosNOP;
514*48596154SchristosLT1 = r0;
515*48596154SchristosM3T:R2 += 3;
516*48596154Schristos    R5 += 6;
517*48596154Schristos    R6 += 7;
518*48596154Schristos    R3 += 4;
519*48596154Schristos    R4 += 5;
520*48596154SchristosM3B:R7 += 8;
521*48596154Schristos
522*48596154Schristos    // Loop 1
523*48596154SchristosLD32_LABEL(r0, M4T);
524*48596154SchristosLD32_LABEL(r1, M4B);
525*48596154SchristosLB1 = r1;
526*48596154SchristosLC1 = p1;
527*48596154Schristos    R5 = [ P2 ++ ];
528*48596154SchristosNOP;
529*48596154SchristosNOP;
530*48596154SchristosNOP;
531*48596154SchristosNOP;
532*48596154SchristosLT1 = r0;
533*48596154SchristosM4T:R2 += 3;
534*48596154Schristos    R3 += 4;
535*48596154Schristos    R5 += 6;
536*48596154Schristos    R6 += 7;
537*48596154Schristos    R4 += 5;
538*48596154SchristosM4B:R7 += 8;
539*48596154Schristos
540*48596154Schristos    // Loop 1
541*48596154SchristosLD32_LABEL(r0, M5T);
542*48596154SchristosLD32_LABEL(r1, M5B);
543*48596154Schristos    [ -- SP ] = R0;
544*48596154SchristosSSYNC;
545*48596154SchristosLB1 = r1;
546*48596154SchristosLC1 = p0;
547*48596154Schristos    R5 = [ P2 ++ ];
548*48596154SchristosLT1 = [sp++];
549*48596154SchristosM5T:R2 += 3;
550*48596154Schristos    R3 += 4;
551*48596154Schristos    R5 += 6;
552*48596154Schristos    R6 += 7;
553*48596154Schristos    R4 += 5;
554*48596154SchristosM5B:R7 += 8;
555*48596154Schristos
556*48596154SchristosNOP;
557*48596154SchristosNOP;
558*48596154SchristosRTI;
559*48596154Schristos
560*48596154Schristos.dw 0xFFFF
561*48596154Schristos.dw 0xFFFF
562*48596154Schristos.dw 0xFFFF
563*48596154Schristos.dw 0xFFFF
564*48596154Schristos.dw 0xFFFF
565*48596154Schristos.dw 0xFFFF
566*48596154Schristos.dw 0xFFFF
567*48596154Schristos
568*48596154Schristos/////////////////////////////////////////////////////////////////////////////
569*48596154Schristos///////////////////////// USER CODE             /////////////////////////////
570*48596154Schristos/////////////////////////////////////////////////////////////////////////////
571*48596154Schristos
572*48596154Schristos
573*48596154Schristos USER_CODE :
574*48596154Schristos
575*48596154SchristosNOP;
576*48596154SchristosNOP;
577*48596154SchristosNOP;
578*48596154SchristosNOP;
579*48596154Schristosdbg_pass;        // Call Endtest Macro
580*48596154Schristos
581*48596154Schristos/////////////////////////////////////////////////////////////////////////////
582*48596154Schristos///////////////////////// DATA MEMRORY          /////////////////////////////
583*48596154Schristos/////////////////////////////////////////////////////////////////////////////
584*48596154Schristos
585*48596154Schristos.section MEM_0x00F00100,"aw"
586*48596154Schristos.dd 0x01010101;
587*48596154Schristos.dd 0x02020202;
588*48596154Schristos.dd 0x03030303;
589*48596154Schristos.dd 0x04040404;
590*48596154Schristos.dd 0x05050505;
591*48596154Schristos.dd 0x06060606;
592*48596154Schristos.dd 0x07070707;
593*48596154Schristos.dd 0x08080808;
594*48596154Schristos.dd 0x09090909;
595*48596154Schristos.dd 0x0a0a0a0a;
596*48596154Schristos.dd 0x0b0b0b0b;
597*48596154Schristos.dd 0x0c0c0c0c;
598*48596154Schristos.dd 0x0d0d0d0d;
599*48596154Schristos.dd 0x0e0e0e0e;
600*48596154Schristos.dd 0x0f0f0f0f;
601*48596154Schristos
602*48596154Schristos// Define Kernal Stack
603*48596154Schristos.section MEM_0x00F00210,"aw"
604*48596154Schristos    .space (STACKSIZE);
605*48596154Schristos     KSTACK :
606*48596154Schristos
607*48596154Schristos    .space (STACKSIZE);
608*48596154Schristos     USTACK :
609*48596154Schristos
610*48596154Schristos/////////////////////////////////////////////////////////////////////////////
611*48596154Schristos///////////////////////// END OF TEST           /////////////////////////////
612*48596154Schristos/////////////////////////////////////////////////////////////////////////////
613