Support R_SPARC_WDISP10 and R_SPARC_H34.
[external/binutils.git] / sim / testsuite / sim / bfin / se_loop_kill_dcr_01.S
1 //Original:/proj/frio/dv/testcases/seq/se_loop_kill_dcr_01/se_loop_kill_dcr_01.dsp
2 # mach: bfin
3 # sim: --environment operating
4
5 #include "test.h"
6 .include "testutils.inc"
7 start
8
9 /////////////////////////////////////////////////////////////////////////////
10 ///////////////////////// Include Files         /////////////////////////////
11 /////////////////////////////////////////////////////////////////////////////
12
13 include(std.inc)
14 include(selfcheck.inc)
15 include(symtable.inc)
16 include(mmrs.inc)
17
18 /////////////////////////////////////////////////////////////////////////////
19 ///////////////////////// Defines               /////////////////////////////
20 /////////////////////////////////////////////////////////////////////////////
21
22 #ifndef USER_CODE_SPACE
23 #define USER_CODE_SPACE  CODE_ADDR_1   //
24 #endif
25 #ifndef STACKSIZE
26 #define STACKSIZE        0x00000010
27 #endif
28 #ifndef ITABLE
29 #define ITABLE           CODE_ADDR_2   //
30 #endif
31
32 /////////////////////////////////////////////////////////////////////////////
33 ///////////////////////// RESET ISR             /////////////////////////////
34 /////////////////////////////////////////////////////////////////////////////
35
36  RST_ISR :
37
38     // Initialize Dregs
39 INIT_R_REGS(0);
40
41     // Initialize Pregs
42 INIT_P_REGS(0);
43
44     // Initialize ILBM Registers
45 INIT_I_REGS(0);
46 INIT_M_REGS(0);
47 INIT_L_REGS(0);
48 INIT_B_REGS(0);
49
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);
53
54     // Setup User Stack
55 LD32_LABEL(sp, USTACK);
56 USP = SP;
57
58     // Setup Kernel Stack
59 LD32_LABEL(sp, KSTACK);
60
61     // Setup Frame Pointer
62 FP = SP;
63
64     // Setup Event Vector Table
65 LD32(p0, EVT0);
66
67 LD32_LABEL(r0, EMU_ISR);    // Emulation Handler (Int0)
68     [ P0 ++ ] = R0;
69 LD32_LABEL(r0, RST_ISR);    // Reset Handler (Int1)
70     [ P0 ++ ] = R0;
71 LD32_LABEL(r0, NMI_ISR);    // NMI Handler (Int2)
72     [ P0 ++ ] = R0;
73 LD32_LABEL(r0, EXC_ISR);    // Exception Handler (Int3)
74     [ P0 ++ ] = R0;
75     [ P0 ++ ] = R0;                // IVT4 not used
76 LD32_LABEL(r0, HWE_ISR);    // HW Error Handler (Int5)
77     [ P0 ++ ] = R0;
78 LD32_LABEL(r0, TMR_ISR);    // Timer Handler (Int6)
79     [ P0 ++ ] = R0;
80 LD32_LABEL(r0, IGV7_ISR);   // IVG7 Handler
81     [ P0 ++ ] = R0;
82 LD32_LABEL(r0, IGV8_ISR);   // IVG8 Handler
83     [ P0 ++ ] = R0;
84 LD32_LABEL(r0, IGV9_ISR);   // IVG9 Handler
85     [ P0 ++ ] = R0;
86 LD32_LABEL(r0, IGV10_ISR);  // IVG10 Handler
87     [ P0 ++ ] = R0;
88 LD32_LABEL(r0, IGV11_ISR);  // IVG11 Handler
89     [ P0 ++ ] = R0;
90 LD32_LABEL(r0, IGV12_ISR);  // IVG12 Handler
91     [ P0 ++ ] = R0;
92 LD32_LABEL(r0, IGV13_ISR);  // IVG13 Handler
93     [ P0 ++ ] = R0;
94 LD32_LABEL(r0, IGV14_ISR);  // IVG14 Handler
95     [ P0 ++ ] = R0;
96 LD32_LABEL(r0, IGV15_ISR);  // IVG15 Handler
97     [ P0 ++ ] = R0;
98
99     // Setup the EVT_OVERRIDE MMR
100     R0 = 0;
101 LD32(p0, EVT_OVERRIDE);
102     [ P0 ] = R0;
103
104     // Setup Interrupt Mask
105     R0 = -1;
106 LD32(p0, IMASK);
107     [ P0 ] = R0;
108
109     // Return to Supervisor Code
110 RAISE 15;
111 NOP;
112
113 LD32_LABEL(r0, USER_CODE);
114 RETI = R0;
115 RTI;
116
117 .dw 0xFFFF
118 .dw 0xFFFF
119 .dw 0xFFFF
120 .dw 0xFFFF
121 .dw 0xFFFF
122 .dw 0xFFFF
123 .dw 0xFFFF
124
125 /////////////////////////////////////////////////////////////////////////////
126
127
128 /////////////////////////////////////////////////////////////////////////////
129 ///////////////////////// EMU ISR               /////////////////////////////
130 /////////////////////////////////////////////////////////////////////////////
131
132  EMU_ISR :
133
134 RTE;
135
136 .dw 0xFFFF
137 .dw 0xFFFF
138 .dw 0xFFFF
139 .dw 0xFFFF
140 .dw 0xFFFF
141 .dw 0xFFFF
142 .dw 0xFFFF
143
144 /////////////////////////////////////////////////////////////////////////////
145 ///////////////////////// NMI ISR               /////////////////////////////
146 /////////////////////////////////////////////////////////////////////////////
147
148  NMI_ISR :
149
150 RTN;
151
152 .dw 0xFFFF
153 .dw 0xFFFF
154 .dw 0xFFFF
155 .dw 0xFFFF
156 .dw 0xFFFF
157 .dw 0xFFFF
158 .dw 0xFFFF
159
160 /////////////////////////////////////////////////////////////////////////////
161 ///////////////////////// EXC ISR               /////////////////////////////
162 /////////////////////////////////////////////////////////////////////////////
163
164  EXC_ISR :
165
166 RTX;
167
168 .dw 0xFFFF
169 .dw 0xFFFF
170 .dw 0xFFFF
171 .dw 0xFFFF
172 .dw 0xFFFF
173 .dw 0xFFFF
174 .dw 0xFFFF
175
176 /////////////////////////////////////////////////////////////////////////////
177 ///////////////////////// HWE ISR               /////////////////////////////
178 /////////////////////////////////////////////////////////////////////////////
179
180  HWE_ISR :
181
182 RTI;
183
184 .dw 0xFFFF
185 .dw 0xFFFF
186 .dw 0xFFFF
187 .dw 0xFFFF
188 .dw 0xFFFF
189 .dw 0xFFFF
190 .dw 0xFFFF
191
192 /////////////////////////////////////////////////////////////////////////////
193 ///////////////////////// TMR ISR               /////////////////////////////
194 /////////////////////////////////////////////////////////////////////////////
195
196  TMR_ISR :
197
198 RTI;
199
200 .dw 0xFFFF
201 .dw 0xFFFF
202 .dw 0xFFFF
203 .dw 0xFFFF
204 .dw 0xFFFF
205 .dw 0xFFFF
206 .dw 0xFFFF
207
208 /////////////////////////////////////////////////////////////////////////////
209 ///////////////////////// IGV7 ISR              /////////////////////////////
210 /////////////////////////////////////////////////////////////////////////////
211
212  IGV7_ISR :
213
214 RTI;
215
216 .dw 0xFFFF
217 .dw 0xFFFF
218 .dw 0xFFFF
219 .dw 0xFFFF
220 .dw 0xFFFF
221 .dw 0xFFFF
222 .dw 0xFFFF
223
224 /////////////////////////////////////////////////////////////////////////////
225 ///////////////////////// IGV8 ISR              /////////////////////////////
226 /////////////////////////////////////////////////////////////////////////////
227
228  IGV8_ISR :
229
230 RTI;
231
232 .dw 0xFFFF
233 .dw 0xFFFF
234 .dw 0xFFFF
235 .dw 0xFFFF
236 .dw 0xFFFF
237 .dw 0xFFFF
238 .dw 0xFFFF
239
240 /////////////////////////////////////////////////////////////////////////////
241 ///////////////////////// IGV9 ISR              /////////////////////////////
242 /////////////////////////////////////////////////////////////////////////////
243
244  IGV9_ISR :
245
246 RTI;
247
248 .dw 0xFFFF
249 .dw 0xFFFF
250 .dw 0xFFFF
251 .dw 0xFFFF
252 .dw 0xFFFF
253 .dw 0xFFFF
254 .dw 0xFFFF
255
256 /////////////////////////////////////////////////////////////////////////////
257 ///////////////////////// IGV10 ISR             /////////////////////////////
258 /////////////////////////////////////////////////////////////////////////////
259
260  IGV10_ISR :
261
262 RTI;
263
264 .dw 0xFFFF
265 .dw 0xFFFF
266 .dw 0xFFFF
267 .dw 0xFFFF
268 .dw 0xFFFF
269 .dw 0xFFFF
270 .dw 0xFFFF
271
272 /////////////////////////////////////////////////////////////////////////////
273 ///////////////////////// IGV11 ISR             /////////////////////////////
274 /////////////////////////////////////////////////////////////////////////////
275
276  IGV11_ISR :
277
278 RTI;
279
280 .dw 0xFFFF
281 .dw 0xFFFF
282 .dw 0xFFFF
283 .dw 0xFFFF
284 .dw 0xFFFF
285 .dw 0xFFFF
286 .dw 0xFFFF
287
288 /////////////////////////////////////////////////////////////////////////////
289 ///////////////////////// IGV12 ISR             /////////////////////////////
290 /////////////////////////////////////////////////////////////////////////////
291
292  IGV12_ISR :
293
294 RTI;
295
296 .dw 0xFFFF
297 .dw 0xFFFF
298 .dw 0xFFFF
299 .dw 0xFFFF
300 .dw 0xFFFF
301 .dw 0xFFFF
302 .dw 0xFFFF
303
304 /////////////////////////////////////////////////////////////////////////////
305 ///////////////////////// IGV13 ISR             /////////////////////////////
306 /////////////////////////////////////////////////////////////////////////////
307
308  IGV13_ISR :
309
310 RTI;
311
312 .dw 0xFFFF
313 .dw 0xFFFF
314 .dw 0xFFFF
315 .dw 0xFFFF
316 .dw 0xFFFF
317 .dw 0xFFFF
318 .dw 0xFFFF
319
320 /////////////////////////////////////////////////////////////////////////////
321 ///////////////////////// IGV14 ISR             /////////////////////////////
322 /////////////////////////////////////////////////////////////////////////////
323
324  IGV14_ISR :
325
326 RTI;
327
328 .dw 0xFFFF
329 .dw 0xFFFF
330 .dw 0xFFFF
331 .dw 0xFFFF
332 .dw 0xFFFF
333 .dw 0xFFFF
334 .dw 0xFFFF
335
336 /////////////////////////////////////////////////////////////////////////////
337 ///////////////////////// IGV15 ISR             /////////////////////////////
338 /////////////////////////////////////////////////////////////////////////////
339
340  IGV15_ISR :
341
342     P0 = 0x1 (Z);
343     P1 = 0x2 (Z);
344     P2 = 0x3 (Z);
345     P3 = 0x4 (Z);
346     P4 = 0x5 (Z);
347
348 /////////////////////////////////////////////////////////////////////////////
349 // Loop 0 (with Kill WB)
350 /////////////////////////////////////////////////////////////////////////////
351
352     // Kill Valid Dcr in WB
353 LSETUP ( L0T , L0T ) LC0 = P0;
354 EXCPT 0x5;
355 L0T:R0 += 5;
356
357     // Kill Valid Dcr in EX3
358 LSETUP ( L1T , L1B ) LC0 = P0;
359 EXCPT 0x5;
360 L1T:R0 += 5;
361 L1B:R1 += 4;
362
363     // Kill Valid Dcr in EX2
364 LSETUP ( L2T , L2B ) LC0 = P0;
365 EXCPT 0x5;
366 L2T:R0 += 5;
367     R1 += 4;
368 L2B:R2 += 3;
369
370     // Kill Valid Dcr in EX1
371 LSETUP ( L3T , L3B ) LC0 = P0;
372 EXCPT 0x5;
373 L3T:R0 += 5;
374     R1 += 4;
375     R2 += 3;
376 L3B:R3 += 2;
377
378     // Kill Valid Dcr in AC
379 LSETUP ( L4T , L4B ) LC0 = P0;
380 EXCPT 0x5;
381 L4T:R0 += 5;
382     R1 += 4;
383     R2 += 3;
384     R3 += 2;
385 L4B:R4 += 1;
386
387     // Kill Valid Dcr in WB, EX3
388 LSETUP ( L5T , L5T ) LC0 = P1;
389 EXCPT 0x5;
390 L5T:R1 += 5;
391
392     // Kill Valid Dcr in EX3, EX2
393 LSETUP ( L6T , L6T ) LC0 = P1;
394 EXCPT 0x5;
395 NOP;
396 L6T:R2 += 5;
397
398     // Kill Valid Dcr in EX2, EX1
399 LSETUP ( L7T , L7T ) LC0 = P1;
400 EXCPT 0x5;
401 NOP;
402 NOP;
403 L7T:R3 += 5;
404
405     // Kill Valid Dcr in EX1, AC
406 LSETUP ( L8T , L8T ) LC0 = P1;
407 EXCPT 0x5;
408 NOP;
409 NOP;
410 NOP;
411 L8T:R4 += 5;
412
413     // Kill Valid Dcr in WB, EX3, EX2
414 LSETUP ( L9T , L9T ) LC0 = P2;
415 EXCPT 0x5;
416 L9T:R5 += 5;
417
418     // Kill Valid Dcr in EX3, EX2, EX1
419 LSETUP ( LAT , LAT ) LC0 = P2;
420 EXCPT 0x5;
421 NOP;
422 LAT:
423         R6 += 6;
424
425     // Kill Valid Dcr in EX2, EX1, AC
426 LSETUP ( LBT , LBT ) LC0 = P2;
427 EXCPT 0x5;
428 NOP;
429 NOP;
430 LBT:
431         R5 += 5;
432
433     // Kill Valid Dcr in WB, EX3, EX2, EX1
434 LSETUP ( LCT , LCT ) LC0 = P3;
435 EXCPT 0x5;
436 LCT:
437         R7 += 7;
438
439     // Kill Valid Dcr in EX3, EX2, EX1, AC
440 LSETUP ( LDT , LDT ) LC0 = P3;
441 EXCPT 0x5;
442 NOP;
443 LDT:
444         R0 += 7;
445
446     // Kill Valid Dcr in WB, EX3, EX2, EX1, AC
447 LSETUP ( LET , LET ) LC0 = P4;
448 EXCPT 0x5;
449 LET:
450         R1 += 1;
451
452     // Kill Valid Dcr in WB, EX2
453 LSETUP ( LFT , LFB ) LC0 = P1;
454 LFT:
455         EXCPT 0x5;
456 LFB:
457         R1 += 2;
458
459     // Kill Valid Dcr in WB, EX1
460 LSETUP ( LGT , LGB ) LC0 = P1;
461 LGT:
462         R2 += 3;
463 EXCPT 0x5;
464 LGB:
465         R1 += 2;
466
467     // Kill Valid Dcr in WB, AC
468 LSETUP ( LHT , LHB ) LC0 = P1;
469 LHT:
470         R2 += 3;
471     R3 += 4;
472 EXCPT 0x5;
473 LHB:
474         R1 += 2;
475
476     // Kill Valid Dcr in EX3, EX1
477 LSETUP ( LIT , LIB ) LC0 = P1;
478 EXCPT 0x5;
479 LIT:
480         R2 += 1;
481 LIB:
482         R1 += 2;
483
484     // Kill Valid Dcr in EX3, AC
485 LSETUP ( LJT , LJB ) LC0 = P1;
486 LJT:
487         EXCPT 0x5;
488     R2 += 1;
489 LJB:
490         R1 += 2;
491
492     // Kill Valid Dcr in EX2, AC
493 LSETUP ( LKT , LKB ) LC0 = P1;
494 EXCPT 0x5;
495 NOP;
496 LKT:
497         R2 += 1;
498 LKB:
499         R1 += 2;
500
501     // Kill Valid Dcr in WB, EX2, AC
502 LSETUP ( LLT , LLB ) LC0 = P2;
503 LLT:
504         EXCPT 0x5;
505 LLB:
506         R2 += 2;
507
508
509 /////////////////////////////////////////////////////////////////////////////
510 // Loop 1 (with Kill WB)
511 /////////////////////////////////////////////////////////////////////////////
512
513     // Kill Valid Dcr in WB
514 LSETUP ( M0T , M0T ) LC1 = P0;
515 EXCPT 0x5;
516 M0T:R0 += 5;
517
518     // Kill Valid Dcr in EX3
519 LSETUP ( M1T , M1B ) LC1 = P0;
520 EXCPT 0x5;
521 M1T:R0 += 5;
522 M1B:R1 += 4;
523
524     // Kill Valid Dcr in EX2
525 LSETUP ( M2T , M2B ) LC1 = P0;
526 EXCPT 0x5;
527 M2T:R0 += 5;
528     R1 += 4;
529 M2B:R2 += 3;
530
531     // Kill Valid Dcr in EX1
532 LSETUP ( M3T , M3B ) LC1 = P0;
533 EXCPT 0x5;
534 M3T:R0 += 5;
535     R1 += 4;
536     R2 += 3;
537 M3B:R3 += 2;
538
539     // Kill Valid Dcr in AC
540 LSETUP ( M4T , M4B ) LC1 = P0;
541 EXCPT 0x5;
542 M4T:R0 += 5;
543     R1 += 4;
544     R2 += 3;
545     R3 += 2;
546 M4B:R4 += 1;
547
548     // Kill Valid Dcr in WB, EX3
549 LSETUP ( M5T , M5T ) LC1 = P1;
550 EXCPT 0x5;
551 M5T:R1 += 5;
552
553     // Kill Valid Dcr in EX3, EX2
554 LSETUP ( M6T , M6T ) LC1 = P1;
555 EXCPT 0x5;
556 NOP;
557 M6T:R2 += 5;
558
559     // Kill Valid Dcr in EX2, EX1
560 LSETUP ( M7T , M7T ) LC1 = P1;
561 EXCPT 0x5;
562 NOP;
563 NOP;
564 M7T:R3 += 5;
565
566     // Kill Valid Dcr in EX1, AC
567 LSETUP ( M8T , M8T ) LC1 = P1;
568 EXCPT 0x5;
569 NOP;
570 NOP;
571 NOP;
572 M8T:R4 += 5;
573
574     // Kill Valid Dcr in WB, EX3, EX2
575 LSETUP ( M9T , M9T ) LC1 = P2;
576 EXCPT 0x5;
577 M9T:R5 += 5;
578
579     // Kill Valid Dcr in EX3, EX2, EX1
580 LSETUP ( MAT , MAT ) LC1 = P2;
581 EXCPT 0x5;
582 NOP;
583 MAT:
584         R6 += 6;
585
586     // Kill Valid Dcr in EX2, EX1, AC
587 LSETUP ( MBT , MBT ) LC1 = P2;
588 EXCPT 0x5;
589 NOP;
590 NOP;
591 MBT:
592         R5 += 5;
593
594     // Kill Valid Dcr in WB, EX3, EX2, EX1
595 LSETUP ( MCT , MCT ) LC1 = P3;
596 EXCPT 0x5;
597 MCT:
598         R7 += 7;
599
600     // Kill Valid Dcr in EX3, EX2, EX1, AC
601 LSETUP ( MDT , MDT ) LC1 = P3;
602 EXCPT 0x5;
603 NOP;
604 MDT:
605         R0 += 7;
606
607     // Kill Valid Dcr in WB, EX3, EX2, EX1, AC
608 LSETUP ( MET , MET ) LC1 = P4;
609 EXCPT 0x5;
610 MET:
611         R1 += 1;
612
613     // Kill Valid Dcr in WB, EX2
614 LSETUP ( MFT , MFB ) LC1 = P1;
615 MFT:
616         EXCPT 0x5;
617 MFB:
618         R1 += 2;
619
620     // Kill Valid Dcr in WB, EX1
621 LSETUP ( MGT , MGB ) LC1 = P1;
622 MGT:
623         R2 += 3;
624 EXCPT 0x5;
625 MGB:
626         R1 += 2;
627
628     // Kill Valid Dcr in WB, AC
629 LSETUP ( MHT , MHB ) LC1 = P1;
630 MHT:
631         R2 += 3;
632     R3 += 4;
633 EXCPT 0x5;
634 MHB:
635         R1 += 2;
636
637     // Kill Valid Dcr in EX3, EX1
638 LSETUP ( MIT , MIB ) LC1 = P1;
639 EXCPT 0x5;
640 MIT:
641         R2 += 1;
642 MIB:
643         R1 += 2;
644
645     // Kill Valid Dcr in EX3, AC
646 LSETUP ( MJT , MJB ) LC1 = P1;
647 MJT:
648         EXCPT 0x5;
649     R2 += 1;
650 MJB:
651         R1 += 2;
652
653     // Kill Valid Dcr in EX2, AC
654 LSETUP ( MKT , MKB ) LC1 = P1;
655 EXCPT 0x5;
656 NOP;
657 MKT:
658         R2 += 1;
659 MKB:
660         R1 += 2;
661
662     // Kill Valid Dcr in WB, EX2, AC
663 LSETUP ( MLT , MLB ) LC1 = P2;
664 MLT:
665         EXCPT 0x5;
666 MLB:
667         R2 += 2;
668
669 /////////////////////////////////////////////////////////////////////////////
670 // Loop 0 (with Kill EX3)
671 /////////////////////////////////////////////////////////////////////////////
672
673     R0 = 1;
674 CC = R0;
675
676     // Kill %Valid Dcr in EX3
677 LSETUP ( N1T , N1T ) LC0 = P0;
678 IF CC JUMP 2;
679 N1T:R0 += 5;
680
681     // Kill Valid Dcr in EX2
682 LSETUP ( N2T , N2B ) LC0 = P0;
683 IF CC JUMP 2;
684 N2T:R0 += 5;
685 N2B:R2 += 3;
686
687     // Kill Valid Dcr in EX1
688 LSETUP ( N3T , N3B ) LC0 = P0;
689 IF CC JUMP 2;
690 N3T:R0 += 5;
691     R2 += 3;
692 N3B:R3 += 2;
693
694     // Kill Valid Dcr in AC
695 LSETUP ( N4T , N4B ) LC0 = P0;
696 IF CC JUMP 2;
697 N4T:R0 += 5;
698     R2 += 3;
699     R3 += 2;
700 N4B:R4 += 1;
701
702     // Kill Valid Dcr in EX3, EX2
703 LSETUP ( N6T , N6T ) LC0 = P1;
704 IF CC JUMP 2;
705 N6T:R2 += 5;
706
707     // Kill Valid Dcr in EX2, EX1
708 LSETUP ( N7T , N7T ) LC0 = P1;
709 IF CC JUMP 2;
710 NOP;
711 N7T:R3 += 5;
712
713     // Kill Valid Dcr in EX1, AC
714 LSETUP ( N8T , N8T ) LC0 = P1;
715 IF CC JUMP 2;
716 NOP;
717 NOP;
718 N8T:R4 += 5;
719
720     // Kill Valid Dcr in EX3, EX2, EX1
721 LSETUP ( NAT , NAT ) LC0 = P2;
722 IF CC JUMP 2;
723 NAT:
724         R6 += 6;
725
726     // Kill Valid Dcr in EX2, EX1, AC
727 LSETUP ( NBT , NBT ) LC0 = P2;
728 IF CC JUMP 2;
729 NOP;
730 NBT:
731         R5 += 5;
732
733     // Kill Valid Dcr in EX3, EX2, EX1, AC
734 LSETUP ( NDT , NDT ) LC0 = P3;
735 IF CC JUMP 2;
736 NDT:
737         R0 += 7;
738
739     // Kill Valid Dcr in EX3, EX1
740 LSETUP ( NIT , NIB ) LC0 = P1;
741 NIT:
742         IF CC JUMP 2;
743 NIB:
744         R1 += 2;
745
746     // Kill Valid Dcr in EX3, AC
747 LSETUP ( NJT , NJB ) LC0 = P1;
748 NJT:
749         R2 += 1;
750 IF CC JUMP 2;
751 NJB:
752         R1 += 2;
753
754     // Kill Valid Dcr in EX2, AC
755 LSETUP ( NKT , NKB ) LC0 = P1;
756 IF CC JUMP 2;
757 NKT:
758         R2 += 1;
759 NKB:
760         R1 += 2;
761
762 /////////////////////////////////////////////////////////////////////////////
763 // Loop 1 (with Kill EX3)
764 /////////////////////////////////////////////////////////////////////////////
765
766     // Kill %Valid Dcr in EX3
767 LSETUP ( O1T , O1T ) LC1 = P0;
768 IF CC JUMP 2;
769 O1T:R0 += 5;
770
771     // Kill Valid Dcr in EX2
772 LSETUP ( O2T , O2B ) LC1 = P0;
773 IF CC JUMP 2;
774 O2T:R0 += 5;
775 O2B:R2 += 3;
776
777     // Kill Valid Dcr in EX1
778 LSETUP ( O3T , O3B ) LC1 = P0;
779 IF CC JUMP 2;
780 O3T:R0 += 5;
781     R2 += 3;
782 O3B:R3 += 2;
783
784     // Kill Valid Dcr in AC
785 LSETUP ( O4T , O4B ) LC1 = P0;
786 IF CC JUMP 2;
787 O4T:R0 += 5;
788     R2 += 3;
789     R3 += 2;
790 O4B:R4 += 1;
791
792     // Kill Valid Dcr in EX3, EX2
793 LSETUP ( O6T , O6T ) LC1 = P1;
794 IF CC JUMP 2;
795 O6T:R2 += 5;
796
797     // Kill Valid Dcr in EX2, EX1
798 LSETUP ( O7T , O7T ) LC1 = P1;
799 IF CC JUMP 2;
800 NOP;
801 O7T:R3 += 5;
802
803     // Kill Valid Dcr in EX1, AC
804 LSETUP ( O8T , O8T ) LC1 = P1;
805 IF CC JUMP 2;
806 NOP;
807 NOP;
808 O8T:R4 += 5;
809
810     // Kill Valid Dcr in EX3, EX2, EX1
811 LSETUP ( OAT , OAT ) LC1 = P2;
812 IF CC JUMP 2;
813 OAT:
814         R6 += 6;
815
816     // Kill Valid Dcr in EX2, EX1, AC
817 LSETUP ( OBT , OBT ) LC1 = P2;
818 IF CC JUMP 2;
819 NOP;
820 OBT:
821         R5 += 5;
822
823     // Kill Valid Dcr in EX3, EX2, EX1, AC
824 LSETUP ( ODT , ODT ) LC1 = P3;
825 IF CC JUMP 2;
826 ODT:
827         R0 += 7;
828
829     // Kill Valid Dcr in EX3, EX1
830 LSETUP ( OIT , OIB ) LC1 = P1;
831 OIT:
832         IF CC JUMP 2;
833 OIB:
834         R1 += 2;
835
836     // Kill Valid Dcr in EX3, AC
837 LSETUP ( OJT , OJB ) LC1 = P1;
838 OJT:
839         R2 += 1;
840 IF CC JUMP 2;
841 OJB:
842         R1 += 2;
843
844     // Kill Valid Dcr in EX2, AC
845 LSETUP ( OKT , OKB ) LC1 = P1;
846 IF CC JUMP 2;
847 OKT:
848         R2 += 1;
849 OKB:
850         R1 += 2;
851
852 /////////////////////////////////////////////////////////////////////////////
853 // Loop 0 (with Kill AC)
854 /////////////////////////////////////////////////////////////////////////////
855
856     // Kill Valid Dcr in AC
857 LSETUP ( P4T , P4T ) LC0 = P0;
858 JUMP.S 2;
859 P4T:R0 += 5;
860
861 /////////////////////////////////////////////////////////////////////////////
862 // Loop 1 (with Kill AC)
863 /////////////////////////////////////////////////////////////////////////////
864
865     // Kill Valid Dcr in AC
866 LSETUP ( Q4T , Q4T ) LC1 = P0;
867 JUMP.S 2;
868 Q4T:R0 += 5;
869
870 NOP;
871 NOP;
872 RTI;
873
874 .dw 0xFFFF
875 .dw 0xFFFF
876 .dw 0xFFFF
877 .dw 0xFFFF
878 .dw 0xFFFF
879 .dw 0xFFFF
880 .dw 0xFFFF
881
882 /////////////////////////////////////////////////////////////////////////////
883 ///////////////////////// USER CODE             /////////////////////////////
884 /////////////////////////////////////////////////////////////////////////////
885
886
887  USER_CODE :
888
889 NOP;
890 NOP;
891 NOP;
892 NOP;
893 dbg_pass;        // Call Endtest Macro
894
895 /////////////////////////////////////////////////////////////////////////////
896 ///////////////////////// DATA MEMRORY          /////////////////////////////
897 /////////////////////////////////////////////////////////////////////////////
898
899 .section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw"
900 .dd 0xdeadbeef;
901 .section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw"
902 .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
903 .dd 0x02020202;
904 .dd 0x03030303;
905 .dd 0x04040404;
906
907 // Define Kernal Stack
908 .data
909     .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
910      KSTACK :
911
912     .space (STACKSIZE);
913      USTACK :
914
915 /////////////////////////////////////////////////////////////////////////////
916 ///////////////////////// END OF TEST           /////////////////////////////
917 /////////////////////////////////////////////////////////////////////////////