xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/bfin/se_undefinedinstruction4.S (revision 32d1c65c71fbdb65a012e8392a62a757dd6853e9)
1//Original:/proj/frio/dv/testcases/seq/se_undefinedinstruction4/se_undefinedinstruction4.dsp
2// Description: 64 bit special cases Undefined Instructions in Supervisor Mode
3# mach: bfin
4# sim: --environment operating
5
6#include "test.h"
7.include "testutils.inc"
8start
9
10//
11// Constants and Defines
12//
13
14include(gen_int.inc)
15include(selfcheck.inc)
16include(std.inc)
17include(mmrs.inc)
18include(symtable.inc)
19
20#ifndef STACKSIZE
21#define STACKSIZE 0x10   // change for how much stack you need
22#endif
23#ifndef ITABLE
24#define ITABLE 0xF0000000
25#endif
26
27GEN_INT_INIT(ITABLE) // set location for interrupt table
28
29//
30// Reset/Bootstrap Code
31//   (Here we should set the processor operating modes, initialize registers,
32//    etc.)
33//
34
35BOOT:
36INIT_R_REGS(0);     // initialize general purpose regs
37
38INIT_P_REGS(0);     // initialize the pointers
39
40INIT_I_REGS(0);     // initialize the dsp address regs
41INIT_M_REGS(0);
42INIT_L_REGS(0);
43INIT_B_REGS(0);
44
45CLI R1;           // inhibit events during MMR writes
46
47LD32_LABEL(sp, USTACK);   // setup the user stack pointer
48USP = SP;
49
50LD32_LABEL(sp, KSTACK);   // setup the kernel stack pointer
51FP = SP;        // and frame pointer
52
53LD32(p0, EVT0);      // Setup Event Vectors and Handlers
54
55    P0 += 4;            // EVT0 not used (Emulation)
56
57    P0 += 4;            // EVT1 not used (Reset)
58
59LD32_LABEL(r0, NHANDLE);  // NMI Handler (Int2)
60    [ P0 ++ ] = R0;
61
62LD32_LABEL(r0, XHANDLE);  // Exception Handler (Int3)
63    [ P0 ++ ] = R0;
64
65    P0 += 4;            // EVT4 not used (Global Interrupt Enable)
66
67LD32_LABEL(r0, HWHANDLE); // HW Error Handler (Int5)
68    [ P0 ++ ] = R0;
69
70LD32_LABEL(r0, THANDLE);  // Timer Handler (Int6)
71    [ P0 ++ ] = R0;
72
73LD32_LABEL(r0, I7HANDLE); // IVG7 Handler
74    [ P0 ++ ] = R0;
75
76LD32_LABEL(r0, I8HANDLE); // IVG8 Handler
77    [ P0 ++ ] = R0;
78
79LD32_LABEL(r0, I9HANDLE); // IVG9 Handler
80    [ P0 ++ ] = R0;
81
82LD32_LABEL(r0, I10HANDLE);// IVG10 Handler
83    [ P0 ++ ] = R0;
84
85LD32_LABEL(r0, I11HANDLE);// IVG11 Handler
86    [ P0 ++ ] = R0;
87
88LD32_LABEL(r0, I12HANDLE);// IVG12 Handler
89    [ P0 ++ ] = R0;
90
91LD32_LABEL(r0, I13HANDLE);// IVG13 Handler
92    [ P0 ++ ] = R0;
93
94LD32_LABEL(r0, I14HANDLE);// IVG14 Handler
95    [ P0 ++ ] = R0;
96
97LD32_LABEL(r0, I15HANDLE);// IVG15 Handler
98    [ P0 ++ ] = R0;
99
100LD32(p0, EVT_OVERRIDE);
101    R0 = 0;
102    [ P0 ++ ] = R0;
103
104    R1 = -1;     // Change this to mask interrupts (*)
105CSYNC;       // wait for MMR writes to finish
106STI R1;      // sync and reenable events (implicit write to IMASK)
107
108DUMMY:
109
110    A0 = 0;         // reset accumulators
111    A1 = 0;
112
113    R0 = 0 (Z);
114
115LT0 = r0;       // set loop counters to something deterministic
116LB0 = r0;
117LC0 = r0;
118LT1 = r0;
119LB1 = r0;
120LC1 = r0;
121
122ASTAT = r0;     // reset other internal regs
123SYSCFG = r0;
124RETS = r0;      // prevent X's breaking LINK instruction
125
126// The following code sets up the test for running in USER mode
127
128LD32_LABEL(r0, STARTUSER);// One gets to user mode by doing a
129                        // ReturnFromInterrupt (RTI)
130RETI = r0;      // We need to load the return address
131
132// Comment the following line for a USER Mode test
133
134JUMP    STARTSUP;   // jump to code start for SUPERVISOR mode
135
136RTI;
137
138STARTSUP:
139LD32_LABEL(p1, BEGIN);
140
141LD32(p0, EVT15);
142
143CLI R1;   // inhibit events during write to MMR
144    [ P0 ] = P1;  // IVG15 (General) handler (Int 15) load with start
145CSYNC;      // wait for it
146STI R1;     // reenable events with proper imask
147
148RAISE 15;       // after we RTI, INT 15 should be taken
149
150RTI;
151
152//
153// The Main Program
154//
155
156STARTUSER:
157
158LINK 0;     // change for how much stack frame space you need.
159
160JUMP BEGIN;
161
162//*********************************************************************
163
164BEGIN:
165
166                // COMMENT the following line for USER MODE tests
167    [ -- SP ] = RETI;  // enable interrupts in supervisor mode
168
169                // **** YOUR CODE GOES HERE ****
170// Starting 64bit section  COUNT = 6406
171    .dw 0xCF00 ;
172    .dw 0xFA4D ;
173    .dw 0x4973 ;
174    .dw 0x434D ;
175    .dw 0xCF01 ;
176    .dw 0x3CAF ;
177    .dw 0xE7F7 ;
178    .dw 0xACAD ;
179    .dw 0xCF02 ;
180    .dw 0xC9A3 ;
181    .dw 0x705D ;
182    .dw 0x8EFF ;
183    .dw 0xCF03 ;
184    .dw 0x242D ;
185    .dw 0x26ED ;
186    .dw 0x1C67 ;
187    .dw 0xCF04 ;
188    .dw 0xBC83 ;
189    .dw 0x18BB ;
190    .dw 0xEF95 ;
191    .dw 0xCF05 ;
192    .dw 0xDFA7 ;
193    .dw 0x6AD9 ;
194    .dw 0x7FEF ;
195    .dw 0xCF06 ;
196    .dw 0x71F3 ;
197    .dw 0x19CB ;
198    .dw 0x1F69 ;
199    .dw 0xCF07 ;
200    .dw 0xA117 ;
201    .dw 0x23ED ;
202    .dw 0xE509 ;
203    .dw 0xCF08 ;
204    .dw 0x4DF9 ;
205    .dw 0x31C3 ;
206    .dw 0x5207 ;
207    .dw 0xCF09 ;
208    .dw 0xF35D ;
209    .dw 0x998F ;
210    .dw 0xC1A7 ;
211    .dw 0xCF0A ;
212    .dw 0xA7FF ;
213    .dw 0x73D ;
214    .dw 0x4ACB ;
215    .dw 0xCF0B ;
216    .dw 0xEE29 ;
217    .dw 0xAAE7 ;
218    .dw 0x3FD3 ;
219    .dw 0xCF0C ;
220    .dw 0xD3B5 ;
221    .dw 0x5549 ;
222    .dw 0xBCB7 ;
223    .dw 0xCF0D ;
224    .dw 0xF0B7 ;
225    .dw 0xB91B ;
226    .dw 0xC01F ;
227    .dw 0xCF0E ;
228    .dw 0xC169 ;
229    .dw 0x3D1F ;
230    .dw 0xB96B ;
231    .dw 0xCF0F ;
232    .dw 0x7CD3 ;
233    .dw 0xFD95 ;
234    .dw 0x2EA1 ;
235    .dw 0xCF10 ;
236    .dw 0x8907 ;
237    .dw 0x6013 ;
238    .dw 0x467D ;
239    .dw 0xCF11 ;
240    .dw 0x7F67 ;
241    .dw 0xFC1F ;
242    .dw 0x6611 ;
243    .dw 0xCF12 ;
244    .dw 0x1BB3 ;
245    .dw 0xCFE1 ;
246    .dw 0xF609 ;
247    .dw 0xCF13 ;
248    .dw 0x6AF1 ;
249    .dw 0xC229 ;
250    .dw 0x8009 ;
251    .dw 0xCF14 ;
252    .dw 0xF619 ;
253    .dw 0xF2C9 ;
254    .dw 0xF8C7 ;
255    .dw 0xCF15 ;
256    .dw 0xE413 ;
257    .dw 0x99F3 ;
258    .dw 0x7919 ;
259    .dw 0xCF16 ;
260    .dw 0x5E8B ;
261    .dw 0xCA1 ;
262    .dw 0xED71 ;
263    .dw 0xCF17 ;
264    .dw 0x3FBB ;
265    .dw 0x221B ;
266    .dw 0xDA89 ;
267    .dw 0xCF18 ;
268    .dw 0xDFED ;
269    .dw 0x1565 ;
270    .dw 0x12DB ;
271    .dw 0xCF19 ;
272    .dw 0x95FD ;
273    .dw 0xB71F ;
274    .dw 0xB9B ;
275    .dw 0xCF1A ;
276    .dw 0xAB8F ;
277    .dw 0xC14F ;
278    .dw 0xD777 ;
279    .dw 0xCF1B ;
280    .dw 0x9427 ;
281    .dw 0x2E69 ;
282    .dw 0x5F23 ;
283    .dw 0xCF1C ;
284    .dw 0xB9F1 ;
285    .dw 0xFE17 ;
286    .dw 0x6AA1 ;
287    .dw 0xCF1D ;
288    .dw 0x642B ;
289    .dw 0x676B ;
290    .dw 0xCA2B ;
291    .dw 0xCF1E ;
292    .dw 0x4399 ;
293    .dw 0x8C55 ;
294    .dw 0x5187 ;
295    .dw 0xCF1F ;
296    .dw 0xCED5 ;
297    .dw 0x9163 ;
298    .dw 0x4B95 ;
299    .dw 0xCF20 ;
300    .dw 0xE0F9 ;
301    .dw 0xA3AF ;
302    .dw 0x72EB ;
303    .dw 0xCF21 ;
304    .dw 0x120B ;
305    .dw 0x9161 ;
306    .dw 0x4C73 ;
307    .dw 0xCF22 ;
308    .dw 0xA97F ;
309    .dw 0x9BC3 ;
310    .dw 0xF2A9 ;
311    .dw 0xCF23 ;
312    .dw 0x9B6F ;
313    .dw 0x15F5 ;
314    .dw 0x83F3 ;
315    .dw 0xCF24 ;
316    .dw 0x67D3 ;
317    .dw 0x4385 ;
318    .dw 0xEF37 ;
319    .dw 0xCF25 ;
320    .dw 0xD3A3 ;
321    .dw 0xFB5B ;
322    .dw 0x119D ;
323    .dw 0xCF26 ;
324    .dw 0xCA67 ;
325    .dw 0xC3F5 ;
326    .dw 0x2109 ;
327    .dw 0xCF27 ;
328    .dw 0x459B ;
329    .dw 0xC69 ;
330    .dw 0x6BD3 ;
331    .dw 0xCF28 ;
332    .dw 0xBD4B ;
333    .dw 0x82E1 ;
334    .dw 0xDD07 ;
335    .dw 0xCF29 ;
336    .dw 0x9131 ;
337    .dw 0x4A0B ;
338    .dw 0x503B ;
339    .dw 0xCF2A ;
340    .dw 0x3383 ;
341    .dw 0x55B5 ;
342    .dw 0x7107 ;
343    .dw 0xCF2B ;
344    .dw 0x9F5D ;
345    .dw 0x14B3 ;
346    .dw 0xF6FF ;
347    .dw 0xCF2C ;
348    .dw 0xF3B1 ;
349    .dw 0x53DF ;
350    .dw 0x9A93 ;
351    .dw 0xCF2D ;
352    .dw 0x5A59 ;
353    .dw 0x3879 ;
354    .dw 0x41AD ;
355    .dw 0xCF2E ;
356    .dw 0xDD63 ;
357    .dw 0x9BEF ;
358    .dw 0x55B3 ;
359    .dw 0xCF2F ;
360    .dw 0x9B01 ;
361    .dw 0x563D ;
362    .dw 0x598B ;
363    .dw 0xCF30 ;
364    .dw 0xF1E3 ;
365    .dw 0x45E1 ;
366    .dw 0xD327 ;
367    .dw 0xCF31 ;
368    .dw 0xF0C7 ;
369    .dw 0xD19D ;
370    .dw 0x110D ;
371    .dw 0xCF32 ;
372    .dw 0x94B7 ;
373    .dw 0x68CF ;
374    .dw 0x6ADB ;
375    .dw 0xCF33 ;
376    .dw 0x4083 ;
377    .dw 0xAD23 ;
378    .dw 0x3F8B ;
379    .dw 0xCF34 ;
380    .dw 0x55D3 ;
381    .dw 0x6969 ;
382    .dw 0x38D9 ;
383    .dw 0xCF35 ;
384    .dw 0xD261 ;
385    .dw 0xF353 ;
386    .dw 0x1595 ;
387    .dw 0xCF36 ;
388    .dw 0x8897 ;
389    .dw 0x9A6D ;
390    .dw 0x2093 ;
391    .dw 0xCF37 ;
392    .dw 0x2673 ;
393    .dw 0xD509 ;
394    .dw 0xF435 ;
395    .dw 0xCF38 ;
396    .dw 0x5093 ;
397    .dw 0x6F8F ;
398    .dw 0x93D9 ;
399    .dw 0xCF39 ;
400    .dw 0xAAE1 ;
401    .dw 0xE2F1 ;
402    .dw 0x807F ;
403    .dw 0xCF3A ;
404    .dw 0x64D ;
405    .dw 0xFEF7 ;
406    .dw 0x103D ;
407    .dw 0xCF3B ;
408    .dw 0x1665 ;
409    .dw 0x1959 ;
410    .dw 0x608F ;
411    .dw 0xCF3C ;
412    .dw 0x43D9 ;
413    .dw 0x2CDD ;
414    .dw 0x2F3F ;
415    .dw 0xCF3D ;
416    .dw 0x950B ;
417    .dw 0x3B49 ;
418    .dw 0x2681 ;
419    .dw 0xCF3E ;
420    .dw 0xEA9D ;
421    .dw 0x8053 ;
422    .dw 0xC311 ;
423    .dw 0xCF3F ;
424    .dw 0x4D3 ;
425    .dw 0x9311 ;
426    .dw 0x498B ;
427    .dw 0xCF40 ;
428    .dw 0x6909 ;
429    .dw 0x27C3 ;
430    .dw 0x2B45 ;
431    .dw 0xCF41 ;
432    .dw 0x1347 ;
433    .dw 0xFC37 ;
434    .dw 0x8C9D ;
435    .dw 0xCF42 ;
436    .dw 0xD08F ;
437    .dw 0xFF4B ;
438    .dw 0x3223 ;
439    .dw 0xCF43 ;
440    .dw 0x485 ;
441    .dw 0x7C05 ;
442    .dw 0xB5BB ;
443    .dw 0xCF44 ;
444    .dw 0x49BB ;
445    .dw 0x5A71 ;
446    .dw 0xBD1B ;
447    .dw 0xCF45 ;
448    .dw 0x27D9 ;
449    .dw 0x39B ;
450    .dw 0xE099 ;
451    .dw 0xCF46 ;
452    .dw 0x85AF ;
453    .dw 0xC637 ;
454    .dw 0xC7EF ;
455    .dw 0xCF47 ;
456    .dw 0x5D7B ;
457    .dw 0x9FAF ;
458    .dw 0xE277 ;
459    .dw 0xCF48 ;
460    .dw 0x51C9 ;
461    .dw 0xD04B ;
462    .dw 0xE427 ;
463    .dw 0xCF49 ;
464    .dw 0x747B ;
465    .dw 0xB7F5 ;
466    .dw 0x4E5 ;
467    .dw 0xCF4A ;
468    .dw 0xCBDF ;
469    .dw 0xFB21 ;
470    .dw 0x2B5B ;
471    .dw 0xCF4B ;
472    .dw 0x6F59 ;
473    .dw 0x716D ;
474    .dw 0xB07B ;
475    .dw 0xCF4C ;
476    .dw 0x42CB ;
477    .dw 0x46CB ;
478    .dw 0x9CD5 ;
479    .dw 0xCF4D ;
480    .dw 0xC98B ;
481    .dw 0x2C5D ;
482    .dw 0x57FF ;
483    .dw 0xCF4E ;
484    .dw 0xF097 ;
485    .dw 0xF96D ;
486    .dw 0x9C45 ;
487    .dw 0xCF4F ;
488    .dw 0x8743 ;
489    .dw 0xD053 ;
490    .dw 0xF01F ;
491    .dw 0xCF50 ;
492    .dw 0xD12D ;
493    .dw 0x79ED ;
494    .dw 0x18D7 ;
495    .dw 0xCF51 ;
496    .dw 0xCB3 ;
497    .dw 0x860F ;
498    .dw 0x5F57 ;
499    .dw 0xCF52 ;
500    .dw 0x41B7 ;
501    .dw 0xFB03 ;
502    .dw 0x2985 ;
503    .dw 0xCF53 ;
504    .dw 0x514F ;
505    .dw 0x6F ;
506    .dw 0x74F1 ;
507    .dw 0xCF54 ;
508    .dw 0x32AF ;
509    .dw 0x4413 ;
510    .dw 0x4F1 ;
511    .dw 0xCF55 ;
512    .dw 0xDF13 ;
513    .dw 0xEB77 ;
514    .dw 0xFDC7 ;
515    .dw 0xCF56 ;
516    .dw 0xE7BF ;
517    .dw 0xF8FB ;
518    .dw 0x8881 ;
519    .dw 0xCF57 ;
520    .dw 0xD71 ;
521    .dw 0xE18B ;
522    .dw 0x58E1 ;
523    .dw 0xCF58 ;
524    .dw 0xE66B ;
525    .dw 0x396B ;
526    .dw 0x6441 ;
527    .dw 0xCF59 ;
528    .dw 0xEAE5 ;
529    .dw 0xC4B9 ;
530    .dw 0x5D65 ;
531    .dw 0xCF5A ;
532    .dw 0x2DA9 ;
533    .dw 0x2BBB ;
534    .dw 0xD621 ;
535    .dw 0xCF5B ;
536    .dw 0x2FD1 ;
537    .dw 0xEB81 ;
538    .dw 0x56F3 ;
539    .dw 0xCF5C ;
540    .dw 0x7E67 ;
541    .dw 0xE6E1 ;
542    .dw 0x907 ;
543    .dw 0xCF5D ;
544    .dw 0x40A3 ;
545    .dw 0x95B3 ;
546    .dw 0x3501 ;
547    .dw 0xCF5E ;
548    .dw 0xBE25 ;
549    .dw 0x12A5 ;
550    .dw 0x96D ;
551    .dw 0xCF5F ;
552    .dw 0x94C9 ;
553    .dw 0xF7F7 ;
554    .dw 0xA553 ;
555    .dw 0xCF60 ;
556    .dw 0xB291 ;
557    .dw 0x5C7D ;
558    .dw 0x32ED ;
559    .dw 0xCF61 ;
560    .dw 0xABB5 ;
561    .dw 0x3987 ;
562    .dw 0x90FB ;
563    .dw 0xCF62 ;
564    .dw 0xDE61 ;
565    .dw 0x6B43 ;
566    .dw 0x5F83 ;
567    .dw 0xCF63 ;
568    .dw 0xF03D ;
569    .dw 0x61AF ;
570    .dw 0x3713 ;
571    .dw 0xCF64 ;
572    .dw 0x854D ;
573    .dw 0x2B4B ;
574    .dw 0x5ACB ;
575    .dw 0xCF65 ;
576    .dw 0x669B ;
577    .dw 0xC7A9 ;
578    .dw 0xC7B5 ;
579    .dw 0xCF66 ;
580    .dw 0x2E5D ;
581    .dw 0xFFE5 ;
582    .dw 0x8929 ;
583    .dw 0xCF67 ;
584    .dw 0xA089 ;
585    .dw 0x8151 ;
586    .dw 0xCD41 ;
587    .dw 0xCF68 ;
588    .dw 0xC17F ;
589    .dw 0x7ECF ;
590    .dw 0xB3F9 ;
591    .dw 0xCF69 ;
592    .dw 0x1689 ;
593    .dw 0xEA61 ;
594    .dw 0xC17B ;
595    .dw 0xCF6A ;
596    .dw 0xF6A1 ;
597    .dw 0xB5D1 ;
598    .dw 0xE1D5 ;
599    .dw 0xCF6B ;
600    .dw 0x8CEB ;
601    .dw 0xFA5 ;
602    .dw 0xBF9B ;
603    .dw 0xCF6C ;
604    .dw 0x9A11 ;
605    .dw 0x79DB ;
606    .dw 0x6B09 ;
607    .dw 0xCF6D ;
608    .dw 0x769B ;
609    .dw 0xEED1 ;
610    .dw 0x3BE3 ;
611    .dw 0xCF6E ;
612    .dw 0x8B95 ;
613    .dw 0xC2E9 ;
614    .dw 0x782D ;
615    .dw 0xCF6F ;
616    .dw 0x3763 ;
617    .dw 0x756B ;
618    .dw 0xE4B1 ;
619    .dw 0xCF70 ;
620    .dw 0xB2F5 ;
621    .dw 0x7F09 ;
622    .dw 0x2A1B ;
623    .dw 0xCF71 ;
624    .dw 0x9A79 ;
625    .dw 0x5685 ;
626    .dw 0x30BF ;
627    .dw 0xCF72 ;
628    .dw 0xCE41 ;
629    .dw 0x72D1 ;
630    .dw 0x301B ;
631    .dw 0xCF73 ;
632    .dw 0xAA27 ;
633    .dw 0x909B ;
634    .dw 0x818D ;
635    .dw 0xCF74 ;
636    .dw 0x5BB9 ;
637    .dw 0x8C95 ;
638    .dw 0xEA9F ;
639    .dw 0xCF75 ;
640    .dw 0x3079 ;
641    .dw 0x3273 ;
642    .dw 0x87F ;
643    .dw 0xCF76 ;
644    .dw 0x5297 ;
645    .dw 0x639B ;
646    .dw 0xC64B ;
647    .dw 0xCF77 ;
648    .dw 0x6883 ;
649    .dw 0xF731 ;
650    .dw 0xA8DF ;
651    .dw 0xCF78 ;
652    .dw 0x4387 ;
653    .dw 0x53CB ;
654    .dw 0x9CA1 ;
655    .dw 0xCF79 ;
656    .dw 0xAB55 ;
657    .dw 0xF8B ;
658    .dw 0xC01D ;
659    .dw 0xCF7A ;
660    .dw 0x3335 ;
661    .dw 0xA1EB ;
662    .dw 0xFD35 ;
663    .dw 0xCF7B ;
664    .dw 0xB3D ;
665    .dw 0x3F6B ;
666    .dw 0xF1A1 ;
667    .dw 0xCF7C ;
668    .dw 0x6EA9 ;
669    .dw 0x33F3 ;
670    .dw 0xAB8B ;
671    .dw 0xCF7D ;
672    .dw 0xBB41 ;
673    .dw 0xBCB7 ;
674    .dw 0xAA7D ;
675    .dw 0xCF7E ;
676    .dw 0x1ABD ;
677    .dw 0x8C9F ;
678    .dw 0xBBA9 ;
679    .dw 0xCF7F ;
680    .dw 0xB089 ;
681    .dw 0x55A3 ;
682    .dw 0xED41 ;
683    .dw 0xCF80 ;
684    .dw 0xB59D ;
685    .dw 0xC0AD ;
686    .dw 0xE873 ;
687    .dw 0xCF81 ;
688    .dw 0xFEA7 ;
689    .dw 0xB265 ;
690    .dw 0xF55F ;
691    .dw 0xCF82 ;
692    .dw 0x8A87 ;
693    .dw 0xE7F9 ;
694    .dw 0x64D3 ;
695    .dw 0xCF83 ;
696    .dw 0xE769 ;
697    .dw 0x6783 ;
698    .dw 0x4547 ;
699    .dw 0xCF84 ;
700    .dw 0x9597 ;
701    .dw 0xFBE9 ;
702    .dw 0xE1DD ;
703    .dw 0xCF85 ;
704    .dw 0x5239 ;
705    .dw 0x6397 ;
706    .dw 0x99C1 ;
707    .dw 0xCF86 ;
708    .dw 0xE6FF ;
709    .dw 0x84B ;
710    .dw 0x31C7 ;
711    .dw 0xCF87 ;
712    .dw 0x3E93 ;
713    .dw 0x6CDD ;
714    .dw 0xE883 ;
715    .dw 0xCF88 ;
716    .dw 0x9A81 ;
717    .dw 0xEB3D ;
718    .dw 0x310B ;
719    .dw 0xCF89 ;
720    .dw 0xA8AF ;
721    .dw 0x405D ;
722    .dw 0xDFC7 ;
723    .dw 0xCF8A ;
724    .dw 0x515B ;
725    .dw 0x7C13 ;
726    .dw 0xD483 ;
727    .dw 0xCF8B ;
728    .dw 0x1EE3 ;
729    .dw 0xD5E9 ;
730    .dw 0x2FAD ;
731    .dw 0xCF8C ;
732    .dw 0x2A93 ;
733    .dw 0xB0E1 ;
734    .dw 0xC4C1 ;
735    .dw 0xCF8D ;
736    .dw 0xD1DD ;
737    .dw 0xB1E7 ;
738    .dw 0x1E29 ;
739    .dw 0xCF8E ;
740    .dw 0xD6ED ;
741    .dw 0x1DB1 ;
742    .dw 0x2C7F ;
743    .dw 0xCF8F ;
744    .dw 0x1935 ;
745    .dw 0x6711 ;
746    .dw 0x618D ;
747    .dw 0xCF90 ;
748    .dw 0xFB4D ;
749    .dw 0xD003 ;
750    .dw 0xB185 ;
751    .dw 0xCF91 ;
752    .dw 0x1969 ;
753    .dw 0xD80F ;
754    .dw 0xDD13 ;
755    .dw 0xCF92 ;
756    .dw 0xFDE7 ;
757    .dw 0xF487 ;
758    .dw 0x54AB ;
759    .dw 0xCF93 ;
760    .dw 0x4FDB ;
761    .dw 0xCA39 ;
762    .dw 0x7EAF ;
763    .dw 0xCF94 ;
764    .dw 0xF805 ;
765    .dw 0xC4BF ;
766    .dw 0x8F77 ;
767    .dw 0xCF95 ;
768    .dw 0x24E3 ;
769    .dw 0x5055 ;
770    .dw 0x491 ;
771    .dw 0xCF96 ;
772    .dw 0x37A9 ;
773    .dw 0xCD9D ;
774    .dw 0xD301 ;
775    .dw 0xCF97 ;
776    .dw 0x2379 ;
777    .dw 0xDD89 ;
778    .dw 0xBC7B ;
779    .dw 0xCF98 ;
780    .dw 0xE1F3 ;
781    .dw 0x977F ;
782    .dw 0xED8B ;
783    .dw 0xCF99 ;
784    .dw 0xF983 ;
785    .dw 0xCE75 ;
786    .dw 0x3E75 ;
787    .dw 0xCF9A ;
788    .dw 0x4081 ;
789    .dw 0xF3D5 ;
790    .dw 0x3185 ;
791    .dw 0xCF9B ;
792    .dw 0xCB77 ;
793    .dw 0x47AD ;
794    .dw 0x97E9 ;
795    .dw 0xCF9C ;
796    .dw 0x71AF ;
797    .dw 0x93E1 ;
798    .dw 0xE25B ;
799    .dw 0xCF9D ;
800    .dw 0x9139 ;
801    .dw 0xCE65 ;
802    .dw 0x33C3 ;
803    .dw 0xCF9E ;
804    .dw 0xF4F5 ;
805    .dw 0xEF8D ;
806    .dw 0xC8D5 ;
807    .dw 0xCF9F ;
808    .dw 0x1E1 ;
809    .dw 0x59A7 ;
810    .dw 0xE7A1 ;
811    .dw 0xCFA0 ;
812    .dw 0x4241 ;
813    .dw 0xCB25 ;
814    .dw 0x4265 ;
815    .dw 0xCFA1 ;
816    .dw 0xE769 ;
817    .dw 0x27E1 ;
818    .dw 0xCD97 ;
819    .dw 0xCFA2 ;
820    .dw 0xA491 ;
821    .dw 0xB5C1 ;
822    .dw 0x427 ;
823    .dw 0xCFA3 ;
824    .dw 0x6AD7 ;
825    .dw 0xC611 ;
826    .dw 0xD5AB ;
827    .dw 0xCFA4 ;
828    .dw 0x4DA9 ;
829    .dw 0x8A15 ;
830    .dw 0x83DD ;
831    .dw 0xCFA5 ;
832    .dw 0xE503 ;
833    .dw 0xCB71 ;
834    .dw 0x2189 ;
835    .dw 0xCFA6 ;
836    .dw 0x6A27 ;
837    .dw 0x2EBB ;
838    .dw 0xE6D9 ;
839    .dw 0xCFA7 ;
840    .dw 0xDF6B ;
841    .dw 0x35E5 ;
842    .dw 0x288D ;
843    .dw 0xCFA8 ;
844    .dw 0x42DD ;
845    .dw 0x6A67 ;
846    .dw 0xD7F1 ;
847    .dw 0xCFA9 ;
848    .dw 0x143B ;
849    .dw 0x70F9 ;
850    .dw 0x319D ;
851    .dw 0xCFAA ;
852    .dw 0x919B ;
853    .dw 0x7C3B ;
854    .dw 0x1B7B ;
855    .dw 0xCFAB ;
856    .dw 0x4413 ;
857    .dw 0x42CB ;
858    .dw 0xC3FF ;
859    .dw 0xCFAC ;
860    .dw 0x7D61 ;
861    .dw 0x27AB ;
862    .dw 0x818B ;
863    .dw 0xCFAD ;
864    .dw 0x839F ;
865    .dw 0x7FB1 ;
866    .dw 0x27A3 ;
867    .dw 0xCFAE ;
868    .dw 0x932D ;
869    .dw 0xE719 ;
870    .dw 0x5449 ;
871    .dw 0xCFAF ;
872    .dw 0x1289 ;
873    .dw 0xDED7 ;
874    .dw 0xC905 ;
875    .dw 0xCFB0 ;
876    .dw 0xE641 ;
877    .dw 0xDFAD ;
878    .dw 0xF1A5 ;
879    .dw 0xCFB1 ;
880    .dw 0xC0D1 ;
881    .dw 0xF7BD ;
882    .dw 0x3423 ;
883    .dw 0xCFB2 ;
884    .dw 0xAC39 ;
885    .dw 0xDC73 ;
886    .dw 0x4545 ;
887    .dw 0xCFB3 ;
888    .dw 0x3F39 ;
889    .dw 0xB1D9 ;
890    .dw 0x3DA7 ;
891    .dw 0xCFB4 ;
892    .dw 0x86A1 ;
893    .dw 0xE663 ;
894    .dw 0xB105 ;
895    .dw 0xCFB5 ;
896    .dw 0x52A1 ;
897    .dw 0xA52D ;
898    .dw 0xB8C7 ;
899    .dw 0xCFB6 ;
900    .dw 0x9D8B ;
901    .dw 0xE251 ;
902    .dw 0xFFB3 ;
903    .dw 0xCFB7 ;
904    .dw 0xA225 ;
905    .dw 0x7425 ;
906    .dw 0xA407 ;
907    .dw 0xCFB8 ;
908    .dw 0x13C3 ;
909    .dw 0xD553 ;
910    .dw 0x9F8F ;
911    .dw 0xCFB9 ;
912    .dw 0x9ABF ;
913    .dw 0x6487 ;
914    .dw 0xE63D ;
915    .dw 0xCFBA ;
916    .dw 0x971B ;
917    .dw 0xEBCD ;
918    .dw 0xF725 ;
919    .dw 0xCFBB ;
920    .dw 0x8B4F ;
921    .dw 0xCED3 ;
922    .dw 0x691B ;
923    .dw 0xCFBC ;
924    .dw 0x3C89 ;
925    .dw 0xFE7B ;
926    .dw 0x9105 ;
927    .dw 0xCFBD ;
928    .dw 0x86D9 ;
929    .dw 0xC0CD ;
930    .dw 0x75A5 ;
931    .dw 0xCFBE ;
932    .dw 0xD961 ;
933    .dw 0xF4C1 ;
934    .dw 0x7801 ;
935    .dw 0xCFBF ;
936    .dw 0xAAA3 ;
937    .dw 0xC993 ;
938    .dw 0x92C5 ;
939    .dw 0xCFC0 ;
940    .dw 0x8D ;
941    .dw 0xEAB5 ;
942    .dw 0xCF55 ;
943    .dw 0xCFC1 ;
944    .dw 0xF94D ;
945    .dw 0xB307 ;
946    .dw 0xA575 ;
947    .dw 0xCFC2 ;
948    .dw 0x140F ;
949    .dw 0x4CE7 ;
950    .dw 0xD78B ;
951    .dw 0xCFC3 ;
952    .dw 0xF359 ;
953    .dw 0x4DE7 ;
954    .dw 0x958B ;
955    .dw 0xCFC4 ;
956    .dw 0xD893 ;
957    .dw 0xBA3 ;
958    .dw 0x8A5D ;
959    .dw 0xCFC5 ;
960    .dw 0x5149 ;
961    .dw 0xCB4B ;
962    .dw 0x21E3 ;
963    .dw 0xCFC6 ;
964    .dw 0xA65 ;
965    .dw 0x7A85 ;
966    .dw 0x2571 ;
967    .dw 0xCFC7 ;
968    .dw 0xA2DF ;
969    .dw 0xC7F9 ;
970    .dw 0xB9AF ;
971    .dw 0xCFC8 ;
972    .dw 0xF8A3 ;
973    .dw 0x491D ;
974    .dw 0xBD37 ;
975    .dw 0xCFC9 ;
976    .dw 0xFA7B ;
977    .dw 0x8B45 ;
978    .dw 0xCD ;
979    .dw 0xCFCA ;
980    .dw 0x84F3 ;
981    .dw 0x1C97 ;
982    .dw 0xA6C7 ;
983    .dw 0xCFCB ;
984    .dw 0x1349 ;
985    .dw 0x6CD9 ;
986    .dw 0xF7E3 ;
987    .dw 0xCFCC ;
988    .dw 0x738D ;
989    .dw 0x9209 ;
990    .dw 0x90F9 ;
991    .dw 0xCFCD ;
992    .dw 0x6C31 ;
993    .dw 0x3A3D ;
994    .dw 0x7921 ;
995    .dw 0xCFCE ;
996    .dw 0x18E5 ;
997    .dw 0xB46F ;
998    .dw 0xE29B ;
999    .dw 0xCFCF ;
1000    .dw 0x812D ;
1001    .dw 0x2E4B ;
1002    .dw 0xB56B ;
1003    .dw 0xCFD0 ;
1004    .dw 0x87E5 ;
1005    .dw 0x18D5 ;
1006    .dw 0xC509 ;
1007    .dw 0xCFD1 ;
1008    .dw 0x8005 ;
1009    .dw 0xFAA1 ;
1010    .dw 0x7DC1 ;
1011    .dw 0xCFD2 ;
1012    .dw 0xCCC5 ;
1013    .dw 0xBEE7 ;
1014    .dw 0x87FB ;
1015    .dw 0xCFD3 ;
1016    .dw 0x6D11 ;
1017    .dw 0xE40B ;
1018    .dw 0x47C5 ;
1019    .dw 0xCFD4 ;
1020    .dw 0xDE9F ;
1021    .dw 0x6351 ;
1022    .dw 0x24DB ;
1023    .dw 0xCFD5 ;
1024    .dw 0x8803 ;
1025    .dw 0x690D ;
1026    .dw 0xE3F5 ;
1027    .dw 0xCFD6 ;
1028    .dw 0x22C9 ;
1029    .dw 0x505 ;
1030    .dw 0xF573 ;
1031    .dw 0xCFD7 ;
1032    .dw 0xC055 ;
1033    .dw 0xB295 ;
1034    .dw 0xA7D3 ;
1035    .dw 0xCFD8 ;
1036    .dw 0x305 ;
1037    .dw 0xD61D ;
1038    .dw 0x933B ;
1039    .dw 0xCFD9 ;
1040    .dw 0xC59 ;
1041    .dw 0x8CD1 ;
1042    .dw 0x3D47 ;
1043    .dw 0xCFDA ;
1044    .dw 0x9095 ;
1045    .dw 0x8C21 ;
1046    .dw 0xAA23 ;
1047    .dw 0xCFDB ;
1048    .dw 0x5D97 ;
1049    .dw 0x376F ;
1050    .dw 0x3C85 ;
1051    .dw 0xCFDC ;
1052    .dw 0xDC49 ;
1053    .dw 0xE393 ;
1054    .dw 0xB31B ;
1055    .dw 0xCFDD ;
1056    .dw 0x9871 ;
1057    .dw 0x61FF ;
1058    .dw 0xCF1 ;
1059    .dw 0xCFDE ;
1060    .dw 0xEC8D ;
1061    .dw 0xD8B ;
1062    .dw 0x683D ;
1063    .dw 0xCFDF ;
1064    .dw 0x449D ;
1065    .dw 0x82F5 ;
1066    .dw 0x24FF ;
1067    .dw 0xCFE0 ;
1068    .dw 0x708D ;
1069    .dw 0x8629 ;
1070    .dw 0xB5D3 ;
1071    .dw 0xCFE1 ;
1072    .dw 0x7FA3 ;
1073    .dw 0xC4EB ;
1074    .dw 0x80C7 ;
1075    .dw 0xCFE2 ;
1076    .dw 0xD88F ;
1077    .dw 0x5DBF ;
1078    .dw 0x5113 ;
1079    .dw 0xCFE3 ;
1080    .dw 0xF1BD ;
1081    .dw 0x6797 ;
1082    .dw 0xEA3B ;
1083    .dw 0xCFE4 ;
1084    .dw 0xB965 ;
1085    .dw 0x2E63 ;
1086    .dw 0x56ED ;
1087    .dw 0xCFE5 ;
1088    .dw 0x15B ;
1089    .dw 0x733 ;
1090    .dw 0x5599 ;
1091    .dw 0xCFE6 ;
1092    .dw 0xB249 ;
1093    .dw 0xAAFB ;
1094    .dw 0xC29B ;
1095    .dw 0xCFE7 ;
1096    .dw 0x20C1 ;
1097    .dw 0x26A9 ;
1098    .dw 0x39 ;
1099    .dw 0xCFE8 ;
1100    .dw 0xD1E5 ;
1101    .dw 0xCC2D ;
1102    .dw 0x8D6D ;
1103    .dw 0xCFE9 ;
1104    .dw 0xB4C3 ;
1105    .dw 0xF651 ;
1106    .dw 0xF25 ;
1107    .dw 0xCFEA ;
1108    .dw 0x10F3 ;
1109    .dw 0xFB75 ;
1110    .dw 0x3E79 ;
1111    .dw 0xCFEB ;
1112    .dw 0x9B55 ;
1113    .dw 0x2A7 ;
1114    .dw 0xFEAB ;
1115    .dw 0xCFEC ;
1116    .dw 0x4623 ;
1117    .dw 0x1BCD ;
1118    .dw 0xFA9B ;
1119    .dw 0xCFED ;
1120    .dw 0xA3E3 ;
1121    .dw 0x9B9B ;
1122    .dw 0x2B6F ;
1123    .dw 0xCFEE ;
1124    .dw 0x58A9 ;
1125    .dw 0xD303 ;
1126    .dw 0x2287 ;
1127    .dw 0xCFEF ;
1128    .dw 0x3AF1 ;
1129    .dw 0xBEFF ;
1130    .dw 0xF90B ;
1131    .dw 0xCFF0 ;
1132    .dw 0xCC47 ;
1133    .dw 0xDE4D ;
1134    .dw 0x9E43 ;
1135    .dw 0xCFF1 ;
1136    .dw 0xFE51 ;
1137    .dw 0x7DC7 ;
1138    .dw 0x79BD ;
1139    .dw 0xCFF2 ;
1140    .dw 0x6B1D ;
1141    .dw 0x6835 ;
1142    .dw 0x7AD9 ;
1143    .dw 0xCFF3 ;
1144    .dw 0xC635 ;
1145    .dw 0x955D ;
1146    .dw 0xDE57 ;
1147    .dw 0xCFF4 ;
1148    .dw 0x2F0B ;
1149    .dw 0x2555 ;
1150    .dw 0xD887 ;
1151    .dw 0xCFF5 ;
1152    .dw 0xCB59 ;
1153    .dw 0xAC01 ;
1154    .dw 0x3CEB ;
1155    .dw 0xCFF6 ;
1156    .dw 0xFDF5 ;
1157    .dw 0x510D ;
1158    .dw 0xB54D ;
1159    .dw 0xCFF7 ;
1160    .dw 0xD1DB ;
1161    .dw 0xA867 ;
1162    .dw 0x482F ;
1163    .dw 0xCFF8 ;
1164    .dw 0xB1C9 ;
1165    .dw 0x5AA7 ;
1166    .dw 0x4121 ;
1167    .dw 0xCFF9 ;
1168    .dw 0x83A1 ;
1169    .dw 0x5A65 ;
1170    .dw 0x4161 ;
1171    .dw 0xCFFA ;
1172    .dw 0x9E7F ;
1173    .dw 0xF1F ;
1174    .dw 0x7E8F ;
1175    .dw 0xCFFB ;
1176    .dw 0x4D1F ;
1177    .dw 0x7C11 ;
1178    .dw 0xA17B ;
1179    .dw 0xCFFC ;
1180    .dw 0xB5FD ;
1181    .dw 0x2AF7 ;
1182    .dw 0x5C2B ;
1183    .dw 0xCFFD ;
1184    .dw 0xFA4F ;
1185    .dw 0x580D ;
1186    .dw 0x8E77 ;
1187    .dw 0xCFFE ;
1188    .dw 0xEB0B ;
1189    .dw 0x633B ;
1190    .dw 0x9099 ;
1191    .dw 0xCFFF ;
1192    .dw 0xE1A1 ;
1193    .dw 0x7B5F ;
1194    .dw 0xC9B ;
1195// COUNT = 6662
1196
1197
1198
1199    // count of UI's will be in r5, which was initialized to 0 by header
1200
1201CHECK_INIT_DEF(p0); //CHECK_INIT(p0, 0xFF7FFFFC);
1202                    // Xhandler counts all EXCAUSE = 0x21;
1203CHECKREG(r5, 256); // count of all 16 bit UI's.
1204
1205END:
1206dbg_pass;            // End the test
1207
1208//*********************************************************************
1209
1210//
1211// Handlers for Events
1212//
1213
1214NHANDLE:            // NMI Handler 2
1215RTN;
1216
1217XHANDLE:            // Exception Handler 3
1218                    // 64 bit illegal opcode handler - skips bad instruction
1219
1220    [ -- SP ] = ASTAT; // save what we damage
1221    [ -- SP ] = ( R7:6 );
1222    R7 = SEQSTAT;
1223    R7 <<= 26;
1224    R7 >>= 26;      // only want EXCAUSE
1225    R6 = 0x21;      // EXCAUSE 0x21 means I-Fetch Undefined Instruction
1226CC = r7 == r6;
1227IF CC JUMP UNDEFINEDINSTRUCTION;   // If EXCAUSE != 0x21 then leave
1228
1229dbg_fail;
1230
1231UNDEFINEDINSTRUCTION:
1232    R7 = RETX;      // Fix up return address
1233
1234    R7 += 8;        // skip offending 64 bit instruction
1235
1236RETX = r7;      // and put back in RETX
1237
1238    R5 += 1;        // Increment global counter
1239
1240OUT:
1241    ( R7:6 ) = [ SP ++ ];
1242ASTAT = [sp++];
1243
1244RTX;
1245
1246HWHANDLE:           // HW Error Handler 5
1247RTI;
1248
1249THANDLE:            // Timer Handler 6
1250RTI;
1251
1252I7HANDLE:           // IVG 7 Handler
1253RTI;
1254
1255I8HANDLE:           // IVG 8 Handler
1256RTI;
1257
1258I9HANDLE:           // IVG 9 Handler
1259RTI;
1260
1261I10HANDLE:          // IVG 10 Handler
1262RTI;
1263
1264I11HANDLE:          // IVG 11 Handler
1265RTI;
1266
1267I12HANDLE:          // IVG 12 Handler
1268RTI;
1269
1270I13HANDLE:          // IVG 13 Handler
1271RTI;
1272
1273I14HANDLE:          // IVG 14 Handler
1274RTI;
1275
1276I15HANDLE:          // IVG 15 Handler
1277RTI;
1278
1279
1280    // padding for the icache
1281
1282EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0;
1283
1284//
1285// Data Segment
1286//
1287
1288.data
1289DATA:
1290    .space (0x10);
1291
1292// Stack Segments (Both Kernel and User)
1293
1294    .space (STACKSIZE);
1295KSTACK:
1296
1297    .space (STACKSIZE);
1298USTACK:
1299