1*6ca2c52aSchristos//Original:/proj/frio/dv/testcases/seq/se_loop_mv2lc/se_loop_mv2lc.dsp
2*6ca2c52aSchristos# mach: bfin
3*6ca2c52aSchristos# sim: --environment operating
4*6ca2c52aSchristos
5*6ca2c52aSchristos#include "test.h"
6*6ca2c52aSchristos.include "testutils.inc"
7*6ca2c52aSchristosstart
8*6ca2c52aSchristos
9*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
10*6ca2c52aSchristos///////////////////////// Include Files         /////////////////////////////
11*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
12*6ca2c52aSchristos
13*6ca2c52aSchristosinclude(std.inc)
14*6ca2c52aSchristosinclude(selfcheck.inc)
15*6ca2c52aSchristosinclude(symtable.inc)
16*6ca2c52aSchristosinclude(mmrs.inc)
17*6ca2c52aSchristos
18*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
19*6ca2c52aSchristos///////////////////////// Defines               /////////////////////////////
20*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
21*6ca2c52aSchristos
22*6ca2c52aSchristos#ifndef USER_CODE_SPACE
23*6ca2c52aSchristos#define USER_CODE_SPACE  CODE_ADDR_1   //
24*6ca2c52aSchristos#endif
25*6ca2c52aSchristos#ifndef STACKSIZE
26*6ca2c52aSchristos#define STACKSIZE        0x00000010
27*6ca2c52aSchristos#endif
28*6ca2c52aSchristos#ifndef ITABLE
29*6ca2c52aSchristos#define ITABLE           CODE_ADDR_2   //
30*6ca2c52aSchristos#endif
31*6ca2c52aSchristos
32*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
33*6ca2c52aSchristos///////////////////////// RESET ISR             /////////////////////////////
34*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
35*6ca2c52aSchristos
36*6ca2c52aSchristos RST_ISR :
37*6ca2c52aSchristos
38*6ca2c52aSchristos    // Initialize Dregs
39*6ca2c52aSchristosINIT_R_REGS(0);
40*6ca2c52aSchristos
41*6ca2c52aSchristos    // Initialize Pregs
42*6ca2c52aSchristosINIT_P_REGS(0);
43*6ca2c52aSchristos
44*6ca2c52aSchristos    // Initialize ILBM Registers
45*6ca2c52aSchristosINIT_I_REGS(0);
46*6ca2c52aSchristosINIT_M_REGS(0);
47*6ca2c52aSchristosINIT_L_REGS(0);
48*6ca2c52aSchristosINIT_B_REGS(0);
49*6ca2c52aSchristos
50*6ca2c52aSchristos    // Initialize the Address of the Checkreg data segment
51*6ca2c52aSchristos    // **** THIS IS NEEDED WHENEVER CHECKREG IS USED ****
52*6ca2c52aSchristosCHECK_INIT_DEF(p5); //CHECK_INIT(p5,   0x00BFFFFC);
53*6ca2c52aSchristos
54*6ca2c52aSchristos    // Setup User Stack
55*6ca2c52aSchristosLD32_LABEL(sp, USTACK);
56*6ca2c52aSchristosUSP = SP;
57*6ca2c52aSchristos
58*6ca2c52aSchristos    // Setup Kernel Stack
59*6ca2c52aSchristosLD32_LABEL(sp, KSTACK);
60*6ca2c52aSchristos
61*6ca2c52aSchristos    // Setup Frame Pointer
62*6ca2c52aSchristosFP = SP;
63*6ca2c52aSchristos
64*6ca2c52aSchristos    // Setup Event Vector Table
65*6ca2c52aSchristosLD32(p0, EVT0);
66*6ca2c52aSchristos
67*6ca2c52aSchristosLD32_LABEL(r0, EMU_ISR);    // Emulation Handler (Int0)
68*6ca2c52aSchristos    [ P0 ++ ] = R0;
69*6ca2c52aSchristosLD32_LABEL(r0, RST_ISR);    // Reset Handler (Int1)
70*6ca2c52aSchristos    [ P0 ++ ] = R0;
71*6ca2c52aSchristosLD32_LABEL(r0, NMI_ISR);    // NMI Handler (Int2)
72*6ca2c52aSchristos    [ P0 ++ ] = R0;
73*6ca2c52aSchristosLD32_LABEL(r0, EXC_ISR);    // Exception Handler (Int3)
74*6ca2c52aSchristos    [ P0 ++ ] = R0;
75*6ca2c52aSchristos    [ P0 ++ ] = R0;                // IVT4 not used
76*6ca2c52aSchristosLD32_LABEL(r0, HWE_ISR);    // HW Error Handler (Int5)
77*6ca2c52aSchristos    [ P0 ++ ] = R0;
78*6ca2c52aSchristosLD32_LABEL(r0, TMR_ISR);    // Timer Handler (Int6)
79*6ca2c52aSchristos    [ P0 ++ ] = R0;
80*6ca2c52aSchristosLD32_LABEL(r0, IGV7_ISR);   // IVG7 Handler
81*6ca2c52aSchristos    [ P0 ++ ] = R0;
82*6ca2c52aSchristosLD32_LABEL(r0, IGV8_ISR);   // IVG8 Handler
83*6ca2c52aSchristos    [ P0 ++ ] = R0;
84*6ca2c52aSchristosLD32_LABEL(r0, IGV9_ISR);   // IVG9 Handler
85*6ca2c52aSchristos    [ P0 ++ ] = R0;
86*6ca2c52aSchristosLD32_LABEL(r0, IGV10_ISR);  // IVG10 Handler
87*6ca2c52aSchristos    [ P0 ++ ] = R0;
88*6ca2c52aSchristosLD32_LABEL(r0, IGV11_ISR);  // IVG11 Handler
89*6ca2c52aSchristos    [ P0 ++ ] = R0;
90*6ca2c52aSchristosLD32_LABEL(r0, IGV12_ISR);  // IVG12 Handler
91*6ca2c52aSchristos    [ P0 ++ ] = R0;
92*6ca2c52aSchristosLD32_LABEL(r0, IGV13_ISR);  // IVG13 Handler
93*6ca2c52aSchristos    [ P0 ++ ] = R0;
94*6ca2c52aSchristosLD32_LABEL(r0, IGV14_ISR);  // IVG14 Handler
95*6ca2c52aSchristos    [ P0 ++ ] = R0;
96*6ca2c52aSchristosLD32_LABEL(r0, IGV15_ISR);  // IVG15 Handler
97*6ca2c52aSchristos    [ P0 ++ ] = R0;
98*6ca2c52aSchristos
99*6ca2c52aSchristos    // Setup the EVT_OVERRIDE MMR
100*6ca2c52aSchristos    R0 = 0;
101*6ca2c52aSchristosLD32(p0, EVT_OVERRIDE);
102*6ca2c52aSchristos    [ P0 ] = R0;
103*6ca2c52aSchristos
104*6ca2c52aSchristos    // Setup Interrupt Mask
105*6ca2c52aSchristos    R0 = -1;
106*6ca2c52aSchristosLD32(p0, IMASK);
107*6ca2c52aSchristos    [ P0 ] = R0;
108*6ca2c52aSchristos
109*6ca2c52aSchristos    // Return to Supervisor Code
110*6ca2c52aSchristosRAISE 15;
111*6ca2c52aSchristosNOP;
112*6ca2c52aSchristos
113*6ca2c52aSchristosLD32_LABEL(r0, USER_CODE);
114*6ca2c52aSchristosRETI = R0;
115*6ca2c52aSchristosRTI;
116*6ca2c52aSchristos
117*6ca2c52aSchristos.dw 0xFFFF
118*6ca2c52aSchristos.dw 0xFFFF
119*6ca2c52aSchristos.dw 0xFFFF
120*6ca2c52aSchristos.dw 0xFFFF
121*6ca2c52aSchristos.dw 0xFFFF
122*6ca2c52aSchristos.dw 0xFFFF
123*6ca2c52aSchristos.dw 0xFFFF
124*6ca2c52aSchristos
125*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
126*6ca2c52aSchristos
127*6ca2c52aSchristos
128*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
129*6ca2c52aSchristos///////////////////////// EMU ISR               /////////////////////////////
130*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
131*6ca2c52aSchristos
132*6ca2c52aSchristos EMU_ISR :
133*6ca2c52aSchristos
134*6ca2c52aSchristosRTE;
135*6ca2c52aSchristos
136*6ca2c52aSchristos.dw 0xFFFF
137*6ca2c52aSchristos.dw 0xFFFF
138*6ca2c52aSchristos.dw 0xFFFF
139*6ca2c52aSchristos.dw 0xFFFF
140*6ca2c52aSchristos.dw 0xFFFF
141*6ca2c52aSchristos.dw 0xFFFF
142*6ca2c52aSchristos.dw 0xFFFF
143*6ca2c52aSchristos
144*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
145*6ca2c52aSchristos///////////////////////// NMI ISR               /////////////////////////////
146*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
147*6ca2c52aSchristos
148*6ca2c52aSchristos NMI_ISR :
149*6ca2c52aSchristos
150*6ca2c52aSchristosRTN;
151*6ca2c52aSchristos
152*6ca2c52aSchristos.dw 0xFFFF
153*6ca2c52aSchristos.dw 0xFFFF
154*6ca2c52aSchristos.dw 0xFFFF
155*6ca2c52aSchristos.dw 0xFFFF
156*6ca2c52aSchristos.dw 0xFFFF
157*6ca2c52aSchristos.dw 0xFFFF
158*6ca2c52aSchristos.dw 0xFFFF
159*6ca2c52aSchristos
160*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
161*6ca2c52aSchristos///////////////////////// EXC ISR               /////////////////////////////
162*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
163*6ca2c52aSchristos
164*6ca2c52aSchristos EXC_ISR :
165*6ca2c52aSchristos
166*6ca2c52aSchristosRTX;
167*6ca2c52aSchristos
168*6ca2c52aSchristos.dw 0xFFFF
169*6ca2c52aSchristos.dw 0xFFFF
170*6ca2c52aSchristos.dw 0xFFFF
171*6ca2c52aSchristos.dw 0xFFFF
172*6ca2c52aSchristos.dw 0xFFFF
173*6ca2c52aSchristos.dw 0xFFFF
174*6ca2c52aSchristos.dw 0xFFFF
175*6ca2c52aSchristos
176*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
177*6ca2c52aSchristos///////////////////////// HWE ISR               /////////////////////////////
178*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
179*6ca2c52aSchristos
180*6ca2c52aSchristos HWE_ISR :
181*6ca2c52aSchristos
182*6ca2c52aSchristosRTI;
183*6ca2c52aSchristos
184*6ca2c52aSchristos.dw 0xFFFF
185*6ca2c52aSchristos.dw 0xFFFF
186*6ca2c52aSchristos.dw 0xFFFF
187*6ca2c52aSchristos.dw 0xFFFF
188*6ca2c52aSchristos.dw 0xFFFF
189*6ca2c52aSchristos.dw 0xFFFF
190*6ca2c52aSchristos.dw 0xFFFF
191*6ca2c52aSchristos
192*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
193*6ca2c52aSchristos///////////////////////// TMR ISR               /////////////////////////////
194*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
195*6ca2c52aSchristos
196*6ca2c52aSchristos TMR_ISR :
197*6ca2c52aSchristos
198*6ca2c52aSchristosRTI;
199*6ca2c52aSchristos
200*6ca2c52aSchristos.dw 0xFFFF
201*6ca2c52aSchristos.dw 0xFFFF
202*6ca2c52aSchristos.dw 0xFFFF
203*6ca2c52aSchristos.dw 0xFFFF
204*6ca2c52aSchristos.dw 0xFFFF
205*6ca2c52aSchristos.dw 0xFFFF
206*6ca2c52aSchristos.dw 0xFFFF
207*6ca2c52aSchristos
208*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
209*6ca2c52aSchristos///////////////////////// IGV7 ISR              /////////////////////////////
210*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
211*6ca2c52aSchristos
212*6ca2c52aSchristos IGV7_ISR :
213*6ca2c52aSchristos
214*6ca2c52aSchristosRTI;
215*6ca2c52aSchristos
216*6ca2c52aSchristos.dw 0xFFFF
217*6ca2c52aSchristos.dw 0xFFFF
218*6ca2c52aSchristos.dw 0xFFFF
219*6ca2c52aSchristos.dw 0xFFFF
220*6ca2c52aSchristos.dw 0xFFFF
221*6ca2c52aSchristos.dw 0xFFFF
222*6ca2c52aSchristos.dw 0xFFFF
223*6ca2c52aSchristos
224*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
225*6ca2c52aSchristos///////////////////////// IGV8 ISR              /////////////////////////////
226*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
227*6ca2c52aSchristos
228*6ca2c52aSchristos IGV8_ISR :
229*6ca2c52aSchristos
230*6ca2c52aSchristosRTI;
231*6ca2c52aSchristos
232*6ca2c52aSchristos.dw 0xFFFF
233*6ca2c52aSchristos.dw 0xFFFF
234*6ca2c52aSchristos.dw 0xFFFF
235*6ca2c52aSchristos.dw 0xFFFF
236*6ca2c52aSchristos.dw 0xFFFF
237*6ca2c52aSchristos.dw 0xFFFF
238*6ca2c52aSchristos.dw 0xFFFF
239*6ca2c52aSchristos
240*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
241*6ca2c52aSchristos///////////////////////// IGV9 ISR              /////////////////////////////
242*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
243*6ca2c52aSchristos
244*6ca2c52aSchristos IGV9_ISR :
245*6ca2c52aSchristos
246*6ca2c52aSchristosRTI;
247*6ca2c52aSchristos
248*6ca2c52aSchristos.dw 0xFFFF
249*6ca2c52aSchristos.dw 0xFFFF
250*6ca2c52aSchristos.dw 0xFFFF
251*6ca2c52aSchristos.dw 0xFFFF
252*6ca2c52aSchristos.dw 0xFFFF
253*6ca2c52aSchristos.dw 0xFFFF
254*6ca2c52aSchristos.dw 0xFFFF
255*6ca2c52aSchristos
256*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
257*6ca2c52aSchristos///////////////////////// IGV10 ISR             /////////////////////////////
258*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
259*6ca2c52aSchristos
260*6ca2c52aSchristos IGV10_ISR :
261*6ca2c52aSchristos
262*6ca2c52aSchristosRTI;
263*6ca2c52aSchristos
264*6ca2c52aSchristos.dw 0xFFFF
265*6ca2c52aSchristos.dw 0xFFFF
266*6ca2c52aSchristos.dw 0xFFFF
267*6ca2c52aSchristos.dw 0xFFFF
268*6ca2c52aSchristos.dw 0xFFFF
269*6ca2c52aSchristos.dw 0xFFFF
270*6ca2c52aSchristos.dw 0xFFFF
271*6ca2c52aSchristos
272*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
273*6ca2c52aSchristos///////////////////////// IGV11 ISR             /////////////////////////////
274*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
275*6ca2c52aSchristos
276*6ca2c52aSchristos IGV11_ISR :
277*6ca2c52aSchristos
278*6ca2c52aSchristosRTI;
279*6ca2c52aSchristos
280*6ca2c52aSchristos.dw 0xFFFF
281*6ca2c52aSchristos.dw 0xFFFF
282*6ca2c52aSchristos.dw 0xFFFF
283*6ca2c52aSchristos.dw 0xFFFF
284*6ca2c52aSchristos.dw 0xFFFF
285*6ca2c52aSchristos.dw 0xFFFF
286*6ca2c52aSchristos.dw 0xFFFF
287*6ca2c52aSchristos
288*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
289*6ca2c52aSchristos///////////////////////// IGV12 ISR             /////////////////////////////
290*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
291*6ca2c52aSchristos
292*6ca2c52aSchristos IGV12_ISR :
293*6ca2c52aSchristos
294*6ca2c52aSchristosRTI;
295*6ca2c52aSchristos
296*6ca2c52aSchristos.dw 0xFFFF
297*6ca2c52aSchristos.dw 0xFFFF
298*6ca2c52aSchristos.dw 0xFFFF
299*6ca2c52aSchristos.dw 0xFFFF
300*6ca2c52aSchristos.dw 0xFFFF
301*6ca2c52aSchristos.dw 0xFFFF
302*6ca2c52aSchristos.dw 0xFFFF
303*6ca2c52aSchristos
304*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
305*6ca2c52aSchristos///////////////////////// IGV13 ISR             /////////////////////////////
306*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
307*6ca2c52aSchristos
308*6ca2c52aSchristos IGV13_ISR :
309*6ca2c52aSchristos
310*6ca2c52aSchristosRTI;
311*6ca2c52aSchristos
312*6ca2c52aSchristos.dw 0xFFFF
313*6ca2c52aSchristos.dw 0xFFFF
314*6ca2c52aSchristos.dw 0xFFFF
315*6ca2c52aSchristos.dw 0xFFFF
316*6ca2c52aSchristos.dw 0xFFFF
317*6ca2c52aSchristos.dw 0xFFFF
318*6ca2c52aSchristos.dw 0xFFFF
319*6ca2c52aSchristos
320*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
321*6ca2c52aSchristos///////////////////////// IGV14 ISR             /////////////////////////////
322*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
323*6ca2c52aSchristos
324*6ca2c52aSchristos IGV14_ISR :
325*6ca2c52aSchristos
326*6ca2c52aSchristosRTI;
327*6ca2c52aSchristos
328*6ca2c52aSchristos.dw 0xFFFF
329*6ca2c52aSchristos.dw 0xFFFF
330*6ca2c52aSchristos.dw 0xFFFF
331*6ca2c52aSchristos.dw 0xFFFF
332*6ca2c52aSchristos.dw 0xFFFF
333*6ca2c52aSchristos.dw 0xFFFF
334*6ca2c52aSchristos.dw 0xFFFF
335*6ca2c52aSchristos
336*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
337*6ca2c52aSchristos///////////////////////// IGV15 ISR             /////////////////////////////
338*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
339*6ca2c52aSchristos
340*6ca2c52aSchristos IGV15_ISR :
341*6ca2c52aSchristos
342*6ca2c52aSchristos    P0 = 0x5 (Z);
343*6ca2c52aSchristos    P1 = 0x3 (Z);
344*6ca2c52aSchristos
345*6ca2c52aSchristos    // Loop 0
346*6ca2c52aSchristosLD32_LABEL(r0, L0T);
347*6ca2c52aSchristosLD32_LABEL(r1, L0B);
348*6ca2c52aSchristosLT0 = r0;
349*6ca2c52aSchristosLB0 = r1;
350*6ca2c52aSchristos
351*6ca2c52aSchristosLC0 = P0;
352*6ca2c52aSchristosNOP;
353*6ca2c52aSchristosJUMP.S 2;
354*6ca2c52aSchristos
355*6ca2c52aSchristosJUMP.S 6;
356*6ca2c52aSchristosNOP;
357*6ca2c52aSchristosLC0 = P0;
358*6ca2c52aSchristosLC0 = P1;
359*6ca2c52aSchristosL0T:R2 += 3;
360*6ca2c52aSchristos    R3 += 4;
361*6ca2c52aSchristos    R4 += 5;
362*6ca2c52aSchristos    R5 += 6;
363*6ca2c52aSchristos    R6 += 7;
364*6ca2c52aSchristosL0B:R7 += 8;
365*6ca2c52aSchristos
366*6ca2c52aSchristos    // Loop 1
367*6ca2c52aSchristosLD32_LABEL(r0, L1T);
368*6ca2c52aSchristosLD32_LABEL(r1, L1B);
369*6ca2c52aSchristosLT1 = r0;
370*6ca2c52aSchristosLB1 = r1;
371*6ca2c52aSchristos
372*6ca2c52aSchristosLC1 = P0;
373*6ca2c52aSchristosNOP;
374*6ca2c52aSchristosJUMP.S 2;
375*6ca2c52aSchristos
376*6ca2c52aSchristosJUMP.S 6;
377*6ca2c52aSchristosNOP;
378*6ca2c52aSchristosLC1 = P0;
379*6ca2c52aSchristosLC1 = P1;
380*6ca2c52aSchristosL1T:R2 += 3;
381*6ca2c52aSchristos    R3 += 4;
382*6ca2c52aSchristos    R4 += 5;
383*6ca2c52aSchristos    R5 += 6;
384*6ca2c52aSchristos    R6 += 7;
385*6ca2c52aSchristosL1B:R7 += 8;
386*6ca2c52aSchristos
387*6ca2c52aSchristos    // Loop 0
388*6ca2c52aSchristosLSETUP ( L2T , L2T ) LC0 = P0;
389*6ca2c52aSchristosNOP;
390*6ca2c52aSchristosNOP;
391*6ca2c52aSchristosNOP;
392*6ca2c52aSchristosLC0 = P1;
393*6ca2c52aSchristosL2T:R2 += 1;
394*6ca2c52aSchristos    R3 += 2;
395*6ca2c52aSchristos    R4 += 3;
396*6ca2c52aSchristos    R5 += 4;
397*6ca2c52aSchristos    R6 += 5;
398*6ca2c52aSchristosL2B:R7 += 6;
399*6ca2c52aSchristos
400*6ca2c52aSchristosLC0 = P1;
401*6ca2c52aSchristosNOP;
402*6ca2c52aSchristosNOP;
403*6ca2c52aSchristosNOP;
404*6ca2c52aSchristosLSETUP ( L3T , L3T ) LC0 = P0;
405*6ca2c52aSchristosL3T:R2 += 1;
406*6ca2c52aSchristos    R3 += 2;
407*6ca2c52aSchristos    R4 += 3;
408*6ca2c52aSchristos    R5 += 4;
409*6ca2c52aSchristos    R6 += 5;
410*6ca2c52aSchristosL3B:R7 += 6;
411*6ca2c52aSchristos
412*6ca2c52aSchristosLSETUP ( L4T , L4B ) LC0 = P0;
413*6ca2c52aSchristosNOP;
414*6ca2c52aSchristosNOP;
415*6ca2c52aSchristosLC0 = P1;
416*6ca2c52aSchristosL4T:R2 += 1;
417*6ca2c52aSchristosL4B:R3 += 2;
418*6ca2c52aSchristos    R4 += 3;
419*6ca2c52aSchristos    R5 += 4;
420*6ca2c52aSchristos    R6 += 5;
421*6ca2c52aSchristos    R7 += 6;
422*6ca2c52aSchristos
423*6ca2c52aSchristosLC0 = P1;
424*6ca2c52aSchristosNOP;
425*6ca2c52aSchristosNOP;
426*6ca2c52aSchristosLSETUP ( L5T , L5B ) LC0 = P0;
427*6ca2c52aSchristosL5T:R2 += 1;
428*6ca2c52aSchristosL5B:R3 += 2;
429*6ca2c52aSchristos    R4 += 3;
430*6ca2c52aSchristos    R5 += 4;
431*6ca2c52aSchristos    R6 += 5;
432*6ca2c52aSchristos    R7 += 6;
433*6ca2c52aSchristos
434*6ca2c52aSchristosLSETUP ( L6T , L6B ) LC0 = P0;
435*6ca2c52aSchristosNOP;
436*6ca2c52aSchristosLC0 = P1;
437*6ca2c52aSchristosL6T:R2 += 1;
438*6ca2c52aSchristos    R3 += 2;
439*6ca2c52aSchristosL6B:R4 += 3;
440*6ca2c52aSchristos    R5 += 4;
441*6ca2c52aSchristos    R6 += 5;
442*6ca2c52aSchristos    R7 += 6;
443*6ca2c52aSchristos
444*6ca2c52aSchristosLC0 = P1;
445*6ca2c52aSchristosNOP;
446*6ca2c52aSchristosLSETUP ( L7T , L7B ) LC0 = P0;
447*6ca2c52aSchristosL7T:R2 += 1;
448*6ca2c52aSchristos    R3 += 2;
449*6ca2c52aSchristosL7B:R4 += 3;
450*6ca2c52aSchristos    R5 += 4;
451*6ca2c52aSchristos    R6 += 5;
452*6ca2c52aSchristos    R7 += 6;
453*6ca2c52aSchristos
454*6ca2c52aSchristosLSETUP ( L8T , L8B ) LC0 = P0;
455*6ca2c52aSchristosLC0 = P1;
456*6ca2c52aSchristosL8T:R2 += 1;
457*6ca2c52aSchristos    R3 += 2;
458*6ca2c52aSchristos    R4 += 3;
459*6ca2c52aSchristosL8B:R5 += 4;
460*6ca2c52aSchristos    R6 += 5;
461*6ca2c52aSchristos    R7 += 6;
462*6ca2c52aSchristos
463*6ca2c52aSchristosLC0 = P1;
464*6ca2c52aSchristosLSETUP ( L9T , L9B ) LC0 = P0;
465*6ca2c52aSchristosL9T:R2 += 1;
466*6ca2c52aSchristos    R3 += 2;
467*6ca2c52aSchristos    R4 += 3;
468*6ca2c52aSchristosL9B:R5 += 4;
469*6ca2c52aSchristos    R6 += 5;
470*6ca2c52aSchristos    R7 += 6;
471*6ca2c52aSchristos
472*6ca2c52aSchristos
473*6ca2c52aSchristos    //  Loop 1
474*6ca2c52aSchristosLSETUP ( M2T , M2T ) LC1 = P0;
475*6ca2c52aSchristosNOP;
476*6ca2c52aSchristosNOP;
477*6ca2c52aSchristosNOP;
478*6ca2c52aSchristosLC1 = P1;
479*6ca2c52aSchristosM2T:R2 += 1;
480*6ca2c52aSchristos    R3 += 2;
481*6ca2c52aSchristos    R4 += 3;
482*6ca2c52aSchristos    R5 += 4;
483*6ca2c52aSchristos    R6 += 5;
484*6ca2c52aSchristosM2B:R7 += 6;
485*6ca2c52aSchristos
486*6ca2c52aSchristosLC1 = P1;
487*6ca2c52aSchristosNOP;
488*6ca2c52aSchristosNOP;
489*6ca2c52aSchristosNOP;
490*6ca2c52aSchristosLSETUP ( M3T , M3T ) LC1 = P0;
491*6ca2c52aSchristosM3T:R2 += 1;
492*6ca2c52aSchristos    R3 += 2;
493*6ca2c52aSchristos    R4 += 3;
494*6ca2c52aSchristos    R5 += 4;
495*6ca2c52aSchristos    R6 += 5;
496*6ca2c52aSchristosM3B:R7 += 6;
497*6ca2c52aSchristos
498*6ca2c52aSchristosLSETUP ( M4T , M4B ) LC1 = P0;
499*6ca2c52aSchristosNOP;
500*6ca2c52aSchristosNOP;
501*6ca2c52aSchristosLC1 = P1;
502*6ca2c52aSchristosM4T:R2 += 1;
503*6ca2c52aSchristosM4B:R3 += 2;
504*6ca2c52aSchristos    R4 += 3;
505*6ca2c52aSchristos    R5 += 4;
506*6ca2c52aSchristos    R6 += 5;
507*6ca2c52aSchristos    R7 += 6;
508*6ca2c52aSchristos
509*6ca2c52aSchristosLC1 = P1;
510*6ca2c52aSchristosNOP;
511*6ca2c52aSchristosNOP;
512*6ca2c52aSchristosLSETUP ( M5T , M5B ) LC1 = P0;
513*6ca2c52aSchristosM5T:R2 += 1;
514*6ca2c52aSchristosM5B:R3 += 2;
515*6ca2c52aSchristos    R4 += 3;
516*6ca2c52aSchristos    R5 += 4;
517*6ca2c52aSchristos    R6 += 5;
518*6ca2c52aSchristos    R7 += 6;
519*6ca2c52aSchristos
520*6ca2c52aSchristosLSETUP ( M6T , M6B ) LC1 = P0;
521*6ca2c52aSchristosNOP;
522*6ca2c52aSchristosLC1 = P1;
523*6ca2c52aSchristosM6T:R2 += 1;
524*6ca2c52aSchristos    R3 += 2;
525*6ca2c52aSchristosM6B:R4 += 3;
526*6ca2c52aSchristos    R5 += 4;
527*6ca2c52aSchristos    R6 += 5;
528*6ca2c52aSchristos    R7 += 6;
529*6ca2c52aSchristos
530*6ca2c52aSchristosLC1 = P1;
531*6ca2c52aSchristosNOP;
532*6ca2c52aSchristosLSETUP ( M7T , M7B ) LC1 = P0;
533*6ca2c52aSchristosM7T:R2 += 1;
534*6ca2c52aSchristos    R3 += 2;
535*6ca2c52aSchristosM7B:R4 += 3;
536*6ca2c52aSchristos    R5 += 4;
537*6ca2c52aSchristos    R6 += 5;
538*6ca2c52aSchristos    R7 += 6;
539*6ca2c52aSchristos
540*6ca2c52aSchristosLSETUP ( M8T , M8B ) LC1 = P0;
541*6ca2c52aSchristosLC1 = P1;
542*6ca2c52aSchristosM8T:R2 += 1;
543*6ca2c52aSchristos    R3 += 2;
544*6ca2c52aSchristos    R4 += 3;
545*6ca2c52aSchristosM8B:R5 += 4;
546*6ca2c52aSchristos    R6 += 5;
547*6ca2c52aSchristos    R7 += 6;
548*6ca2c52aSchristos
549*6ca2c52aSchristosLC1 = P1;
550*6ca2c52aSchristosLSETUP ( M9T , M9B ) LC1 = P0;
551*6ca2c52aSchristosM9T:R2 += 1;
552*6ca2c52aSchristos    R3 += 2;
553*6ca2c52aSchristos    R4 += 3;
554*6ca2c52aSchristosM9B:R5 += 4;
555*6ca2c52aSchristos    R6 += 5;
556*6ca2c52aSchristos    R7 += 6;
557*6ca2c52aSchristos
558*6ca2c52aSchristos    // Loop 0
559*6ca2c52aSchristosLSETUP ( N2T , N2B ) LC0 = P0 >> 1;
560*6ca2c52aSchristosNOP;
561*6ca2c52aSchristosNOP;
562*6ca2c52aSchristosNOP;
563*6ca2c52aSchristosLC0 = P1;
564*6ca2c52aSchristosN2T:R2 += 1;
565*6ca2c52aSchristos    R3 += 2;
566*6ca2c52aSchristos    R4 += 3;
567*6ca2c52aSchristos    R5 += 4;
568*6ca2c52aSchristos    R6 += 5;
569*6ca2c52aSchristosN2B:R7 += 6;
570*6ca2c52aSchristos
571*6ca2c52aSchristosLC0 = P1;
572*6ca2c52aSchristosNOP;
573*6ca2c52aSchristosNOP;
574*6ca2c52aSchristosNOP;
575*6ca2c52aSchristosLSETUP ( N3T , N3B ) LC0 = P0 >> 1;
576*6ca2c52aSchristosN3T:R2 += 1;
577*6ca2c52aSchristos    R3 += 2;
578*6ca2c52aSchristos    R4 += 3;
579*6ca2c52aSchristos    R5 += 4;
580*6ca2c52aSchristos    R6 += 5;
581*6ca2c52aSchristosN3B:R7 += 6;
582*6ca2c52aSchristos
583*6ca2c52aSchristosLSETUP ( N4T , N4B ) LC0 = P0 >> 1;
584*6ca2c52aSchristosNOP;
585*6ca2c52aSchristosNOP;
586*6ca2c52aSchristosLC0 = P1;
587*6ca2c52aSchristosN4T:R2 += 1;
588*6ca2c52aSchristos    R3 += 2;
589*6ca2c52aSchristos    R4 += 3;
590*6ca2c52aSchristos    R5 += 4;
591*6ca2c52aSchristosN4B:R6 += 5;
592*6ca2c52aSchristos    R7 += 6;
593*6ca2c52aSchristos
594*6ca2c52aSchristosLC0 = P1;
595*6ca2c52aSchristosNOP;
596*6ca2c52aSchristosNOP;
597*6ca2c52aSchristosLSETUP ( N5T , N5B ) LC0 = P0 >> 1;
598*6ca2c52aSchristosN5T:R2 += 1;
599*6ca2c52aSchristos    R3 += 2;
600*6ca2c52aSchristos    R4 += 3;
601*6ca2c52aSchristos    R5 += 4;
602*6ca2c52aSchristosN5B:R6 += 5;
603*6ca2c52aSchristos    R7 += 6;
604*6ca2c52aSchristos
605*6ca2c52aSchristosLSETUP ( N6T , N6B ) LC0 = P0 >> 1;
606*6ca2c52aSchristosNOP;
607*6ca2c52aSchristosLC0 = P1;
608*6ca2c52aSchristosN6T:R2 += 1;
609*6ca2c52aSchristos    R3 += 2;
610*6ca2c52aSchristos    R4 += 3;
611*6ca2c52aSchristosN6B:R5 += 4;
612*6ca2c52aSchristos    R6 += 5;
613*6ca2c52aSchristos    R7 += 6;
614*6ca2c52aSchristos
615*6ca2c52aSchristosLC0 = P1;
616*6ca2c52aSchristosNOP;
617*6ca2c52aSchristosLSETUP ( N7T , N7B ) LC0 = P0 >> 1;
618*6ca2c52aSchristosN7T:R2 += 1;
619*6ca2c52aSchristos    R3 += 2;
620*6ca2c52aSchristos    R4 += 3;
621*6ca2c52aSchristosN7B:R5 += 4;
622*6ca2c52aSchristos    R6 += 5;
623*6ca2c52aSchristos    R7 += 6;
624*6ca2c52aSchristos
625*6ca2c52aSchristosLSETUP ( N8T , N8T ) LC0 = P0 >> 1;
626*6ca2c52aSchristosLC0 = P1;
627*6ca2c52aSchristosN8T:R2 += 1;
628*6ca2c52aSchristos    R3 += 2;
629*6ca2c52aSchristosN8B:R4 += 3;
630*6ca2c52aSchristos    R5 += 4;
631*6ca2c52aSchristos    R6 += 5;
632*6ca2c52aSchristos    R7 += 6;
633*6ca2c52aSchristos
634*6ca2c52aSchristosLC0 = P1;
635*6ca2c52aSchristosLSETUP ( N9T , N9T ) LC0 = P0 >> 1;
636*6ca2c52aSchristosN9T:R2 += 1;
637*6ca2c52aSchristos    R3 += 2;
638*6ca2c52aSchristosN9B:R4 += 3;
639*6ca2c52aSchristos    R5 += 4;
640*6ca2c52aSchristos    R6 += 5;
641*6ca2c52aSchristos    R7 += 6;
642*6ca2c52aSchristos
643*6ca2c52aSchristos
644*6ca2c52aSchristos    //  Loop 1
645*6ca2c52aSchristosLSETUP ( O2T , O2B ) LC1 = P0 >> 1;
646*6ca2c52aSchristosNOP;
647*6ca2c52aSchristosNOP;
648*6ca2c52aSchristosNOP;
649*6ca2c52aSchristosLC1 = P1;
650*6ca2c52aSchristosO2T:R2 += 1;
651*6ca2c52aSchristos    R3 += 2;
652*6ca2c52aSchristos    R4 += 3;
653*6ca2c52aSchristos    R5 += 4;
654*6ca2c52aSchristos    R6 += 5;
655*6ca2c52aSchristosO2B:R7 += 6;
656*6ca2c52aSchristos
657*6ca2c52aSchristosLC1 = P1;
658*6ca2c52aSchristosNOP;
659*6ca2c52aSchristosNOP;
660*6ca2c52aSchristosNOP;
661*6ca2c52aSchristosLSETUP ( O3T , O3B ) LC1 = P0 >> 1;
662*6ca2c52aSchristosO3T:R2 += 1;
663*6ca2c52aSchristos    R3 += 2;
664*6ca2c52aSchristos    R4 += 3;
665*6ca2c52aSchristos    R5 += 4;
666*6ca2c52aSchristos    R6 += 5;
667*6ca2c52aSchristosO3B:R7 += 6;
668*6ca2c52aSchristos
669*6ca2c52aSchristosLSETUP ( O4T , O4B ) LC1 = P0 >> 1;
670*6ca2c52aSchristosNOP;
671*6ca2c52aSchristosNOP;
672*6ca2c52aSchristosLC1 = P1;
673*6ca2c52aSchristosO4T:R2 += 1;
674*6ca2c52aSchristos    R3 += 2;
675*6ca2c52aSchristos    R4 += 3;
676*6ca2c52aSchristos    R5 += 4;
677*6ca2c52aSchristosO4B:R6 += 5;
678*6ca2c52aSchristos    R7 += 6;
679*6ca2c52aSchristos
680*6ca2c52aSchristosLC1 = P1;
681*6ca2c52aSchristosNOP;
682*6ca2c52aSchristosNOP;
683*6ca2c52aSchristosLSETUP ( O5T , O5B ) LC1 = P0 >> 1;
684*6ca2c52aSchristosO5T:R2 += 1;
685*6ca2c52aSchristos    R3 += 2;
686*6ca2c52aSchristos    R4 += 3;
687*6ca2c52aSchristos    R5 += 4;
688*6ca2c52aSchristosO5B:R6 += 5;
689*6ca2c52aSchristos    R7 += 6;
690*6ca2c52aSchristos
691*6ca2c52aSchristosLSETUP ( O6T , O6B ) LC1 = P0 >> 1;
692*6ca2c52aSchristosNOP;
693*6ca2c52aSchristosLC1 = P1;
694*6ca2c52aSchristosO6T:R2 += 1;
695*6ca2c52aSchristos    R3 += 2;
696*6ca2c52aSchristos    R4 += 3;
697*6ca2c52aSchristosO6B:R5 += 4;
698*6ca2c52aSchristos    R6 += 5;
699*6ca2c52aSchristos    R7 += 6;
700*6ca2c52aSchristos
701*6ca2c52aSchristosLC1 = P1;
702*6ca2c52aSchristosNOP;
703*6ca2c52aSchristosLSETUP ( O7T , O7B ) LC1 = P0 >> 1;
704*6ca2c52aSchristosO7T:R2 += 1;
705*6ca2c52aSchristos    R3 += 2;
706*6ca2c52aSchristos    R4 += 3;
707*6ca2c52aSchristosO7B:R5 += 4;
708*6ca2c52aSchristos    R6 += 5;
709*6ca2c52aSchristos    R7 += 6;
710*6ca2c52aSchristos
711*6ca2c52aSchristosLSETUP ( O8T , O8T ) LC1 = P0 >> 1;
712*6ca2c52aSchristosLC1 = P1;
713*6ca2c52aSchristosO8T:R2 += 1;
714*6ca2c52aSchristos    R3 += 2;
715*6ca2c52aSchristosO8B:R4 += 3;
716*6ca2c52aSchristos    R5 += 4;
717*6ca2c52aSchristos    R6 += 5;
718*6ca2c52aSchristos    R7 += 6;
719*6ca2c52aSchristos
720*6ca2c52aSchristosLC1 = P1;
721*6ca2c52aSchristosLSETUP ( O9T , O9T ) LC1 = P0 >> 1;
722*6ca2c52aSchristosO9T:R2 += 1;
723*6ca2c52aSchristos    R3 += 2;
724*6ca2c52aSchristosO9B:R4 += 3;
725*6ca2c52aSchristos    R5 += 4;
726*6ca2c52aSchristos    R6 += 5;
727*6ca2c52aSchristos    R7 += 6;
728*6ca2c52aSchristos
729*6ca2c52aSchristos
730*6ca2c52aSchristosNOP;
731*6ca2c52aSchristosNOP;
732*6ca2c52aSchristosRTI;
733*6ca2c52aSchristos
734*6ca2c52aSchristos.dw 0xFFFF
735*6ca2c52aSchristos.dw 0xFFFF
736*6ca2c52aSchristos.dw 0xFFFF
737*6ca2c52aSchristos.dw 0xFFFF
738*6ca2c52aSchristos.dw 0xFFFF
739*6ca2c52aSchristos.dw 0xFFFF
740*6ca2c52aSchristos.dw 0xFFFF
741*6ca2c52aSchristos
742*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
743*6ca2c52aSchristos///////////////////////// USER CODE             /////////////////////////////
744*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
745*6ca2c52aSchristos
746*6ca2c52aSchristos
747*6ca2c52aSchristos USER_CODE :
748*6ca2c52aSchristos
749*6ca2c52aSchristosNOP;
750*6ca2c52aSchristosNOP;
751*6ca2c52aSchristosNOP;
752*6ca2c52aSchristosNOP;
753*6ca2c52aSchristosdbg_pass;        // Call Endtest Macro
754*6ca2c52aSchristos
755*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
756*6ca2c52aSchristos///////////////////////// DATA MEMRORY          /////////////////////////////
757*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
758*6ca2c52aSchristos
759*6ca2c52aSchristos.section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw"
760*6ca2c52aSchristos.dd 0xdeadbeef;
761*6ca2c52aSchristos.section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw"
762*6ca2c52aSchristos.dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
763*6ca2c52aSchristos.dd 0x02020202;
764*6ca2c52aSchristos.dd 0x03030303;
765*6ca2c52aSchristos.dd 0x04040404;
766*6ca2c52aSchristos
767*6ca2c52aSchristos// Define Kernal Stack
768*6ca2c52aSchristos.data
769*6ca2c52aSchristos    .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
770*6ca2c52aSchristos     KSTACK :
771*6ca2c52aSchristos
772*6ca2c52aSchristos    .space (STACKSIZE);
773*6ca2c52aSchristos     USTACK :
774*6ca2c52aSchristos
775*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
776*6ca2c52aSchristos///////////////////////// END OF TEST           /////////////////////////////
777*6ca2c52aSchristos/////////////////////////////////////////////////////////////////////////////
778