1 //Original:/proj/frio/dv/testcases/seq/se_loop_nest_ppm_2/se_loop_nest_ppm_2.dsp
3 # sim: --environment operating
6 .include "testutils.inc"
9 /////////////////////////////////////////////////////////////////////////////
10 ///////////////////////// Include Files /////////////////////////////
11 /////////////////////////////////////////////////////////////////////////////
14 include(selfcheck.inc)
18 /////////////////////////////////////////////////////////////////////////////
19 ///////////////////////// Defines /////////////////////////////
20 /////////////////////////////////////////////////////////////////////////////
22 #ifndef USER_CODE_SPACE
23 #define USER_CODE_SPACE CODE_ADDR_1 //
26 #define STACKSIZE 0x00000010
29 #define ITABLE CODE_ADDR_2 //
32 /////////////////////////////////////////////////////////////////////////////
33 ///////////////////////// RESET ISR /////////////////////////////
34 /////////////////////////////////////////////////////////////////////////////
44 // Initialize ILBM Registers
50 // Initialize the Address of the Checkreg data segment
51 // **** THIS IS NEEDED WHENEVER CHECKREG IS USED ****
52 CHECK_INIT_DEF(p5); //CHECK_INIT(p5, 0x00BFFFFC);
55 LD32_LABEL(sp, USTACK);
59 LD32_LABEL(sp, KSTACK);
61 // Setup Frame Pointer
64 // Setup Event Vector Table
67 LD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0)
69 LD32_LABEL(r0, RST_ISR); // Reset Handler (Int1)
71 LD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2)
73 LD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3)
75 [ P0 ++ ] = R0; // IVT4 not used
76 LD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5)
78 LD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6)
80 LD32_LABEL(r0, IGV7_ISR); // IVG7 Handler
82 LD32_LABEL(r0, IGV8_ISR); // IVG8 Handler
84 LD32_LABEL(r0, IGV9_ISR); // IVG9 Handler
86 LD32_LABEL(r0, IGV10_ISR); // IVG10 Handler
88 LD32_LABEL(r0, IGV11_ISR); // IVG11 Handler
90 LD32_LABEL(r0, IGV12_ISR); // IVG12 Handler
92 LD32_LABEL(r0, IGV13_ISR); // IVG13 Handler
94 LD32_LABEL(r0, IGV14_ISR); // IVG14 Handler
96 LD32_LABEL(r0, IGV15_ISR); // IVG15 Handler
99 // Setup the EVT_OVERRIDE MMR
101 LD32(p0, EVT_OVERRIDE);
104 // Setup Interrupt Mask
109 // Return to Supervisor Code
113 LD32_LABEL(r0, USER_CODE);
125 /////////////////////////////////////////////////////////////////////////////
128 /////////////////////////////////////////////////////////////////////////////
129 ///////////////////////// EMU ISR /////////////////////////////
130 /////////////////////////////////////////////////////////////////////////////
144 /////////////////////////////////////////////////////////////////////////////
145 ///////////////////////// NMI ISR /////////////////////////////
146 /////////////////////////////////////////////////////////////////////////////
160 /////////////////////////////////////////////////////////////////////////////
161 ///////////////////////// EXC ISR /////////////////////////////
162 /////////////////////////////////////////////////////////////////////////////
176 /////////////////////////////////////////////////////////////////////////////
177 ///////////////////////// HWE ISR /////////////////////////////
178 /////////////////////////////////////////////////////////////////////////////
192 /////////////////////////////////////////////////////////////////////////////
193 ///////////////////////// TMR ISR /////////////////////////////
194 /////////////////////////////////////////////////////////////////////////////
208 /////////////////////////////////////////////////////////////////////////////
209 ///////////////////////// IGV7 ISR /////////////////////////////
210 /////////////////////////////////////////////////////////////////////////////
224 /////////////////////////////////////////////////////////////////////////////
225 ///////////////////////// IGV8 ISR /////////////////////////////
226 /////////////////////////////////////////////////////////////////////////////
240 /////////////////////////////////////////////////////////////////////////////
241 ///////////////////////// IGV9 ISR /////////////////////////////
242 /////////////////////////////////////////////////////////////////////////////
256 /////////////////////////////////////////////////////////////////////////////
257 ///////////////////////// IGV10 ISR /////////////////////////////
258 /////////////////////////////////////////////////////////////////////////////
272 /////////////////////////////////////////////////////////////////////////////
273 ///////////////////////// IGV11 ISR /////////////////////////////
274 /////////////////////////////////////////////////////////////////////////////
288 /////////////////////////////////////////////////////////////////////////////
289 ///////////////////////// IGV12 ISR /////////////////////////////
290 /////////////////////////////////////////////////////////////////////////////
304 /////////////////////////////////////////////////////////////////////////////
305 ///////////////////////// IGV13 ISR /////////////////////////////
306 /////////////////////////////////////////////////////////////////////////////
320 /////////////////////////////////////////////////////////////////////////////
321 ///////////////////////// IGV14 ISR /////////////////////////////
322 /////////////////////////////////////////////////////////////////////////////
336 /////////////////////////////////////////////////////////////////////////////
337 ///////////////////////// IGV15 ISR /////////////////////////////
338 /////////////////////////////////////////////////////////////////////////////
345 // lsetup (l0s, l0s) lc0 = p0;
346 LSETUP ( l0s , l0s ) LC0 = P1;
347 l0s:[ -- SP ] = ( R7:5 );
349 LSETUP ( l1s , l1e ) LC0 = P0;
350 LSETUP ( l1e , l1e ) LC0 = P1;
352 l1e:[ -- SP ] = ( R7:5 );
354 LSETUP ( l2s , l2e ) LC0 = P0;
355 LSETUP ( l2e , l2e ) LC0 = P1;
358 l2e:[ -- SP ] = ( R7:5 );
360 LSETUP ( l3s , l3e ) LC0 = P0;
361 LSETUP ( l3e , l3e ) LC0 = P1;
365 l3e:[ -- SP ] = ( R7:5 );
367 LSETUP ( l4s , l4e ) LC0 = P0;
368 LSETUP ( l4e , l4e ) LC0 = P1;
373 l4e:[ -- SP ] = ( R7:4 );
375 LSETUP ( l5s , l5e ) LC0 = P0;
376 LSETUP ( l5e , l5e ) LC0 = P1;
382 l5e:[ -- SP ] = ( R7:4 );
384 LSETUP ( l6s , l6e ) LC0 = P0;
385 LSETUP ( l6e , l6e ) LC0 = P1;
392 l6e:[ -- SP ] = ( R7:4 );
396 LSETUP ( m0s , m0s ) LC1 = P0;
397 LSETUP ( m0s , m0s ) LC1 = P1;
398 m0s:[ -- SP ] = ( R7:5 );
400 LSETUP ( m1s , m1e ) LC1 = P0;
401 LSETUP ( m1e , m1e ) LC1 = P1;
403 m1e:[ -- SP ] = ( R7:5 );
405 LSETUP ( m2s , m2e ) LC1 = P0;
406 LSETUP ( m2e , m2e ) LC1 = P1;
409 m2e:[ -- SP ] = ( R7:5 );
411 LSETUP ( m3s , m3e ) LC1 = P0;
412 LSETUP ( m3e , m3e ) LC1 = P1;
416 m3e:[ -- SP ] = ( R7:5 );
418 LSETUP ( m4s , m4e ) LC1 = P0;
419 LSETUP ( m4e , m4e ) LC1 = P1;
424 m4e:[ -- SP ] = ( R7:4 );
426 LSETUP ( m5s , m5e ) LC1 = P0;
427 LSETUP ( m5e , m5e ) LC1 = P1;
433 m5e:[ -- SP ] = ( R7:4 );
435 LSETUP ( m6s , m6e ) LC1 = P0;
436 LSETUP ( m6e , m6e ) LC1 = P1;
443 m6e:[ -- SP ] = ( R7:4 );
456 /////////////////////////////////////////////////////////////////////////////
457 ///////////////////////// USER CODE /////////////////////////////
458 /////////////////////////////////////////////////////////////////////////////
467 dbg_pass; // Call Endtest Macro
469 /////////////////////////////////////////////////////////////////////////////
470 ///////////////////////// DATA MEMRORY /////////////////////////////
471 /////////////////////////////////////////////////////////////////////////////
473 .section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw"
475 .section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw"
476 .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
481 // Define Kernal Stack
483 .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
489 /////////////////////////////////////////////////////////////////////////////
490 ///////////////////////// END OF TEST /////////////////////////////
491 /////////////////////////////////////////////////////////////////////////////