1//Original:/proj/frio/dv/testcases/seq/se_undefinedinstruction2/se_undefinedinstruction2.dsp
2// Description: 16 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);
140r4 = p1;
141
142LD32(p0, EVT15);
143
144CLI R1;   // inhibit events during write to MMR
145    [ P0 ] = P1;  // IVG15 (General) handler (Int 15) load with start
146CSYNC;      // wait for it
147STI R1;     // reenable events with proper imask
148
149RAISE 15;       // after we RTI, INT 15 should be taken
150
151RTI;
152
153//
154// The Main Program
155//
156
157STARTUSER:
158
159LINK 0;     // change for how much stack frame space you need.
160
161JUMP BEGIN;
162
163//*********************************************************************
164
165BEGIN:
166
167                // COMMENT the following line for USER MODE tests
168    [ -- SP ] = RETI;  // enable interrupts in supervisor mode
169
170                // **** YOUR CODE GOES HERE ****
171
172    // count of UI's will be in r5, which was initialized to 0 by header
173
174// 16 bit special cases  COUNT = 830
175    .dw 0x10E ;
176    .dw 0x124 ;
177.ifndef BFIN_HW
178	// XXX: hardware doesnt trigger illegal exception ?
179    .dw 0x125 ;
180.endif
181    .dw 0x164 ;
182.ifndef BFIN_HW
183	// XXX: hardware doesnt trigger illegal exception ?
184    .dw 0x165 ;
185.endif
186    .dw 0x128 ;
187    .dw 0x129 ;
188    .dw 0x12A ;
189    .dw 0x12B ;
190    .dw 0x12C ;
191    .dw 0x12D ;
192    .dw 0x12E ;
193    .dw 0x12F ;
194    .dw 0x168 ;
195    .dw 0x169 ;
196    .dw 0x16A ;
197    .dw 0x16B ;
198    .dw 0x16C ;
199    .dw 0x16D ;
200    .dw 0x16E ;
201    .dw 0x16F ;
202#if 0
203	// EMUDAT = [SP++]; is valid
204    .dw 0x13F ;
205	// [SP++] = EMUDAT; is valid
206    .dw 0x17F ;
207#endif
208    .dw 0x486 ;
209    .dw 0x487 ;
210    .dw 0x210 ;
211    .dw 0x211 ;
212    .dw 0x212 ;
213    .dw 0x213 ;
214    .dw 0x214 ;
215    .dw 0x215 ;
216    .dw 0x216 ;
217    .dw 0x217 ;
218    .dw 0x305 ;
219#if 0
220	// Not documented, but hardware takes them
221	// CC = <reserved astat>
222    .dw 0x307 ;
223    .dw 0x308 ;
224    .dw 0x309 ;
225    .dw 0x30A ;
226    .dw 0x30B ;
227    .dw 0x30C ;
228    .dw 0x30D ;
229    .dw 0x30E ;
230    .dw 0x30F ;
231    .dw 0x310 ;
232    .dw 0x311 ;
233    .dw 0x312 ;
234    .dw 0x313 ;
235    .dw 0x314 ;
236    .dw 0x315 ;
237    .dw 0x316 ;
238    .dw 0x317 ;
239    .dw 0x318 ;
240    .dw 0x319 ;
241    .dw 0x31A ;
242    .dw 0x31B ;
243    .dw 0x31C ;
244    .dw 0x31D ;
245    .dw 0x31E ;
246    .dw 0x31F ;
247#endif
248    .dw 0x325 ;
249#if 0
250	// Not documented, but hardware takes them
251	// CC |= <reserved astat>
252    .dw 0x327 ;
253    .dw 0x328 ;
254    .dw 0x329 ;
255    .dw 0x32A ;
256    .dw 0x32B ;
257    .dw 0x32C ;
258    .dw 0x32D ;
259    .dw 0x32E ;
260    .dw 0x32F ;
261    .dw 0x330 ;
262    .dw 0x331 ;
263    .dw 0x332 ;
264    .dw 0x333 ;
265    .dw 0x334 ;
266    .dw 0x335 ;
267    .dw 0x336 ;
268    .dw 0x337 ;
269    .dw 0x338 ;
270    .dw 0x339 ;
271    .dw 0x33A ;
272    .dw 0x33B ;
273    .dw 0x33C ;
274    .dw 0x33D ;
275    .dw 0x33E ;
276    .dw 0x33F ;
277#endif
278    .dw 0x345 ;
279#if 0
280	// Not documented, but hardware takes them
281	// CC &= <reserved astat>
282    .dw 0x347 ;
283    .dw 0x348 ;
284    .dw 0x349 ;
285    .dw 0x34A ;
286    .dw 0x34B ;
287    .dw 0x34C ;
288    .dw 0x34D ;
289    .dw 0x34E ;
290    .dw 0x34F ;
291    .dw 0x350 ;
292    .dw 0x351 ;
293    .dw 0x352 ;
294    .dw 0x353 ;
295    .dw 0x354 ;
296    .dw 0x355 ;
297    .dw 0x356 ;
298    .dw 0x357 ;
299    .dw 0x358 ;
300    .dw 0x359 ;
301    .dw 0x35A ;
302    .dw 0x35B ;
303    .dw 0x35C ;
304    .dw 0x35D ;
305    .dw 0x35E ;
306    .dw 0x35F ;
307#endif
308    .dw 0x365 ;
309#if 0
310	// Not documented, but hardware takes them
311	// CC ^= <reserved astat>
312    .dw 0x367 ;
313    .dw 0x368 ;
314    .dw 0x369 ;
315    .dw 0x36A ;
316    .dw 0x36B ;
317    .dw 0x36C ;
318    .dw 0x36D ;
319    .dw 0x36E ;
320    .dw 0x36F ;
321    .dw 0x370 ;
322    .dw 0x371 ;
323    .dw 0x372 ;
324    .dw 0x373 ;
325    .dw 0x374 ;
326    .dw 0x375 ;
327    .dw 0x376 ;
328    .dw 0x377 ;
329    .dw 0x378 ;
330    .dw 0x379 ;
331    .dw 0x37A ;
332    .dw 0x37B ;
333    .dw 0x37C ;
334    .dw 0x37D ;
335    .dw 0x37E ;
336    .dw 0x37F ;
337#endif
338    .dw 0x385 ;
339#if 0
340	// Not documented, but hardware takes them
341	// <reserved astat> = CC
342    .dw 0x387 ;
343    .dw 0x388 ;
344    .dw 0x389 ;
345    .dw 0x38A ;
346    .dw 0x38B ;
347    .dw 0x38C ;
348    .dw 0x38D ;
349    .dw 0x38E ;
350    .dw 0x38F ;
351    .dw 0x390 ;
352    .dw 0x391 ;
353    .dw 0x392 ;
354    .dw 0x393 ;
355    .dw 0x394 ;
356    .dw 0x395 ;
357    .dw 0x396 ;
358    .dw 0x397 ;
359    .dw 0x398 ;
360    .dw 0x399 ;
361    .dw 0x39A ;
362    .dw 0x39B ;
363    .dw 0x39C ;
364    .dw 0x39D ;
365    .dw 0x39E ;
366    .dw 0x39F ;
367#endif
368    .dw 0x3A5 ;
369#if 0
370	// Not documented, but hardware takes them
371	// <reserved astat> |= CC
372    .dw 0x3A7 ;
373    .dw 0x3A8 ;
374    .dw 0x3A9 ;
375    .dw 0x3AA ;
376    .dw 0x3AB ;
377    .dw 0x3AC ;
378    .dw 0x3AD ;
379    .dw 0x3AE ;
380    .dw 0x3AF ;
381    .dw 0x3B0 ;
382    .dw 0x3B1 ;
383    .dw 0x3B2 ;
384    .dw 0x3B3 ;
385    .dw 0x3B4 ;
386    .dw 0x3B5 ;
387    .dw 0x3B6 ;
388    .dw 0x3B7 ;
389    .dw 0x3B8 ;
390    .dw 0x3B9 ;
391    .dw 0x3BA ;
392    .dw 0x3BB ;
393    .dw 0x3BC ;
394    .dw 0x3BD ;
395    .dw 0x3BE ;
396    .dw 0x3BF ;
397#endif
398    .dw 0x3C5 ;
399#if 0
400	// Not documented, but hardware takes them
401	// <reserved astat> &= CC
402    .dw 0x3C7 ;
403    .dw 0x3C8 ;
404    .dw 0x3C9 ;
405    .dw 0x3CA ;
406    .dw 0x3CB ;
407    .dw 0x3CC ;
408    .dw 0x3CD ;
409    .dw 0x3CE ;
410    .dw 0x3CF ;
411    .dw 0x3D0 ;
412    .dw 0x3D1 ;
413    .dw 0x3D2 ;
414    .dw 0x3D3 ;
415    .dw 0x3D4 ;
416    .dw 0x3D5 ;
417    .dw 0x3D6 ;
418    .dw 0x3D7 ;
419    .dw 0x3D8 ;
420    .dw 0x3D9 ;
421    .dw 0x3DA ;
422    .dw 0x3DB ;
423    .dw 0x3DC ;
424    .dw 0x3DD ;
425    .dw 0x3DE ;
426    .dw 0x3DF ;
427#endif
428    .dw 0x3E5 ;
429#if 0
430	// Not documented, but hardware takes them
431	// <reserved astat> ^= CC
432    .dw 0x3E7 ;
433    .dw 0x3E8 ;
434    .dw 0x3E9 ;
435    .dw 0x3EA ;
436    .dw 0x3EB ;
437    .dw 0x3EC ;
438    .dw 0x3ED ;
439    .dw 0x3EE ;
440    .dw 0x3EF ;
441    .dw 0x3F0 ;
442    .dw 0x3F1 ;
443    .dw 0x3F2 ;
444    .dw 0x3F3 ;
445    .dw 0x3F4 ;
446    .dw 0x3F5 ;
447    .dw 0x3F6 ;
448    .dw 0x3F7 ;
449    .dw 0x3F8 ;
450    .dw 0x3F9 ;
451    .dw 0x3FA ;
452    .dw 0x3FB ;
453    .dw 0x3FC ;
454    .dw 0x3FD ;
455    .dw 0x3FE ;
456    .dw 0x3FF ;
457#endif
458    .dw 0x3A00 ;
459    .dw 0x3A01 ;
460    .dw 0x3A02 ;
461    .dw 0x3A03 ;
462    .dw 0x3A04 ;
463    .dw 0x3A05 ;
464    .dw 0x3A06 ;
465    .dw 0x3A07 ;
466    .dw 0x3A08 ;
467    .dw 0x3A09 ;
468    .dw 0x3A0A ;
469    .dw 0x3A0B ;
470    .dw 0x3A0C ;
471    .dw 0x3A0D ;
472    .dw 0x3A0E ;
473    .dw 0x3A0F ;
474    .dw 0x3A10 ;
475    .dw 0x3A11 ;
476    .dw 0x3A12 ;
477    .dw 0x3A13 ;
478    .dw 0x3A14 ;
479    .dw 0x3A15 ;
480    .dw 0x3A16 ;
481    .dw 0x3A17 ;
482    .dw 0x3A18 ;
483    .dw 0x3A19 ;
484    .dw 0x3A1A ;
485    .dw 0x3A1B ;
486    .dw 0x3A1C ;
487    .dw 0x3A1D ;
488    .dw 0x3A1E ;
489    .dw 0x3A1F ;
490    .dw 0x3A20 ;
491    .dw 0x3A21 ;
492    .dw 0x3A22 ;
493    .dw 0x3A23 ;
494    .dw 0x3A24 ;
495    .dw 0x3A25 ;
496    .dw 0x3A26 ;
497    .dw 0x3A27 ;
498    .dw 0x3A28 ;
499    .dw 0x3A29 ;
500    .dw 0x3A2A ;
501    .dw 0x3A2B ;
502    .dw 0x3A2C ;
503    .dw 0x3A2D ;
504    .dw 0x3A2E ;
505    .dw 0x3A2F ;
506    .dw 0x3A30 ;
507    .dw 0x3A31 ;
508    .dw 0x3A32 ;
509    .dw 0x3A33 ;
510    .dw 0x3A34 ;
511    .dw 0x3A35 ;
512    .dw 0x3A36 ;
513    .dw 0x3A37 ;
514    .dw 0x3A38 ;
515    .dw 0x3A39 ;
516    .dw 0x3A3A ;
517    .dw 0x3A3B ;
518    .dw 0x3A3C ;
519    .dw 0x3A3D ;
520    .dw 0x3A3E ;
521    .dw 0x3A3F ;
522    .dw 0x3A40 ;
523    .dw 0x3A41 ;
524    .dw 0x3A42 ;
525    .dw 0x3A43 ;
526    .dw 0x3A44 ;
527    .dw 0x3A45 ;
528    .dw 0x3A46 ;
529    .dw 0x3A47 ;
530    .dw 0x3A48 ;
531    .dw 0x3A49 ;
532    .dw 0x3A4A ;
533    .dw 0x3A4B ;
534    .dw 0x3A4C ;
535    .dw 0x3A4D ;
536    .dw 0x3A4E ;
537    .dw 0x3A4F ;
538    .dw 0x3A50 ;
539    .dw 0x3A51 ;
540    .dw 0x3A52 ;
541    .dw 0x3A53 ;
542    .dw 0x3A54 ;
543    .dw 0x3A55 ;
544    .dw 0x3A56 ;
545    .dw 0x3A57 ;
546    .dw 0x3A58 ;
547    .dw 0x3A59 ;
548    .dw 0x3A5A ;
549    .dw 0x3A5B ;
550    .dw 0x3A5C ;
551    .dw 0x3A5D ;
552    .dw 0x3A5E ;
553    .dw 0x3A5F ;
554    .dw 0x3A60 ;
555    .dw 0x3A61 ;
556    .dw 0x3A62 ;
557    .dw 0x3A63 ;
558    .dw 0x3A64 ;
559    .dw 0x3A65 ;
560    .dw 0x3A66 ;
561    .dw 0x3A67 ;
562    .dw 0x3A68 ;
563    .dw 0x3A69 ;
564    .dw 0x3A6A ;
565    .dw 0x3A6B ;
566    .dw 0x3A6C ;
567    .dw 0x3A6D ;
568    .dw 0x3A6E ;
569    .dw 0x3A6F ;
570    .dw 0x3A70 ;
571    .dw 0x3A71 ;
572    .dw 0x3A72 ;
573    .dw 0x3A73 ;
574    .dw 0x3A74 ;
575    .dw 0x3A75 ;
576    .dw 0x3A76 ;
577    .dw 0x3A77 ;
578    .dw 0x3A78 ;
579    .dw 0x3A79 ;
580    .dw 0x3A7A ;
581    .dw 0x3A7B ;
582    .dw 0x3A7C ;
583    .dw 0x3A7D ;
584    .dw 0x3A7E ;
585    .dw 0x3A7F ;
586    .dw 0x3A80 ;
587    .dw 0x3A81 ;
588    .dw 0x3A82 ;
589    .dw 0x3A83 ;
590    .dw 0x3A84 ;
591    .dw 0x3A85 ;
592    .dw 0x3A86 ;
593    .dw 0x3A87 ;
594    .dw 0x3A88 ;
595    .dw 0x3A89 ;
596    .dw 0x3A8A ;
597    .dw 0x3A8B ;
598    .dw 0x3A8C ;
599    .dw 0x3A8D ;
600    .dw 0x3A8E ;
601    .dw 0x3A8F ;
602    .dw 0x3A90 ;
603    .dw 0x3A91 ;
604    .dw 0x3A92 ;
605    .dw 0x3A93 ;
606    .dw 0x3A94 ;
607    .dw 0x3A95 ;
608    .dw 0x3A96 ;
609    .dw 0x3A97 ;
610    .dw 0x3A98 ;
611    .dw 0x3A99 ;
612    .dw 0x3A9A ;
613    .dw 0x3A9B ;
614    .dw 0x3A9C ;
615    .dw 0x3A9D ;
616    .dw 0x3A9E ;
617    .dw 0x3A9F ;
618    .dw 0x3AA0 ;
619    .dw 0x3AA1 ;
620    .dw 0x3AA2 ;
621    .dw 0x3AA3 ;
622    .dw 0x3AA4 ;
623    .dw 0x3AA5 ;
624    .dw 0x3AA6 ;
625    .dw 0x3AA7 ;
626    .dw 0x3AA8 ;
627    .dw 0x3AA9 ;
628    .dw 0x3AAA ;
629    .dw 0x3AAB ;
630    .dw 0x3AAC ;
631    .dw 0x3AAD ;
632    .dw 0x3AAE ;
633    .dw 0x3AAF ;
634    .dw 0x3AB0 ;
635    .dw 0x3AB1 ;
636    .dw 0x3AB2 ;
637    .dw 0x3AB3 ;
638    .dw 0x3AB4 ;
639    .dw 0x3AB5 ;
640    .dw 0x3AB6 ;
641    .dw 0x3AB7 ;
642    .dw 0x3AB8 ;
643    .dw 0x3AB9 ;
644    .dw 0x3ABA ;
645    .dw 0x3ABB ;
646    .dw 0x3ABC ;
647    .dw 0x3ABD ;
648    .dw 0x3ABE ;
649    .dw 0x3ABF ;
650    .dw 0x3AC0 ;
651    .dw 0x3AC1 ;
652    .dw 0x3AC2 ;
653    .dw 0x3AC3 ;
654    .dw 0x3AC4 ;
655    .dw 0x3AC5 ;
656    .dw 0x3AC6 ;
657    .dw 0x3AC7 ;
658    .dw 0x3AC8 ;
659    .dw 0x3AC9 ;
660    .dw 0x3ACA ;
661    .dw 0x3ACB ;
662    .dw 0x3ACC ;
663    .dw 0x3ACD ;
664    .dw 0x3ACE ;
665    .dw 0x3ACF ;
666    .dw 0x3AD0 ;
667    .dw 0x3AD1 ;
668    .dw 0x3AD2 ;
669    .dw 0x3AD3 ;
670    .dw 0x3AD4 ;
671    .dw 0x3AD5 ;
672    .dw 0x3AD6 ;
673    .dw 0x3AD7 ;
674    .dw 0x3AD8 ;
675    .dw 0x3AD9 ;
676    .dw 0x3ADA ;
677    .dw 0x3ADB ;
678    .dw 0x3ADC ;
679    .dw 0x3ADD ;
680    .dw 0x3ADE ;
681    .dw 0x3ADF ;
682    .dw 0x3AE0 ;
683    .dw 0x3AE1 ;
684    .dw 0x3AE2 ;
685    .dw 0x3AE3 ;
686    .dw 0x3AE4 ;
687    .dw 0x3AE5 ;
688    .dw 0x3AE6 ;
689    .dw 0x3AE7 ;
690    .dw 0x3AE8 ;
691    .dw 0x3AE9 ;
692    .dw 0x3AEA ;
693    .dw 0x3AEB ;
694    .dw 0x3AEC ;
695    .dw 0x3AED ;
696    .dw 0x3AEE ;
697    .dw 0x3AEF ;
698    .dw 0x3AF0 ;
699    .dw 0x3AF1 ;
700    .dw 0x3AF2 ;
701    .dw 0x3AF3 ;
702    .dw 0x3AF4 ;
703    .dw 0x3AF5 ;
704    .dw 0x3AF6 ;
705    .dw 0x3AF7 ;
706    .dw 0x3AF8 ;
707    .dw 0x3AF9 ;
708    .dw 0x3AFA ;
709    .dw 0x3AFB ;
710    .dw 0x3AFC ;
711    .dw 0x3AFD ;
712    .dw 0x3AFE ;
713    .dw 0x3AFF ;
714    .dw 0x3B00 ;
715    .dw 0x3B01 ;
716    .dw 0x3B02 ;
717    .dw 0x3B03 ;
718    .dw 0x3B04 ;
719    .dw 0x3B05 ;
720    .dw 0x3B06 ;
721    .dw 0x3B07 ;
722    .dw 0x3B08 ;
723    .dw 0x3B09 ;
724    .dw 0x3B0A ;
725    .dw 0x3B0B ;
726    .dw 0x3B0C ;
727    .dw 0x3B0D ;
728    .dw 0x3B0E ;
729    .dw 0x3B0F ;
730    .dw 0x3B10 ;
731    .dw 0x3B11 ;
732    .dw 0x3B12 ;
733    .dw 0x3B13 ;
734    .dw 0x3B14 ;
735    .dw 0x3B15 ;
736    .dw 0x3B16 ;
737    .dw 0x3B17 ;
738    .dw 0x3B18 ;
739    .dw 0x3B19 ;
740    .dw 0x3B1A ;
741    .dw 0x3B1B ;
742    .dw 0x3B1C ;
743    .dw 0x3B1D ;
744    .dw 0x3B1E ;
745    .dw 0x3B1F ;
746    .dw 0x3B20 ;
747    .dw 0x3B21 ;
748    .dw 0x3B22 ;
749    .dw 0x3B23 ;
750    .dw 0x3B24 ;
751    .dw 0x3B25 ;
752    .dw 0x3B26 ;
753    .dw 0x3B27 ;
754    .dw 0x3B28 ;
755    .dw 0x3B29 ;
756    .dw 0x3B2A ;
757    .dw 0x3B2B ;
758    .dw 0x3B2C ;
759    .dw 0x3B2D ;
760    .dw 0x3B2E ;
761    .dw 0x3B2F ;
762    .dw 0x3B30 ;
763    .dw 0x3B31 ;
764    .dw 0x3B32 ;
765    .dw 0x3B33 ;
766    .dw 0x3B34 ;
767    .dw 0x3B35 ;
768    .dw 0x3B36 ;
769    .dw 0x3B37 ;
770    .dw 0x3B38 ;
771    .dw 0x3B39 ;
772    .dw 0x3B3A ;
773    .dw 0x3B3B ;
774    .dw 0x3B3C ;
775    .dw 0x3B3D ;
776    .dw 0x3B3E ;
777    .dw 0x3B3F ;
778    .dw 0x3B40 ;
779    .dw 0x3B41 ;
780    .dw 0x3B42 ;
781    .dw 0x3B43 ;
782    .dw 0x3B44 ;
783    .dw 0x3B45 ;
784    .dw 0x3B46 ;
785    .dw 0x3B47 ;
786    .dw 0x3B48 ;
787    .dw 0x3B49 ;
788    .dw 0x3B4A ;
789    .dw 0x3B4B ;
790    .dw 0x3B4C ;
791    .dw 0x3B4D ;
792    .dw 0x3B4E ;
793    .dw 0x3B4F ;
794    .dw 0x3B50 ;
795    .dw 0x3B51 ;
796    .dw 0x3B52 ;
797    .dw 0x3B53 ;
798    .dw 0x3B54 ;
799    .dw 0x3B55 ;
800    .dw 0x3B56 ;
801    .dw 0x3B57 ;
802    .dw 0x3B58 ;
803    .dw 0x3B59 ;
804    .dw 0x3B5A ;
805    .dw 0x3B5B ;
806    .dw 0x3B5C ;
807    .dw 0x3B5D ;
808    .dw 0x3B5E ;
809    .dw 0x3B5F ;
810    .dw 0x3B60 ;
811    .dw 0x3B61 ;
812    .dw 0x3B62 ;
813    .dw 0x3B63 ;
814    .dw 0x3B64 ;
815    .dw 0x3B65 ;
816    .dw 0x3B66 ;
817    .dw 0x3B67 ;
818    .dw 0x3B68 ;
819    .dw 0x3B69 ;
820    .dw 0x3B6A ;
821    .dw 0x3B6B ;
822    .dw 0x3B6C ;
823    .dw 0x3B6D ;
824    .dw 0x3B6E ;
825    .dw 0x3B6F ;
826    .dw 0x3B70 ;
827    .dw 0x3B71 ;
828    .dw 0x3B72 ;
829    .dw 0x3B73 ;
830    .dw 0x3B74 ;
831    .dw 0x3B75 ;
832    .dw 0x3B76 ;
833    .dw 0x3B77 ;
834    .dw 0x3B78 ;
835    .dw 0x3B79 ;
836    .dw 0x3B7A ;
837    .dw 0x3B7B ;
838    .dw 0x3B7C ;
839    .dw 0x3B7D ;
840    .dw 0x3B7E ;
841    .dw 0x3B7F ;
842    .dw 0x3B80 ;
843    .dw 0x3B81 ;
844    .dw 0x3B82 ;
845    .dw 0x3B83 ;
846    .dw 0x3B84 ;
847    .dw 0x3B85 ;
848    .dw 0x3B86 ;
849    .dw 0x3B87 ;
850    .dw 0x3B88 ;
851    .dw 0x3B89 ;
852    .dw 0x3B8A ;
853    .dw 0x3B8B ;
854    .dw 0x3B8C ;
855    .dw 0x3B8D ;
856    .dw 0x3B8E ;
857    .dw 0x3B8F ;
858    .dw 0x3B90 ;
859    .dw 0x3B91 ;
860    .dw 0x3B92 ;
861    .dw 0x3B93 ;
862    .dw 0x3B94 ;
863    .dw 0x3B95 ;
864    .dw 0x3B96 ;
865    .dw 0x3B97 ;
866    .dw 0x3B98 ;
867    .dw 0x3B99 ;
868    .dw 0x3B9A ;
869    .dw 0x3B9B ;
870    .dw 0x3B9C ;
871    .dw 0x3B9D ;
872    .dw 0x3B9E ;
873    .dw 0x3B9F ;
874    .dw 0x3BA0 ;
875    .dw 0x3BA1 ;
876    .dw 0x3BA2 ;
877    .dw 0x3BA3 ;
878    .dw 0x3BA4 ;
879    .dw 0x3BA5 ;
880    .dw 0x3BA6 ;
881    .dw 0x3BA7 ;
882    .dw 0x3BA8 ;
883    .dw 0x3BA9 ;
884    .dw 0x3BAA ;
885    .dw 0x3BAB ;
886    .dw 0x3BAC ;
887    .dw 0x3BAD ;
888    .dw 0x3BAE ;
889    .dw 0x3BAF ;
890    .dw 0x3BB0 ;
891    .dw 0x3BB1 ;
892    .dw 0x3BB2 ;
893    .dw 0x3BB3 ;
894    .dw 0x3BB4 ;
895    .dw 0x3BB5 ;
896    .dw 0x3BB6 ;
897    .dw 0x3BB7 ;
898    .dw 0x3BB8 ;
899    .dw 0x3BB9 ;
900    .dw 0x3BBA ;
901    .dw 0x3BBB ;
902    .dw 0x3BBC ;
903    .dw 0x3BBD ;
904    .dw 0x3BBE ;
905    .dw 0x3BBF ;
906    .dw 0x3BC0 ;
907    .dw 0x3BC1 ;
908    .dw 0x3BC2 ;
909    .dw 0x3BC3 ;
910    .dw 0x3BC4 ;
911    .dw 0x3BC5 ;
912    .dw 0x3BC6 ;
913    .dw 0x3BC7 ;
914    .dw 0x3BC8 ;
915    .dw 0x3BC9 ;
916    .dw 0x3BCA ;
917    .dw 0x3BCB ;
918    .dw 0x3BCC ;
919    .dw 0x3BCD ;
920    .dw 0x3BCE ;
921    .dw 0x3BCF ;
922    .dw 0x3BD0 ;
923    .dw 0x3BD1 ;
924    .dw 0x3BD2 ;
925    .dw 0x3BD3 ;
926    .dw 0x3BD4 ;
927    .dw 0x3BD5 ;
928    .dw 0x3BD6 ;
929    .dw 0x3BD7 ;
930    .dw 0x3BD8 ;
931    .dw 0x3BD9 ;
932    .dw 0x3BDA ;
933    .dw 0x3BDB ;
934    .dw 0x3BDC ;
935    .dw 0x3BDD ;
936    .dw 0x3BDE ;
937    .dw 0x3BDF ;
938    .dw 0x3BE0 ;
939    .dw 0x3BE1 ;
940    .dw 0x3BE2 ;
941    .dw 0x3BE3 ;
942    .dw 0x3BE4 ;
943    .dw 0x3BE5 ;
944    .dw 0x3BE6 ;
945    .dw 0x3BE7 ;
946    .dw 0x3BE8 ;
947    .dw 0x3BE9 ;
948    .dw 0x3BEA ;
949    .dw 0x3BEB ;
950    .dw 0x3BEC ;
951    .dw 0x3BED ;
952    .dw 0x3BEE ;
953    .dw 0x3BEF ;
954    .dw 0x3BF0 ;
955    .dw 0x3BF1 ;
956    .dw 0x3BF2 ;
957    .dw 0x3BF3 ;
958    .dw 0x3BF4 ;
959    .dw 0x3BF5 ;
960    .dw 0x3BF6 ;
961    .dw 0x3BF7 ;
962    .dw 0x3BF8 ;
963    .dw 0x3BF9 ;
964    .dw 0x3BFA ;
965    .dw 0x3BFB ;
966    .dw 0x3BFC ;
967    .dw 0x3BFD ;
968    .dw 0x3BFE ;
969    .dw 0x3BFF ;
970    .dw 0x3140 ;
971    .dw 0x3141 ;
972    .dw 0x3142 ;
973    .dw 0x3143 ;
974    .dw 0x3144 ;
975    .dw 0x3145 ;
976    .dw 0x3146 ;
977    .dw 0x3147 ;
978    .dw 0x3148 ;
979    .dw 0x3149 ;
980    .dw 0x314A ;
981    .dw 0x314B ;
982    .dw 0x314C ;
983    .dw 0x314D ;
984    .dw 0x314E ;
985    .dw 0x314F ;
986    .dw 0x3150 ;
987    .dw 0x3151 ;
988    .dw 0x3152 ;
989    .dw 0x3153 ;
990    .dw 0x3154 ;
991    .dw 0x3155 ;
992    .dw 0x3156 ;
993    .dw 0x3157 ;
994    .dw 0x3158 ;
995    .dw 0x3159 ;
996    .dw 0x315A ;
997    .dw 0x315B ;
998    .dw 0x315C ;
999    .dw 0x315D ;
1000    .dw 0x315E ;
1001    .dw 0x315F ;
1002    .dw 0x3160 ;
1003    .dw 0x3161 ;
1004    .dw 0x3162 ;
1005    .dw 0x3163 ;
1006    .dw 0x3164 ;
1007    .dw 0x3165 ;
1008    .dw 0x3166 ;
1009    .dw 0x3167 ;
1010    .dw 0x3168 ;
1011    .dw 0x3169 ;
1012    .dw 0x316A ;
1013    .dw 0x316B ;
1014    .dw 0x316C ;
1015    .dw 0x316D ;
1016    .dw 0x316E ;
1017    .dw 0x316F ;
1018    .dw 0x3170 ;
1019    .dw 0x3171 ;
1020    .dw 0x3172 ;
1021    .dw 0x3173 ;
1022    .dw 0x3174 ;
1023    .dw 0x3175 ;
1024    .dw 0x3176 ;
1025    .dw 0x3177 ;
1026    .dw 0x3178 ;
1027    .dw 0x3179 ;
1028    .dw 0x317A ;
1029    .dw 0x317B ;
1030    .dw 0x317C ;
1031    .dw 0x317D ;
1032    .dw 0x317E ;
1033    .dw 0x317F ;
1034    .dw 0x3340 ;
1035    .dw 0x3341 ;
1036    .dw 0x3342 ;
1037    .dw 0x3343 ;
1038    .dw 0x3344 ;
1039    .dw 0x3345 ;
1040    .dw 0x3346 ;
1041    .dw 0x3347 ;
1042    .dw 0x3348 ;
1043    .dw 0x3349 ;
1044    .dw 0x334A ;
1045    .dw 0x334B ;
1046    .dw 0x334C ;
1047    .dw 0x334D ;
1048    .dw 0x334E ;
1049    .dw 0x334F ;
1050    .dw 0x3350 ;
1051    .dw 0x3351 ;
1052    .dw 0x3352 ;
1053    .dw 0x3353 ;
1054    .dw 0x3354 ;
1055    .dw 0x3355 ;
1056    .dw 0x3356 ;
1057    .dw 0x3357 ;
1058    .dw 0x3358 ;
1059    .dw 0x3359 ;
1060    .dw 0x335A ;
1061    .dw 0x335B ;
1062    .dw 0x335C ;
1063    .dw 0x335D ;
1064    .dw 0x335E ;
1065    .dw 0x335F ;
1066    .dw 0x3360 ;
1067    .dw 0x3361 ;
1068    .dw 0x3362 ;
1069    .dw 0x3363 ;
1070    .dw 0x3364 ;
1071    .dw 0x3365 ;
1072    .dw 0x3366 ;
1073    .dw 0x3367 ;
1074    .dw 0x3368 ;
1075    .dw 0x3369 ;
1076    .dw 0x336A ;
1077    .dw 0x336B ;
1078    .dw 0x336C ;
1079    .dw 0x336D ;
1080    .dw 0x336E ;
1081    .dw 0x336F ;
1082    .dw 0x3370 ;
1083    .dw 0x3371 ;
1084    .dw 0x3372 ;
1085    .dw 0x3373 ;
1086    .dw 0x3374 ;
1087    .dw 0x3375 ;
1088    .dw 0x3376 ;
1089    .dw 0x3377 ;
1090    .dw 0x3378 ;
1091    .dw 0x3379 ;
1092    .dw 0x337A ;
1093    .dw 0x337B ;
1094    .dw 0x337C ;
1095    .dw 0x337D ;
1096    .dw 0x337E ;
1097    .dw 0x337F ;
1098    .dw 0x3540 ;
1099    .dw 0x3541 ;
1100    .dw 0x3542 ;
1101    .dw 0x3543 ;
1102    .dw 0x3544 ;
1103    .dw 0x3545 ;
1104    .dw 0x3546 ;
1105    .dw 0x3547 ;
1106    .dw 0x3548 ;
1107    .dw 0x3549 ;
1108    .dw 0x354A ;
1109    .dw 0x354B ;
1110    .dw 0x354C ;
1111    .dw 0x354D ;
1112    .dw 0x354E ;
1113    .dw 0x354F ;
1114    .dw 0x3550 ;
1115    .dw 0x3551 ;
1116    .dw 0x3552 ;
1117    .dw 0x3553 ;
1118    .dw 0x3554 ;
1119    .dw 0x3555 ;
1120    .dw 0x3556 ;
1121    .dw 0x3557 ;
1122    .dw 0x3558 ;
1123    .dw 0x3559 ;
1124    .dw 0x355A ;
1125    .dw 0x355B ;
1126    .dw 0x355C ;
1127    .dw 0x355D ;
1128    .dw 0x355E ;
1129    .dw 0x355F ;
1130    .dw 0x3560 ;
1131    .dw 0x3561 ;
1132    .dw 0x3562 ;
1133    .dw 0x3563 ;
1134    .dw 0x3564 ;
1135    .dw 0x3565 ;
1136    .dw 0x3566 ;
1137    .dw 0x3567 ;
1138    .dw 0x3568 ;
1139    .dw 0x3569 ;
1140    .dw 0x356A ;
1141    .dw 0x356B ;
1142    .dw 0x356C ;
1143    .dw 0x356D ;
1144    .dw 0x356E ;
1145    .dw 0x356F ;
1146    .dw 0x3570 ;
1147    .dw 0x3571 ;
1148    .dw 0x3572 ;
1149    .dw 0x3573 ;
1150    .dw 0x3574 ;
1151    .dw 0x3575 ;
1152    .dw 0x3576 ;
1153    .dw 0x3577 ;
1154    .dw 0x3578 ;
1155    .dw 0x3579 ;
1156    .dw 0x357A ;
1157    .dw 0x357B ;
1158    .dw 0x357C ;
1159    .dw 0x357D ;
1160    .dw 0x357E ;
1161    .dw 0x357F ;
1162    .dw 0x3740 ;
1163    .dw 0x3741 ;
1164    .dw 0x3742 ;
1165    .dw 0x3743 ;
1166    .dw 0x3744 ;
1167    .dw 0x3745 ;
1168    .dw 0x3746 ;
1169    .dw 0x3747 ;
1170    .dw 0x3748 ;
1171    .dw 0x3749 ;
1172    .dw 0x374A ;
1173    .dw 0x374B ;
1174    .dw 0x374C ;
1175    .dw 0x374D ;
1176    .dw 0x374E ;
1177    .dw 0x374F ;
1178    .dw 0x3750 ;
1179    .dw 0x3751 ;
1180    .dw 0x3752 ;
1181    .dw 0x3753 ;
1182    .dw 0x3754 ;
1183    .dw 0x3755 ;
1184    .dw 0x3756 ;
1185    .dw 0x3757 ;
1186    .dw 0x3758 ;
1187    .dw 0x3759 ;
1188    .dw 0x375A ;
1189    .dw 0x375B ;
1190    .dw 0x375C ;
1191    .dw 0x375D ;
1192    .dw 0x375E ;
1193    .dw 0x375F ;
1194    .dw 0x3760 ;
1195    .dw 0x3761 ;
1196    .dw 0x3762 ;
1197    .dw 0x3763 ;
1198    .dw 0x3764 ;
1199    .dw 0x3765 ;
1200    .dw 0x3766 ;
1201    .dw 0x3767 ;
1202    .dw 0x3768 ;
1203    .dw 0x3769 ;
1204    .dw 0x376A ;
1205    .dw 0x376B ;
1206    .dw 0x376C ;
1207    .dw 0x376D ;
1208    .dw 0x376E ;
1209    .dw 0x376F ;
1210    .dw 0x3770 ;
1211    .dw 0x3771 ;
1212    .dw 0x3772 ;
1213    .dw 0x3773 ;
1214    .dw 0x3774 ;
1215    .dw 0x3775 ;
1216    .dw 0x3776 ;
1217    .dw 0x3777 ;
1218    .dw 0x3778 ;
1219    .dw 0x3779 ;
1220    .dw 0x377A ;
1221    .dw 0x377B ;
1222    .dw 0x377C ;
1223    .dw 0x377D ;
1224    .dw 0x377E ;
1225    .dw 0x377F ;
1226    .dw 0x3940 ;
1227    .dw 0x3941 ;
1228    .dw 0x3942 ;
1229    .dw 0x3943 ;
1230    .dw 0x3944 ;
1231    .dw 0x3945 ;
1232    .dw 0x3946 ;
1233    .dw 0x3947 ;
1234    .dw 0x3948 ;
1235    .dw 0x3949 ;
1236    .dw 0x394A ;
1237    .dw 0x394B ;
1238    .dw 0x394C ;
1239    .dw 0x394D ;
1240    .dw 0x394E ;
1241    .dw 0x394F ;
1242    .dw 0x3950 ;
1243    .dw 0x3951 ;
1244    .dw 0x3952 ;
1245    .dw 0x3953 ;
1246    .dw 0x3954 ;
1247    .dw 0x3955 ;
1248    .dw 0x3956 ;
1249    .dw 0x3957 ;
1250    .dw 0x3958 ;
1251    .dw 0x3959 ;
1252    .dw 0x395A ;
1253    .dw 0x395B ;
1254    .dw 0x395C ;
1255    .dw 0x395D ;
1256    .dw 0x395E ;
1257    .dw 0x395F ;
1258    .dw 0x3960 ;
1259    .dw 0x3961 ;
1260    .dw 0x3962 ;
1261    .dw 0x3963 ;
1262    .dw 0x3964 ;
1263    .dw 0x3965 ;
1264    .dw 0x3966 ;
1265    .dw 0x3967 ;
1266    .dw 0x3968 ;
1267    .dw 0x3969 ;
1268    .dw 0x396A ;
1269    .dw 0x396B ;
1270    .dw 0x396C ;
1271    .dw 0x396D ;
1272    .dw 0x396E ;
1273    .dw 0x396F ;
1274    .dw 0x3970 ;
1275    .dw 0x3971 ;
1276    .dw 0x3972 ;
1277    .dw 0x3973 ;
1278    .dw 0x3974 ;
1279    .dw 0x3975 ;
1280    .dw 0x3976 ;
1281    .dw 0x3977 ;
1282    .dw 0x3978 ;
1283    .dw 0x3979 ;
1284    .dw 0x397A ;
1285    .dw 0x397B ;
1286    .dw 0x397C ;
1287    .dw 0x397D ;
1288    .dw 0x397E ;
1289    .dw 0x397F ;
1290    .dw 0x3D40 ;
1291    .dw 0x3D41 ;
1292    .dw 0x3D42 ;
1293    .dw 0x3D43 ;
1294    .dw 0x3D44 ;
1295    .dw 0x3D45 ;
1296    .dw 0x3D46 ;
1297    .dw 0x3D47 ;
1298    .dw 0x3D48 ;
1299    .dw 0x3D49 ;
1300    .dw 0x3D4A ;
1301    .dw 0x3D4B ;
1302    .dw 0x3D4C ;
1303    .dw 0x3D4D ;
1304    .dw 0x3D4E ;
1305    .dw 0x3D4F ;
1306    .dw 0x3D50 ;
1307    .dw 0x3D51 ;
1308    .dw 0x3D52 ;
1309    .dw 0x3D53 ;
1310    .dw 0x3D54 ;
1311    .dw 0x3D55 ;
1312    .dw 0x3D56 ;
1313    .dw 0x3D57 ;
1314    .dw 0x3D58 ;
1315    .dw 0x3D59 ;
1316    .dw 0x3D5A ;
1317    .dw 0x3D5B ;
1318    .dw 0x3D5C ;
1319    .dw 0x3D5D ;
1320    .dw 0x3D5E ;
1321    .dw 0x3D5F ;
1322    .dw 0x3D60 ;
1323    .dw 0x3D61 ;
1324    .dw 0x3D62 ;
1325    .dw 0x3D63 ;
1326    .dw 0x3D64 ;
1327    .dw 0x3D65 ;
1328    .dw 0x3D66 ;
1329    .dw 0x3D67 ;
1330    .dw 0x3D68 ;
1331    .dw 0x3D69 ;
1332    .dw 0x3D6A ;
1333    .dw 0x3D6B ;
1334    .dw 0x3D6C ;
1335    .dw 0x3D6D ;
1336    .dw 0x3D6E ;
1337    .dw 0x3D6F ;
1338    .dw 0x3D70 ;
1339    .dw 0x3D71 ;
1340    .dw 0x3D72 ;
1341    .dw 0x3D73 ;
1342    .dw 0x3D74 ;
1343    .dw 0x3D75 ;
1344    .dw 0x3D76 ;
1345    .dw 0x3D77 ;
1346    .dw 0x3D78 ;
1347    .dw 0x3D79 ;
1348    .dw 0x3D7A ;
1349    .dw 0x3D7B ;
1350    .dw 0x3D7C ;
1351    .dw 0x3D7D ;
1352    .dw 0x3D7E ;
1353    .dw 0x3D7F ;
1354    .dw 0x3F40 ;
1355    .dw 0x3F41 ;
1356    .dw 0x3F42 ;
1357    .dw 0x3F43 ;
1358    .dw 0x3F44 ;
1359    .dw 0x3F45 ;
1360    .dw 0x3F46 ;
1361    .dw 0x3F47 ;
1362    .dw 0x3F48 ;
1363    .dw 0x3F49 ;
1364    .dw 0x3F4A ;
1365    .dw 0x3F4B ;
1366    .dw 0x3F4C ;
1367    .dw 0x3F4D ;
1368    .dw 0x3F4E ;
1369    .dw 0x3F4F ;
1370    .dw 0x3F50 ;
1371    .dw 0x3F51 ;
1372    .dw 0x3F52 ;
1373    .dw 0x3F53 ;
1374    .dw 0x3F54 ;
1375    .dw 0x3F55 ;
1376    .dw 0x3F56 ;
1377    .dw 0x3F57 ;
1378    .dw 0x3F58 ;
1379    .dw 0x3F59 ;
1380    .dw 0x3F5A ;
1381    .dw 0x3F5B ;
1382    .dw 0x3F5C ;
1383    .dw 0x3F5D ;
1384    .dw 0x3F5E ;
1385    .dw 0x3F5F ;
1386    .dw 0x3F60 ;
1387    .dw 0x3F61 ;
1388    .dw 0x3F62 ;
1389    .dw 0x3F63 ;
1390    .dw 0x3F64 ;
1391    .dw 0x3F65 ;
1392    .dw 0x3F66 ;
1393    .dw 0x3F67 ;
1394    .dw 0x3F68 ;
1395    .dw 0x3F69 ;
1396    .dw 0x3F6A ;
1397    .dw 0x3F6B ;
1398    .dw 0x3F6C ;
1399    .dw 0x3F6D ;
1400    .dw 0x3F6E ;
1401    .dw 0x3F6F ;
1402    .dw 0x3F70 ;
1403    .dw 0x3F71 ;
1404    .dw 0x3F72 ;
1405    .dw 0x3F73 ;
1406    .dw 0x3F74 ;
1407    .dw 0x3F75 ;
1408    .dw 0x3F76 ;
1409    .dw 0x3F77 ;
1410    .dw 0x3F78 ;
1411    .dw 0x3F79 ;
1412    .dw 0x3F7A ;
1413    .dw 0x3F7B ;
1414    .dw 0x3F7C ;
1415    .dw 0x3F7D ;
1416    .dw 0x3F7E ;
1417    .dw 0x3F7F ;
1418    .dw 0x3104 ;
1419    .dw 0x3105 ;
1420    .dw 0x310C ;
1421    .dw 0x310D ;
1422    .dw 0x3114 ;
1423    .dw 0x3115 ;
1424    .dw 0x311C ;
1425    .dw 0x311D ;
1426    .dw 0x3124 ;
1427    .dw 0x3125 ;
1428    .dw 0x312C ;
1429    .dw 0x312D ;
1430    .dw 0x3134 ;
1431    .dw 0x3135 ;
1432    .dw 0x313C ;
1433    .dw 0x313D ;
1434    .dw 0x3304 ;
1435    .dw 0x3305 ;
1436    .dw 0x330C ;
1437    .dw 0x330D ;
1438    .dw 0x3314 ;
1439    .dw 0x3315 ;
1440    .dw 0x331C ;
1441    .dw 0x331D ;
1442    .dw 0x3324 ;
1443    .dw 0x3325 ;
1444    .dw 0x332C ;
1445    .dw 0x332D ;
1446    .dw 0x3334 ;
1447    .dw 0x3335 ;
1448    .dw 0x333C ;
1449    .dw 0x333D ;
1450    .dw 0x3504 ;
1451    .dw 0x3505 ;
1452    .dw 0x350C ;
1453    .dw 0x350D ;
1454    .dw 0x3514 ;
1455    .dw 0x3515 ;
1456    .dw 0x351C ;
1457    .dw 0x351D ;
1458    .dw 0x3524 ;
1459    .dw 0x3525 ;
1460    .dw 0x352C ;
1461    .dw 0x352D ;
1462    .dw 0x3534 ;
1463    .dw 0x3535 ;
1464    .dw 0x353C ;
1465    .dw 0x353D ;
1466    .dw 0x3704 ;
1467    .dw 0x3705 ;
1468    .dw 0x370C ;
1469    .dw 0x370D ;
1470    .dw 0x3714 ;
1471    .dw 0x3715 ;
1472    .dw 0x371C ;
1473    .dw 0x371D ;
1474    .dw 0x3724 ;
1475    .dw 0x3725 ;
1476    .dw 0x372C ;
1477    .dw 0x372D ;
1478    .dw 0x3734 ;
1479    .dw 0x3735 ;
1480    .dw 0x373C ;
1481    .dw 0x373D ;
1482    .dw 0x3904 ;
1483    .dw 0x3905 ;
1484    .dw 0x390C ;
1485    .dw 0x390D ;
1486    .dw 0x3914 ;
1487    .dw 0x3915 ;
1488    .dw 0x391C ;
1489    .dw 0x391D ;
1490    .dw 0x3924 ;
1491    .dw 0x3925 ;
1492    .dw 0x392C ;
1493    .dw 0x392D ;
1494    .dw 0x3934 ;
1495    .dw 0x3935 ;
1496    .dw 0x393C ;
1497    .dw 0x393D ;
1498    .dw 0x3D04 ;
1499    .dw 0x3D05 ;
1500    .dw 0x3D0C ;
1501    .dw 0x3D0D ;
1502    .dw 0x3D14 ;
1503    .dw 0x3D15 ;
1504    .dw 0x3D1C ;
1505    .dw 0x3D1D ;
1506    .dw 0x3D24 ;
1507    .dw 0x3D25 ;
1508    .dw 0x3D2C ;
1509    .dw 0x3D2D ;
1510    .dw 0x3D34 ;
1511    .dw 0x3D35 ;
1512    .dw 0x3D3C ;
1513    .dw 0x3D3D ;
1514    .dw 0x3F04 ;
1515    .dw 0x3F05 ;
1516    .dw 0x3F0C ;
1517    .dw 0x3F0D ;
1518    .dw 0x3F14 ;
1519    .dw 0x3F15 ;
1520    .dw 0x3F1C ;
1521    .dw 0x3F1D ;
1522    .dw 0x3F24 ;
1523    .dw 0x3F25 ;
1524    .dw 0x3F2C ;
1525    .dw 0x3F2D ;
1526    .dw 0x3F34 ;
1527    .dw 0x3F35 ;
1528    .dw 0x3F3C ;
1529    .dw 0x3F3D ;
1530    .dw 0x3820 ;
1531    .dw 0x3821 ;
1532    .dw 0x3822 ;
1533    .dw 0x3823 ;
1534    .dw 0x3824 ;
1535    .dw 0x3825 ;
1536    .dw 0x3826 ;
1537    .dw 0x3827 ;
1538    .dw 0x3828 ;
1539    .dw 0x3829 ;
1540    .dw 0x382A ;
1541    .dw 0x382B ;
1542    .dw 0x382C ;
1543    .dw 0x382D ;
1544    .dw 0x382E ;
1545    .dw 0x382F ;
1546    .dw 0x3860 ;
1547    .dw 0x3861 ;
1548    .dw 0x3862 ;
1549    .dw 0x3863 ;
1550    .dw 0x3864 ;
1551    .dw 0x3865 ;
1552    .dw 0x3866 ;
1553    .dw 0x3867 ;
1554    .dw 0x3868 ;
1555    .dw 0x3869 ;
1556    .dw 0x386A ;
1557    .dw 0x386B ;
1558    .dw 0x386C ;
1559    .dw 0x386D ;
1560    .dw 0x386E ;
1561    .dw 0x386F ;
1562    .dw 0x38A0 ;
1563    .dw 0x38A1 ;
1564    .dw 0x38A2 ;
1565    .dw 0x38A3 ;
1566    .dw 0x38A4 ;
1567    .dw 0x38A5 ;
1568    .dw 0x38A6 ;
1569    .dw 0x38A7 ;
1570    .dw 0x38A8 ;
1571    .dw 0x38A9 ;
1572    .dw 0x38AA ;
1573    .dw 0x38AB ;
1574    .dw 0x38AC ;
1575    .dw 0x38AD ;
1576    .dw 0x38AE ;
1577    .dw 0x38AF ;
1578    .dw 0x38E0 ;
1579    .dw 0x38E1 ;
1580    .dw 0x38E2 ;
1581    .dw 0x38E3 ;
1582    .dw 0x38E4 ;
1583    .dw 0x38E5 ;
1584    .dw 0x38E6 ;
1585    .dw 0x38E7 ;
1586    .dw 0x38E8 ;
1587    .dw 0x38E9 ;
1588    .dw 0x38EA ;
1589    .dw 0x38EB ;
1590    .dw 0x38EC ;
1591    .dw 0x38ED ;
1592    .dw 0x38EE ;
1593    .dw 0x38EF ;
1594    .dw 0x3920 ;
1595    .dw 0x3921 ;
1596    .dw 0x3922 ;
1597    .dw 0x3923 ;
1598    .dw 0x3924 ;
1599    .dw 0x3925 ;
1600    .dw 0x3926 ;
1601    .dw 0x3927 ;
1602    .dw 0x3928 ;
1603    .dw 0x3929 ;
1604    .dw 0x392A ;
1605    .dw 0x392B ;
1606    .dw 0x392C ;
1607    .dw 0x392D ;
1608    .dw 0x392E ;
1609    .dw 0x392F ;
1610    .dw 0x39A0 ;
1611    .dw 0x39A1 ;
1612    .dw 0x39A2 ;
1613    .dw 0x39A3 ;
1614    .dw 0x39A4 ;
1615    .dw 0x39A5 ;
1616    .dw 0x39A6 ;
1617    .dw 0x39A7 ;
1618    .dw 0x39A8 ;
1619    .dw 0x39A9 ;
1620    .dw 0x39AA ;
1621    .dw 0x39AB ;
1622    .dw 0x39AC ;
1623    .dw 0x39AD ;
1624    .dw 0x39AE ;
1625    .dw 0x39AF ;
1626    .dw 0x39E0 ;
1627    .dw 0x39E1 ;
1628    .dw 0x39E2 ;
1629    .dw 0x39E3 ;
1630    .dw 0x39E4 ;
1631    .dw 0x39E5 ;
1632    .dw 0x39E6 ;
1633    .dw 0x39E7 ;
1634    .dw 0x39E8 ;
1635    .dw 0x39E9 ;
1636    .dw 0x39EA ;
1637    .dw 0x39EB ;
1638    .dw 0x39EC ;
1639    .dw 0x39ED ;
1640    .dw 0x39EE ;
1641    .dw 0x39EF ;
1642#if 0
1643	// EMUDAT = Dreg; is valid
1644    .dw 0x3E38 ;
1645    .dw 0x3E39 ;
1646    .dw 0x3E3A ;
1647    .dw 0x3E3B ;
1648    .dw 0x3E3C ;
1649    .dw 0x3E3D ;
1650    .dw 0x3E3E ;
1651    .dw 0x3E3F ;
1652	// EMUDAT = Preg; is valid
1653    .dw 0x3E78 ;
1654    .dw 0x3E79 ;
1655    .dw 0x3E7A ;
1656    .dw 0x3E7B ;
1657    .dw 0x3E7C ;
1658    .dw 0x3E7D ;
1659    .dw 0x3E7E ;
1660    .dw 0x3E7F ;
1661	// EMUDAT = Ireg; is valid
1662    .dw 0x3EB8 ;
1663    .dw 0x3EB9 ;
1664    .dw 0x3EBA ;
1665    .dw 0x3EBB ;
1666	// EMUDAT = Mreg; is valid
1667    .dw 0x3EBC ;
1668    .dw 0x3EBD ;
1669    .dw 0x3EBE ;
1670    .dw 0x3EBF ;
1671	// EMUDAT = Breg; is valid
1672    .dw 0x3EF8 ;
1673    .dw 0x3EF9 ;
1674    .dw 0x3EFA ;
1675    .dw 0x3EFB ;
1676	// EMUDAT = Lreg; is valid
1677    .dw 0x3EFC ;
1678    .dw 0x3EFD ;
1679    .dw 0x3EFE ;
1680    .dw 0x3EFF ;
1681	// EMUDAT = Areg; is valid
1682    .dw 0x3F38 ;
1683    .dw 0x3F39 ;
1684    .dw 0x3F3A ;
1685    .dw 0x3F3B ;
1686#endif
1687    .dw 0x3F3C ;
1688    .dw 0x3F3D ;
1689#if 0
1690	// EMUDAT = ASTAT; is valid
1691    .dw 0x3F3E ;
1692	// EMUDAT = RETS; is valid
1693    .dw 0x3F3F ;
1694	// EMUDAT = loopregs; is valid
1695    .dw 0x3FB8 ;
1696    .dw 0x3FB9 ;
1697    .dw 0x3FBA ;
1698    .dw 0x3FBB ;
1699    .dw 0x3FBC ;
1700    .dw 0x3FBD ;
1701	// EMUDAT = cycles; is valid
1702    .dw 0x3FBE ;
1703    .dw 0x3FBF ;
1704	// EMUDAT = USP; is valid
1705    .dw 0x3FF8 ;
1706	// EMUDAT = SEQSTAT; is valid
1707    .dw 0x3FF9 ;
1708	// EMUDAT = SYSCFG; is valid
1709    .dw 0x3FFA ;
1710	// EMDUAT = RET[IXNE]; is valid
1711    .dw 0x3FFB ;
1712    .dw 0x3FFC ;
1713    .dw 0x3FFD ;
1714    .dw 0x3FFE ;
1715	// EMUDAT = EMUDAT; is valid
1716    .dw 0x3FFF ;
1717	// Dreg = EMUDAT; is valid
1718    .dw 0x31C7 ;
1719    .dw 0x31CF ;
1720    .dw 0x31D7 ;
1721    .dw 0x31DF ;
1722#if 0
1723	// R4 = EMUDAT; breaks the test
1724    .dw 0x31E7 ;
1725	// R5 = EMUDAT; breaks the test
1726    .dw 0x31EF ;
1727#endif
1728    .dw 0x31F7 ;
1729    .dw 0x31FF ;
1730	// Preg = EMUDAT; is valid
1731    .dw 0x33C7 ;
1732    .dw 0x33CF ;
1733    .dw 0x33D7 ;
1734    .dw 0x33DF ;
1735    .dw 0x33E7 ;
1736    .dw 0x33EF ;
1737    .dw 0x33F7 ;
1738    .dw 0x33FF ;
1739	// Ireg = EMUDAT; is valid
1740    .dw 0x35C7 ;
1741    .dw 0x35CF ;
1742    .dw 0x35D7 ;
1743    .dw 0x35DF ;
1744	// Mreg = EMUDAT; is valid
1745    .dw 0x35E7 ;
1746    .dw 0x35EF ;
1747    .dw 0x35F7 ;
1748    .dw 0x35FF ;
1749	// EMUDAT = Breg; is valid
1750    .dw 0x37C7 ;
1751    .dw 0x37CF ;
1752    .dw 0x37D7 ;
1753    .dw 0x37DF ;
1754	// EMUDAT = Lreg; is valid
1755    .dw 0x37E7 ;
1756    .dw 0x37EF ;
1757    .dw 0x37F7 ;
1758    .dw 0x37FF ;
1759#endif
1760    .dw 0x39C7 ;
1761    .dw 0x39CF ;
1762    .dw 0x39D7 ;
1763    .dw 0x39DF ;
1764    .dw 0x39E7 ;
1765    .dw 0x39EF ;
1766#if 0
1767	// ASTAT = EMUDAT; is valid
1768    .dw 0x39F7 ;
1769	// RETS = EMUDAT; is valid
1770    .dw 0x39FF ;
1771	// loopregs = EMUDAT; is valid
1772    .dw 0x3DC7 ;
1773    .dw 0x3DCF ;
1774    .dw 0x3DD7 ;
1775    .dw 0x3DDF ;
1776    .dw 0x3DE7 ;
1777    .dw 0x3DEF ;
1778	// cycles = EMUDAT; is valid
1779    .dw 0x3DF7 ;
1780    .dw 0x3DFF ;
1781	// USP = EMUDAT; is valid
1782    .dw 0x3FC7 ;
1783	// SEQSTAT = EMUDAT; is valid
1784    .dw 0x3FCF ;
1785	// SYSCFG = EMUDAT; is valid
1786    .dw 0x3FD7 ;
1787	// RET[IXNE] = EMUDAT; is valid
1788    .dw 0x3FDF ;
1789    .dw 0x3FE7 ;
1790    .dw 0x3FEF ;
1791    .dw 0x3FF7 ;
1792	// EMUDAT = EMUDAT; is valid
1793    .dw 0x3FFF ;
1794#endif
1795    .dw 0x3D80 ;
1796    .dw 0x3D81 ;
1797    .dw 0x3D82 ;
1798    .dw 0x3D83 ;
1799    .dw 0x3D84 ;
1800    .dw 0x3D85 ;
1801    .dw 0x3D86 ;
1802    .dw 0x3D87 ;
1803    .dw 0x3D88 ;
1804    .dw 0x3D89 ;
1805    .dw 0x3D8A ;
1806    .dw 0x3D8B ;
1807    .dw 0x3D8C ;
1808    .dw 0x3D8D ;
1809    .dw 0x3D8E ;
1810    .dw 0x3D8F ;
1811    .dw 0x3D90 ;
1812    .dw 0x3D91 ;
1813    .dw 0x3D92 ;
1814    .dw 0x3D93 ;
1815    .dw 0x3D94 ;
1816    .dw 0x3D95 ;
1817    .dw 0x3D96 ;
1818    .dw 0x3D97 ;
1819    .dw 0x3D98 ;
1820    .dw 0x3D99 ;
1821    .dw 0x3D9A ;
1822    .dw 0x3D9B ;
1823    .dw 0x3D9C ;
1824    .dw 0x3D9D ;
1825    .dw 0x3D9E ;
1826    .dw 0x3D9F ;
1827    .dw 0x3DA0 ;
1828    .dw 0x3DA1 ;
1829    .dw 0x3DA2 ;
1830    .dw 0x3DA3 ;
1831    .dw 0x3DA4 ;
1832    .dw 0x3DA5 ;
1833    .dw 0x3DA6 ;
1834    .dw 0x3DA7 ;
1835    .dw 0x3DA8 ;
1836    .dw 0x3DA9 ;
1837    .dw 0x3DAA ;
1838    .dw 0x3DAB ;
1839    .dw 0x3DAC ;
1840    .dw 0x3DAD ;
1841    .dw 0x3DAE ;
1842    .dw 0x3DAF ;
1843    .dw 0x3DB0 ;
1844    .dw 0x3DB1 ;
1845    .dw 0x3DB2 ;
1846    .dw 0x3DB3 ;
1847    .dw 0x3DB4 ;
1848    .dw 0x3DB5 ;
1849    .dw 0x3DB6 ;
1850    .dw 0x3DB7 ;
1851    .dw 0x3DB8 ;
1852    .dw 0x3DB9 ;
1853    .dw 0x3DBA ;
1854    .dw 0x3DBB ;
1855    .dw 0x3DBC ;
1856    .dw 0x3DBD ;
1857    .dw 0x3DBE ;
1858    .dw 0x3DBF ;
1859    .dw 0x3DC1 ;
1860    .dw 0x3DC2 ;
1861    .dw 0x3DC3 ;
1862    .dw 0x3DC4 ;
1863    .dw 0x3DC5 ;
1864    .dw 0x3DC6 ;
1865#if 0
1866	// loopregs = EMUDAT; is valid
1867    .dw 0x3DC7 ;
1868#endif
1869    .dw 0x3DC9 ;
1870    .dw 0x3DCA ;
1871    .dw 0x3DCB ;
1872    .dw 0x3DCC ;
1873    .dw 0x3DCD ;
1874    .dw 0x3DCE ;
1875#if 0
1876	// loopregs = EMUDAT; is valid
1877    .dw 0x3DCF ;
1878#endif
1879    .dw 0x3DD1 ;
1880    .dw 0x3DD2 ;
1881    .dw 0x3DD3 ;
1882    .dw 0x3DD4 ;
1883    .dw 0x3DD5 ;
1884    .dw 0x3DD6 ;
1885#if 0
1886	// loopregs = EMUDAT; is valid
1887    .dw 0x3DD7 ;
1888#endif
1889    .dw 0x3DD9 ;
1890    .dw 0x3DDA ;
1891    .dw 0x3DDB ;
1892    .dw 0x3DDC ;
1893    .dw 0x3DDD ;
1894    .dw 0x3DDE ;
1895#if 0
1896	// loopregs = EMUDAT; is valid
1897    .dw 0x3DDF ;
1898#endif
1899    .dw 0x3DE1 ;
1900    .dw 0x3DE2 ;
1901    .dw 0x3DE3 ;
1902    .dw 0x3DE4 ;
1903    .dw 0x3DE5 ;
1904    .dw 0x3DE6 ;
1905#if 0
1906	// loopregs = EMUDAT; is valid
1907    .dw 0x3DE7 ;
1908#endif
1909    .dw 0x3DE9 ;
1910    .dw 0x3DEA ;
1911    .dw 0x3DEB ;
1912    .dw 0x3DEC ;
1913    .dw 0x3DED ;
1914    .dw 0x3DEE ;
1915#if 0
1916	// loopregs = EMUDAT; is valid
1917    .dw 0x3DEF ;
1918#endif
1919    .dw 0x3DF1 ;
1920    .dw 0x3DF2 ;
1921    .dw 0x3DF3 ;
1922    .dw 0x3DF4 ;
1923    .dw 0x3DF5 ;
1924    .dw 0x3DF6 ;
1925#if 0
1926	// cycles = EMUDAT; is valid
1927    .dw 0x3DF7 ;
1928#endif
1929    .dw 0x3DF9 ;
1930    .dw 0x3DFA ;
1931    .dw 0x3DFB ;
1932    .dw 0x3DFC ;
1933    .dw 0x3DFD ;
1934    .dw 0x3DFE ;
1935#if 0
1936	// cycles = EMUDAT; is valid
1937    .dw 0x3DFF ;
1938#endif
1939    .dw 0x3F88 ;
1940    .dw 0x3F89 ;
1941    .dw 0x3F8A ;
1942    .dw 0x3F8B ;
1943    .dw 0x3F8C ;
1944    .dw 0x3F8D ;
1945    .dw 0x3F8E ;
1946    .dw 0x3F8F ;
1947    .dw 0x3F90 ;
1948    .dw 0x3F91 ;
1949    .dw 0x3F92 ;
1950    .dw 0x3F93 ;
1951    .dw 0x3F94 ;
1952    .dw 0x3F95 ;
1953    .dw 0x3F96 ;
1954    .dw 0x3F97 ;
1955    .dw 0x3F98 ;
1956    .dw 0x3F99 ;
1957    .dw 0x3F9A ;
1958    .dw 0x3F9B ;
1959    .dw 0x3F9C ;
1960    .dw 0x3F9D ;
1961    .dw 0x3F9E ;
1962    .dw 0x3F9F ;
1963    .dw 0x3FA0 ;
1964    .dw 0x3FA1 ;
1965    .dw 0x3FA2 ;
1966    .dw 0x3FA3 ;
1967    .dw 0x3FA4 ;
1968    .dw 0x3FA5 ;
1969    .dw 0x3FA6 ;
1970    .dw 0x3FA7 ;
1971    .dw 0x3FA8 ;
1972    .dw 0x3FA9 ;
1973    .dw 0x3FAA ;
1974    .dw 0x3FAB ;
1975    .dw 0x3FAC ;
1976    .dw 0x3FAD ;
1977    .dw 0x3FAE ;
1978    .dw 0x3FAF ;
1979    .dw 0x3FB0 ;
1980    .dw 0x3FB1 ;
1981    .dw 0x3FB2 ;
1982    .dw 0x3FB3 ;
1983    .dw 0x3FB4 ;
1984    .dw 0x3FB5 ;
1985    .dw 0x3FB6 ;
1986    .dw 0x3FB7 ;
1987#if 0
1988	// EMUDAT = loopregs; is valid
1989    .dw 0x3FB8 ;
1990    .dw 0x3FB9 ;
1991    .dw 0x3FBA ;
1992    .dw 0x3FBB ;
1993    .dw 0x3FBC ;
1994    .dw 0x3FBD ;
1995	// EMUDAT = cycles; is valid
1996    .dw 0x3FBE ;
1997    .dw 0x3FBF ;
1998#endif
1999    .dw 0x3FC9 ;
2000    .dw 0x3FCA ;
2001    .dw 0x3FCB ;
2002    .dw 0x3FCC ;
2003    .dw 0x3FCD ;
2004    .dw 0x3FCE ;
2005#if 0
2006	// SEQSTAT = EMUDAT; is valid
2007    .dw 0x3FCF ;
2008#endif
2009    .dw 0x3FD1 ;
2010    .dw 0x3FD2 ;
2011    .dw 0x3FD3 ;
2012    .dw 0x3FD4 ;
2013    .dw 0x3FD5 ;
2014    .dw 0x3FD6 ;
2015#if 0
2016	// SYSCFG = EMUDAT; is valid
2017    .dw 0x3FD7 ;
2018#endif
2019    .dw 0x3FD9 ;
2020    .dw 0x3FDA ;
2021    .dw 0x3FDB ;
2022    .dw 0x3FDC ;
2023    .dw 0x3FDD ;
2024    .dw 0x3FDE ;
2025#if 0
2026	// RET[IXNE] = EMUDAT; is valid
2027    .dw 0x3FDF ;
2028#endif
2029    .dw 0x3FE1 ;
2030    .dw 0x3FE2 ;
2031    .dw 0x3FE3 ;
2032    .dw 0x3FE4 ;
2033    .dw 0x3FE5 ;
2034    .dw 0x3FE6 ;
2035#if 0
2036	// RET[IXNE] = EMUDAT; is valid
2037    .dw 0x3FE7 ;
2038#endif
2039    .dw 0x3FE9 ;
2040    .dw 0x3FEA ;
2041    .dw 0x3FEB ;
2042    .dw 0x3FEC ;
2043    .dw 0x3FED ;
2044    .dw 0x3FEE ;
2045#if 0
2046	// RET[IXNE] = EMUDAT; is valid
2047    .dw 0x3FEF ;
2048#endif
2049    .dw 0x3FF1 ;
2050    .dw 0x3FF2 ;
2051    .dw 0x3FF3 ;
2052    .dw 0x3FF4 ;
2053    .dw 0x3FF5 ;
2054    .dw 0x3FF6 ;
2055#if 0
2056	// RET[IXNE] = EMUDAT; is valid
2057    .dw 0x3FF7 ;
2058	// EMUDAT = SEQSTAT; is valid
2059    .dw 0x3FF9 ;
2060	// EMUDAT = SYSCFG; is valid
2061    .dw 0x3FFA ;
2062	// EMDUAT = RET[IXNE]; is valid
2063    .dw 0x3FFB ;
2064    .dw 0x3FFC ;
2065    .dw 0x3FFD ;
2066    .dw 0x3FFE ;
2067	// EMUDAT = EMUDAT; is valid
2068    .dw 0x3FFF ;
2069#endif
2070    .dw 0x39B0 ;
2071    .dw 0x39B1 ;
2072    .dw 0x39B2 ;
2073    .dw 0x39B3 ;
2074    .dw 0x39B4 ;
2075    .dw 0x39B5 ;
2076    .dw 0x39B6 ;
2077    .dw 0x39B7 ;
2078    .dw 0x39B8 ;
2079    .dw 0x39B9 ;
2080    .dw 0x39BA ;
2081    .dw 0x39BB ;
2082    .dw 0x39BC ;
2083    .dw 0x39BD ;
2084    .dw 0x39BE ;
2085    .dw 0x39BF ;
2086    .dw 0x39F1 ;
2087    .dw 0x39F2 ;
2088    .dw 0x39F3 ;
2089    .dw 0x39F4 ;
2090    .dw 0x39F5 ;
2091    .dw 0x39F6 ;
2092#if 0
2093	// ASTAT = EMUDAT; is valid
2094    .dw 0x39F7 ;
2095#endif
2096    .dw 0x39F9 ;
2097    .dw 0x39FA ;
2098    .dw 0x39FB ;
2099    .dw 0x39FC ;
2100    .dw 0x39FD ;
2101    .dw 0x39FE ;
2102#if 0
2103	// RETS = EMUDAT; is valid
2104    .dw 0x39FF ;
2105#endif
2106    .dw 0x3D06 ;
2107    .dw 0x3D07 ;
2108    .dw 0x3D0E ;
2109    .dw 0x3D0F ;
2110    .dw 0x3D16 ;
2111    .dw 0x3D17 ;
2112    .dw 0x3D1E ;
2113    .dw 0x3D1F ;
2114    .dw 0x3D26 ;
2115    .dw 0x3D27 ;
2116    .dw 0x3D2E ;
2117    .dw 0x3D2F ;
2118    .dw 0x3D36 ;
2119    .dw 0x3D37 ;
2120    .dw 0x3D3E ;
2121    .dw 0x3D3F ;
2122    .dw 0x3F0E ;
2123    .dw 0x3F0F ;
2124    .dw 0x3F16 ;
2125    .dw 0x3F17 ;
2126    .dw 0x3F1E ;
2127    .dw 0x3F1F ;
2128    .dw 0x3F26 ;
2129    .dw 0x3F27 ;
2130    .dw 0x3F2E ;
2131    .dw 0x3F2F ;
2132    .dw 0x3F36 ;
2133    .dw 0x3F37 ;
2134#if 0
2135	// EMUDAT = ASTAT; is valid
2136    .dw 0x3F3E ;
2137	// EMUDAT = RETS; is valid
2138    .dw 0x3F3F ;
2139#endif
2140    .dw 0x3936 ;
2141    .dw 0x3937 ;
2142    .dw 0x393E ;
2143    .dw 0x393F ;
2144    .dw 0x3C80 ;
2145    .dw 0x3C81 ;
2146    .dw 0x3C82 ;
2147    .dw 0x3C83 ;
2148    .dw 0x3C84 ;
2149    .dw 0x3C85 ;
2150    .dw 0x3C86 ;
2151    .dw 0x3C87 ;
2152    .dw 0x3C88 ;
2153    .dw 0x3C89 ;
2154    .dw 0x3C8A ;
2155    .dw 0x3C8B ;
2156    .dw 0x3C8C ;
2157    .dw 0x3C8D ;
2158    .dw 0x3C8E ;
2159    .dw 0x3C8F ;
2160    .dw 0x3C90 ;
2161    .dw 0x3C91 ;
2162    .dw 0x3C92 ;
2163    .dw 0x3C93 ;
2164    .dw 0x3C94 ;
2165    .dw 0x3C95 ;
2166    .dw 0x3C96 ;
2167    .dw 0x3C97 ;
2168    .dw 0x3C98 ;
2169    .dw 0x3C99 ;
2170    .dw 0x3C9A ;
2171    .dw 0x3C9B ;
2172    .dw 0x3C9C ;
2173    .dw 0x3C9D ;
2174    .dw 0x3C9E ;
2175    .dw 0x3C9F ;
2176    .dw 0x3CA0 ;
2177    .dw 0x3CA1 ;
2178    .dw 0x3CA2 ;
2179    .dw 0x3CA3 ;
2180    .dw 0x3CA4 ;
2181    .dw 0x3CA5 ;
2182    .dw 0x3CA6 ;
2183    .dw 0x3CA7 ;
2184    .dw 0x3CA8 ;
2185    .dw 0x3CA9 ;
2186    .dw 0x3CAA ;
2187    .dw 0x3CAB ;
2188    .dw 0x3CAC ;
2189    .dw 0x3CAD ;
2190    .dw 0x3CAE ;
2191    .dw 0x3CAF ;
2192    .dw 0x3CB0 ;
2193    .dw 0x3CB1 ;
2194    .dw 0x3CB2 ;
2195    .dw 0x3CB3 ;
2196    .dw 0x3CB4 ;
2197    .dw 0x3CB5 ;
2198    .dw 0x3CB6 ;
2199    .dw 0x3CB7 ;
2200    .dw 0x3CB8 ;
2201    .dw 0x3CB9 ;
2202    .dw 0x3CBA ;
2203    .dw 0x3CBB ;
2204    .dw 0x3CBC ;
2205    .dw 0x3CBD ;
2206    .dw 0x3CBE ;
2207    .dw 0x3CBF ;
2208    .dw 0x3CC0 ;
2209    .dw 0x3CC1 ;
2210    .dw 0x3CC2 ;
2211    .dw 0x3CC3 ;
2212    .dw 0x3CC4 ;
2213    .dw 0x3CC5 ;
2214    .dw 0x3CC6 ;
2215    .dw 0x3CC7 ;
2216    .dw 0x3CC8 ;
2217    .dw 0x3CC9 ;
2218    .dw 0x3CCA ;
2219    .dw 0x3CCB ;
2220    .dw 0x3CCC ;
2221    .dw 0x3CCD ;
2222    .dw 0x3CCE ;
2223    .dw 0x3CCF ;
2224    .dw 0x3CD0 ;
2225    .dw 0x3CD1 ;
2226    .dw 0x3CD2 ;
2227    .dw 0x3CD3 ;
2228    .dw 0x3CD4 ;
2229    .dw 0x3CD5 ;
2230    .dw 0x3CD6 ;
2231    .dw 0x3CD7 ;
2232    .dw 0x3CD8 ;
2233    .dw 0x3CD9 ;
2234    .dw 0x3CDA ;
2235    .dw 0x3CDB ;
2236    .dw 0x3CDC ;
2237    .dw 0x3CDD ;
2238    .dw 0x3CDE ;
2239    .dw 0x3CDF ;
2240    .dw 0x3CE0 ;
2241    .dw 0x3CE1 ;
2242    .dw 0x3CE2 ;
2243    .dw 0x3CE3 ;
2244    .dw 0x3CE4 ;
2245    .dw 0x3CE5 ;
2246    .dw 0x3CE6 ;
2247    .dw 0x3CE7 ;
2248    .dw 0x3CE8 ;
2249    .dw 0x3CE9 ;
2250    .dw 0x3CEA ;
2251    .dw 0x3CEB ;
2252    .dw 0x3CEC ;
2253    .dw 0x3CED ;
2254    .dw 0x3CEE ;
2255    .dw 0x3CEF ;
2256    .dw 0x3CF0 ;
2257    .dw 0x3CF1 ;
2258    .dw 0x3CF2 ;
2259    .dw 0x3CF3 ;
2260    .dw 0x3CF4 ;
2261    .dw 0x3CF5 ;
2262    .dw 0x3CF6 ;
2263    .dw 0x3CF7 ;
2264    .dw 0x3CF8 ;
2265    .dw 0x3CF9 ;
2266    .dw 0x3CFA ;
2267    .dw 0x3CFB ;
2268    .dw 0x3CFC ;
2269    .dw 0x3CFD ;
2270    .dw 0x3CFE ;
2271    .dw 0x3CFF ;
2272    .dw 0x3E88 ;
2273    .dw 0x3E89 ;
2274    .dw 0x3E8A ;
2275    .dw 0x3E8B ;
2276    .dw 0x3E8C ;
2277    .dw 0x3E8D ;
2278    .dw 0x3E8E ;
2279    .dw 0x3E8F ;
2280    .dw 0x3E90 ;
2281    .dw 0x3E91 ;
2282    .dw 0x3E92 ;
2283    .dw 0x3E93 ;
2284    .dw 0x3E94 ;
2285    .dw 0x3E95 ;
2286    .dw 0x3E96 ;
2287    .dw 0x3E97 ;
2288    .dw 0x3E98 ;
2289    .dw 0x3E99 ;
2290    .dw 0x3E9A ;
2291    .dw 0x3E9B ;
2292    .dw 0x3E9C ;
2293    .dw 0x3E9D ;
2294    .dw 0x3E9E ;
2295    .dw 0x3E9F ;
2296    .dw 0x3EA0 ;
2297    .dw 0x3EA1 ;
2298    .dw 0x3EA2 ;
2299    .dw 0x3EA3 ;
2300    .dw 0x3EA4 ;
2301    .dw 0x3EA5 ;
2302    .dw 0x3EA6 ;
2303    .dw 0x3EA7 ;
2304    .dw 0x3EA8 ;
2305    .dw 0x3EA9 ;
2306    .dw 0x3EAA ;
2307    .dw 0x3EAB ;
2308    .dw 0x3EAC ;
2309    .dw 0x3EAD ;
2310    .dw 0x3EAE ;
2311    .dw 0x3EAF ;
2312    .dw 0x3EB0 ;
2313    .dw 0x3EB1 ;
2314    .dw 0x3EB2 ;
2315    .dw 0x3EB3 ;
2316    .dw 0x3EB4 ;
2317    .dw 0x3EB5 ;
2318    .dw 0x3EB6 ;
2319    .dw 0x3EB7 ;
2320#if 0
2321	// EMUDAT = Ireg; is valid
2322    .dw 0x3EB8 ;
2323    .dw 0x3EB9 ;
2324    .dw 0x3EBA ;
2325    .dw 0x3EBB ;
2326	// EMUDAT = Mreg; is valid
2327    .dw 0x3EBC ;
2328    .dw 0x3EBD ;
2329    .dw 0x3EBE ;
2330    .dw 0x3EBF ;
2331#endif
2332    .dw 0x3EC8 ;
2333    .dw 0x3EC9 ;
2334    .dw 0x3ECA ;
2335    .dw 0x3ECB ;
2336    .dw 0x3ECC ;
2337    .dw 0x3ECD ;
2338    .dw 0x3ECE ;
2339    .dw 0x3ECF ;
2340    .dw 0x3ED0 ;
2341    .dw 0x3ED1 ;
2342    .dw 0x3ED2 ;
2343    .dw 0x3ED3 ;
2344    .dw 0x3ED4 ;
2345    .dw 0x3ED5 ;
2346    .dw 0x3ED6 ;
2347    .dw 0x3ED7 ;
2348    .dw 0x3ED8 ;
2349    .dw 0x3ED9 ;
2350    .dw 0x3EDA ;
2351    .dw 0x3EDB ;
2352    .dw 0x3EDC ;
2353    .dw 0x3EDD ;
2354    .dw 0x3EDE ;
2355    .dw 0x3EDF ;
2356    .dw 0x3EE0 ;
2357    .dw 0x3EE1 ;
2358    .dw 0x3EE2 ;
2359    .dw 0x3EE3 ;
2360    .dw 0x3EE4 ;
2361    .dw 0x3EE5 ;
2362    .dw 0x3EE6 ;
2363    .dw 0x3EE7 ;
2364    .dw 0x3EE8 ;
2365    .dw 0x3EE9 ;
2366    .dw 0x3EEA ;
2367    .dw 0x3EEB ;
2368    .dw 0x3EEC ;
2369    .dw 0x3EED ;
2370    .dw 0x3EEE ;
2371    .dw 0x3EEF ;
2372    .dw 0x3EF0 ;
2373    .dw 0x3EF1 ;
2374    .dw 0x3EF2 ;
2375    .dw 0x3EF3 ;
2376    .dw 0x3EF4 ;
2377    .dw 0x3EF5 ;
2378    .dw 0x3EF6 ;
2379    .dw 0x3EF7 ;
2380#if 0
2381	// EMUDAT = Breg; is valid
2382    .dw 0x3EF8 ;
2383    .dw 0x3EF9 ;
2384    .dw 0x3EFA ;
2385    .dw 0x3EFB ;
2386	// EMUDAT = Lreg; is valid
2387    .dw 0x3EFC ;
2388    .dw 0x3EFD ;
2389    .dw 0x3EFE ;
2390    .dw 0x3EFF ;
2391#endif
2392    .dw 0x38B0 ;
2393    .dw 0x38B1 ;
2394    .dw 0x38B2 ;
2395    .dw 0x38B3 ;
2396    .dw 0x38B4 ;
2397    .dw 0x38B5 ;
2398    .dw 0x38B6 ;
2399    .dw 0x38B7 ;
2400    .dw 0x38B8 ;
2401    .dw 0x38B9 ;
2402    .dw 0x38BA ;
2403    .dw 0x38BB ;
2404    .dw 0x38BC ;
2405    .dw 0x38BD ;
2406    .dw 0x38BE ;
2407    .dw 0x38BF ;
2408    .dw 0x38F0 ;
2409    .dw 0x38F1 ;
2410    .dw 0x38F2 ;
2411    .dw 0x38F3 ;
2412    .dw 0x38F4 ;
2413    .dw 0x38F5 ;
2414    .dw 0x38F6 ;
2415    .dw 0x38F7 ;
2416    .dw 0x38F8 ;
2417    .dw 0x38F9 ;
2418    .dw 0x38FA ;
2419    .dw 0x38FB ;
2420    .dw 0x38FC ;
2421    .dw 0x38FD ;
2422    .dw 0x38FE ;
2423    .dw 0x38FF ;
2424#if 0
2425	// Preg = sysreg; is valid
2426    .dw 0x3380 ;
2427    .dw 0x3381 ;
2428    .dw 0x3382 ;
2429    .dw 0x3383 ;
2430    .dw 0x3384 ;
2431    .dw 0x3385 ;
2432    .dw 0x3386 ;
2433    .dw 0x3387 ;
2434    .dw 0x3388 ;
2435    .dw 0x3389 ;
2436    .dw 0x338A ;
2437    .dw 0x338B ;
2438    .dw 0x338C ;
2439    .dw 0x338D ;
2440    .dw 0x338E ;
2441    .dw 0x338F ;
2442    .dw 0x3390 ;
2443    .dw 0x3391 ;
2444    .dw 0x3392 ;
2445    .dw 0x3393 ;
2446    .dw 0x3394 ;
2447    .dw 0x3395 ;
2448    .dw 0x3396 ;
2449    .dw 0x3397 ;
2450    .dw 0x3398 ;
2451    .dw 0x3399 ;
2452    .dw 0x339A ;
2453    .dw 0x339B ;
2454    .dw 0x339C ;
2455    .dw 0x339D ;
2456    .dw 0x339E ;
2457    .dw 0x339F ;
2458    .dw 0x33A0 ;
2459    .dw 0x33A1 ;
2460    .dw 0x33A2 ;
2461    .dw 0x33A3 ;
2462    .dw 0x33A4 ;
2463    .dw 0x33A5 ;
2464    .dw 0x33A6 ;
2465    .dw 0x33A7 ;
2466    .dw 0x33A8 ;
2467    .dw 0x33A9 ;
2468    .dw 0x33AA ;
2469    .dw 0x33AB ;
2470    .dw 0x33AC ;
2471    .dw 0x33AD ;
2472    .dw 0x33AE ;
2473    .dw 0x33AF ;
2474    .dw 0x33B0 ;
2475    .dw 0x33B1 ;
2476    .dw 0x33B2 ;
2477    .dw 0x33B3 ;
2478    .dw 0x33B4 ;
2479    .dw 0x33B5 ;
2480    .dw 0x33B6 ;
2481    .dw 0x33B7 ;
2482    .dw 0x33B8 ;
2483    .dw 0x33B9 ;
2484    .dw 0x33BA ;
2485    .dw 0x33BB ;
2486    .dw 0x33BC ;
2487    .dw 0x33BD ;
2488    .dw 0x33BE ;
2489    .dw 0x33BF ;
2490    .dw 0x33C1 ;
2491    .dw 0x33C2 ;
2492    .dw 0x33C3 ;
2493    .dw 0x33C4 ;
2494    .dw 0x33C5 ;
2495    .dw 0x33C6 ;
2496    .dw 0x33C7 ;
2497    .dw 0x33C9 ;
2498    .dw 0x33CA ;
2499    .dw 0x33CB ;
2500    .dw 0x33CC ;
2501    .dw 0x33CD ;
2502    .dw 0x33CE ;
2503    .dw 0x33CF ;
2504    .dw 0x33D1 ;
2505    .dw 0x33D2 ;
2506    .dw 0x33D3 ;
2507    .dw 0x33D4 ;
2508    .dw 0x33D5 ;
2509    .dw 0x33D6 ;
2510    .dw 0x33D7 ;
2511    .dw 0x33D9 ;
2512    .dw 0x33DA ;
2513    .dw 0x33DB ;
2514    .dw 0x33DC ;
2515    .dw 0x33DD ;
2516    .dw 0x33DE ;
2517    .dw 0x33DF ;
2518    .dw 0x33E1 ;
2519    .dw 0x33E2 ;
2520    .dw 0x33E3 ;
2521    .dw 0x33E4 ;
2522    .dw 0x33E5 ;
2523    .dw 0x33E6 ;
2524    .dw 0x33E7 ;
2525    .dw 0x33E9 ;
2526    .dw 0x33EA ;
2527    .dw 0x33EB ;
2528    .dw 0x33EC ;
2529    .dw 0x33ED ;
2530    .dw 0x33EE ;
2531    .dw 0x33EF ;
2532    .dw 0x33F1 ;
2533    .dw 0x33F2 ;
2534    .dw 0x33F3 ;
2535    .dw 0x33F4 ;
2536    .dw 0x33F5 ;
2537    .dw 0x33F6 ;
2538    .dw 0x33F7 ;
2539    .dw 0x33F9 ;
2540    .dw 0x33FA ;
2541    .dw 0x33FB ;
2542    .dw 0x33FC ;
2543    .dw 0x33FD ;
2544    .dw 0x33FE ;
2545    .dw 0x33FF ;
2546    .dw 0x3306 ;
2547    .dw 0x3307 ;
2548    .dw 0x330E ;
2549    .dw 0x330F ;
2550    .dw 0x3316 ;
2551    .dw 0x3317 ;
2552    .dw 0x331E ;
2553    .dw 0x331F ;
2554    .dw 0x3326 ;
2555    .dw 0x3327 ;
2556    .dw 0x332E ;
2557    .dw 0x332F ;
2558    .dw 0x3336 ;
2559    .dw 0x3337 ;
2560    .dw 0x333E ;
2561    .dw 0x333F ;
2562#endif
2563    .dw 0x3580 ;
2564    .dw 0x3581 ;
2565    .dw 0x3582 ;
2566    .dw 0x3583 ;
2567    .dw 0x3584 ;
2568    .dw 0x3585 ;
2569    .dw 0x3586 ;
2570    .dw 0x3587 ;
2571    .dw 0x3588 ;
2572    .dw 0x3589 ;
2573    .dw 0x358A ;
2574    .dw 0x358B ;
2575    .dw 0x358C ;
2576    .dw 0x358D ;
2577    .dw 0x358E ;
2578    .dw 0x358F ;
2579    .dw 0x3590 ;
2580    .dw 0x3591 ;
2581    .dw 0x3592 ;
2582    .dw 0x3593 ;
2583    .dw 0x3594 ;
2584    .dw 0x3595 ;
2585    .dw 0x3596 ;
2586    .dw 0x3597 ;
2587    .dw 0x3598 ;
2588    .dw 0x3599 ;
2589    .dw 0x359A ;
2590    .dw 0x359B ;
2591    .dw 0x359C ;
2592    .dw 0x359D ;
2593    .dw 0x359E ;
2594    .dw 0x359F ;
2595    .dw 0x35A0 ;
2596    .dw 0x35A1 ;
2597    .dw 0x35A2 ;
2598    .dw 0x35A3 ;
2599    .dw 0x35A4 ;
2600    .dw 0x35A5 ;
2601    .dw 0x35A6 ;
2602    .dw 0x35A7 ;
2603    .dw 0x35A8 ;
2604    .dw 0x35A9 ;
2605    .dw 0x35AA ;
2606    .dw 0x35AB ;
2607    .dw 0x35AC ;
2608    .dw 0x35AD ;
2609    .dw 0x35AE ;
2610    .dw 0x35AF ;
2611    .dw 0x35B0 ;
2612    .dw 0x35B1 ;
2613    .dw 0x35B2 ;
2614    .dw 0x35B3 ;
2615    .dw 0x35B4 ;
2616    .dw 0x35B5 ;
2617    .dw 0x35B6 ;
2618    .dw 0x35B7 ;
2619    .dw 0x35B8 ;
2620    .dw 0x35B9 ;
2621    .dw 0x35BA ;
2622    .dw 0x35BB ;
2623    .dw 0x35BC ;
2624    .dw 0x35BD ;
2625    .dw 0x35BE ;
2626    .dw 0x35BF ;
2627    .dw 0x35C1 ;
2628    .dw 0x35C2 ;
2629    .dw 0x35C3 ;
2630    .dw 0x35C4 ;
2631    .dw 0x35C5 ;
2632    .dw 0x35C6 ;
2633#if 0
2634	// Ireg = EMUDAT; is valid
2635    .dw 0x35C7 ;
2636#endif
2637    .dw 0x35C9 ;
2638    .dw 0x35CA ;
2639    .dw 0x35CB ;
2640    .dw 0x35CC ;
2641    .dw 0x35CD ;
2642    .dw 0x35CE ;
2643#if 0
2644	// Ireg = EMUDAT; is valid
2645    .dw 0x35CF ;
2646#endif
2647    .dw 0x35D1 ;
2648    .dw 0x35D2 ;
2649    .dw 0x35D3 ;
2650    .dw 0x35D4 ;
2651    .dw 0x35D5 ;
2652    .dw 0x35D6 ;
2653#if 0
2654	// Ireg = EMUDAT; is valid
2655    .dw 0x35D7 ;
2656#endif
2657    .dw 0x35D9 ;
2658    .dw 0x35DA ;
2659    .dw 0x35DB ;
2660    .dw 0x35DC ;
2661    .dw 0x35DD ;
2662    .dw 0x35DE ;
2663#if 0
2664	// Ireg = EMUDAT; is valid
2665    .dw 0x35DF ;
2666#endif
2667    .dw 0x35E1 ;
2668    .dw 0x35E2 ;
2669    .dw 0x35E3 ;
2670    .dw 0x35E4 ;
2671    .dw 0x35E5 ;
2672    .dw 0x35E6 ;
2673#if 0
2674	// Mreg = EMUDAT; is valid
2675    .dw 0x35E7 ;
2676#endif
2677    .dw 0x35E9 ;
2678    .dw 0x35EA ;
2679    .dw 0x35EB ;
2680    .dw 0x35EC ;
2681    .dw 0x35ED ;
2682    .dw 0x35EE ;
2683#if 0
2684	// Mreg = EMUDAT; is valid
2685    .dw 0x35EF ;
2686#endif
2687    .dw 0x35F1 ;
2688    .dw 0x35F2 ;
2689    .dw 0x35F3 ;
2690    .dw 0x35F4 ;
2691    .dw 0x35F5 ;
2692    .dw 0x35F6 ;
2693#if 0
2694	// Mreg = EMUDAT; is valid
2695    .dw 0x35F7 ;
2696#endif
2697    .dw 0x35F9 ;
2698    .dw 0x35FA ;
2699    .dw 0x35FB ;
2700    .dw 0x35FC ;
2701    .dw 0x35FD ;
2702    .dw 0x35FE ;
2703#if 0
2704	// Mreg = EMUDAT; is valid
2705    .dw 0x35FF ;
2706#endif
2707    .dw 0x3780 ;
2708    .dw 0x3781 ;
2709    .dw 0x3782 ;
2710    .dw 0x3783 ;
2711    .dw 0x3784 ;
2712    .dw 0x3785 ;
2713    .dw 0x3786 ;
2714    .dw 0x3787 ;
2715    .dw 0x3788 ;
2716    .dw 0x3789 ;
2717    .dw 0x378A ;
2718    .dw 0x378B ;
2719    .dw 0x378C ;
2720    .dw 0x378D ;
2721    .dw 0x378E ;
2722    .dw 0x378F ;
2723    .dw 0x3790 ;
2724    .dw 0x3791 ;
2725    .dw 0x3792 ;
2726    .dw 0x3793 ;
2727    .dw 0x3794 ;
2728    .dw 0x3795 ;
2729    .dw 0x3796 ;
2730    .dw 0x3797 ;
2731    .dw 0x3798 ;
2732    .dw 0x3799 ;
2733    .dw 0x379A ;
2734    .dw 0x379B ;
2735    .dw 0x379C ;
2736    .dw 0x379D ;
2737    .dw 0x379E ;
2738    .dw 0x379F ;
2739    .dw 0x37A0 ;
2740    .dw 0x37A1 ;
2741    .dw 0x37A2 ;
2742    .dw 0x37A3 ;
2743    .dw 0x37A4 ;
2744    .dw 0x37A5 ;
2745    .dw 0x37A6 ;
2746    .dw 0x37A7 ;
2747    .dw 0x37A8 ;
2748    .dw 0x37A9 ;
2749    .dw 0x37AA ;
2750    .dw 0x37AB ;
2751    .dw 0x37AC ;
2752    .dw 0x37AD ;
2753    .dw 0x37AE ;
2754    .dw 0x37AF ;
2755    .dw 0x37B0 ;
2756    .dw 0x37B1 ;
2757    .dw 0x37B2 ;
2758    .dw 0x37B3 ;
2759    .dw 0x37B4 ;
2760    .dw 0x37B5 ;
2761    .dw 0x37B6 ;
2762    .dw 0x37B7 ;
2763    .dw 0x37B8 ;
2764    .dw 0x37B9 ;
2765    .dw 0x37BA ;
2766    .dw 0x37BB ;
2767    .dw 0x37BC ;
2768    .dw 0x37BD ;
2769    .dw 0x37BE ;
2770    .dw 0x37BF ;
2771    .dw 0x37C1 ;
2772    .dw 0x37C2 ;
2773    .dw 0x37C3 ;
2774    .dw 0x37C4 ;
2775    .dw 0x37C5 ;
2776    .dw 0x37C6 ;
2777#if 0
2778	// EMUDAT = Breg; is valid
2779    .dw 0x37C7 ;
2780#endif
2781    .dw 0x37C9 ;
2782    .dw 0x37CA ;
2783    .dw 0x37CB ;
2784    .dw 0x37CC ;
2785    .dw 0x37CD ;
2786    .dw 0x37CE ;
2787#if 0
2788	// EMUDAT = Breg; is valid
2789    .dw 0x37CF ;
2790#endif
2791    .dw 0x37D1 ;
2792    .dw 0x37D2 ;
2793    .dw 0x37D3 ;
2794    .dw 0x37D4 ;
2795    .dw 0x37D5 ;
2796    .dw 0x37D6 ;
2797#if 0
2798	// EMUDAT = Breg; is valid
2799    .dw 0x37D7 ;
2800#endif
2801    .dw 0x37D9 ;
2802    .dw 0x37DA ;
2803    .dw 0x37DB ;
2804    .dw 0x37DC ;
2805    .dw 0x37DD ;
2806    .dw 0x37DE ;
2807#if 0
2808	// EMUDAT = Breg; is valid
2809    .dw 0x37DF ;
2810#endif
2811    .dw 0x37E1 ;
2812    .dw 0x37E2 ;
2813    .dw 0x37E3 ;
2814    .dw 0x37E4 ;
2815    .dw 0x37E5 ;
2816    .dw 0x37E6 ;
2817#if 0
2818	// EMUDAT = Lreg; is valid
2819    .dw 0x37E7 ;
2820#endif
2821    .dw 0x37E9 ;
2822    .dw 0x37EA ;
2823    .dw 0x37EB ;
2824    .dw 0x37EC ;
2825    .dw 0x37ED ;
2826    .dw 0x37EE ;
2827#if 0
2828	// EMUDAT = Lreg; is valid
2829    .dw 0x37EF ;
2830#endif
2831    .dw 0x37F1 ;
2832    .dw 0x37F2 ;
2833    .dw 0x37F3 ;
2834    .dw 0x37F4 ;
2835    .dw 0x37F5 ;
2836    .dw 0x37F6 ;
2837#if 0
2838	// EMUDAT = Lreg; is valid
2839    .dw 0x37F7 ;
2840#endif
2841    .dw 0x37F9 ;
2842    .dw 0x37FA ;
2843    .dw 0x37FB ;
2844    .dw 0x37FC ;
2845    .dw 0x37FD ;
2846    .dw 0x37FE ;
2847#if 0
2848	// EMUDAT = Lreg; is valid
2849    .dw 0x37FF ;
2850#endif
2851    .dw 0x3506 ;
2852    .dw 0x3507 ;
2853    .dw 0x350E ;
2854    .dw 0x350F ;
2855    .dw 0x3516 ;
2856    .dw 0x3517 ;
2857    .dw 0x351E ;
2858    .dw 0x351F ;
2859    .dw 0x3526 ;
2860    .dw 0x3527 ;
2861    .dw 0x352E ;
2862    .dw 0x352F ;
2863    .dw 0x3536 ;
2864    .dw 0x3537 ;
2865    .dw 0x353E ;
2866    .dw 0x353F ;
2867    .dw 0x3706 ;
2868    .dw 0x3707 ;
2869    .dw 0x370E ;
2870    .dw 0x370F ;
2871    .dw 0x3716 ;
2872    .dw 0x3717 ;
2873    .dw 0x371E ;
2874    .dw 0x371F ;
2875    .dw 0x3726 ;
2876    .dw 0x3727 ;
2877    .dw 0x372E ;
2878    .dw 0x372F ;
2879    .dw 0x3736 ;
2880    .dw 0x3737 ;
2881    .dw 0x373E ;
2882    .dw 0x373F ;
2883    .dw 0x4180 ;
2884    .dw 0x4181 ;
2885    .dw 0x4182 ;
2886    .dw 0x4183 ;
2887    .dw 0x4184 ;
2888    .dw 0x4185 ;
2889    .dw 0x4186 ;
2890    .dw 0x4187 ;
2891    .dw 0x4188 ;
2892    .dw 0x4189 ;
2893    .dw 0x418A ;
2894    .dw 0x418B ;
2895    .dw 0x418C ;
2896    .dw 0x418D ;
2897    .dw 0x418E ;
2898    .dw 0x418F ;
2899    .dw 0x4190 ;
2900    .dw 0x4191 ;
2901    .dw 0x4192 ;
2902    .dw 0x4193 ;
2903    .dw 0x4194 ;
2904    .dw 0x4195 ;
2905    .dw 0x4196 ;
2906    .dw 0x4197 ;
2907    .dw 0x4198 ;
2908    .dw 0x4199 ;
2909    .dw 0x419A ;
2910    .dw 0x419B ;
2911    .dw 0x419C ;
2912    .dw 0x419D ;
2913    .dw 0x419E ;
2914    .dw 0x419F ;
2915    .dw 0x41A0 ;
2916    .dw 0x41A1 ;
2917    .dw 0x41A2 ;
2918    .dw 0x41A3 ;
2919    .dw 0x41A4 ;
2920    .dw 0x41A5 ;
2921    .dw 0x41A6 ;
2922    .dw 0x41A7 ;
2923    .dw 0x41A8 ;
2924    .dw 0x41A9 ;
2925    .dw 0x41AA ;
2926    .dw 0x41AB ;
2927    .dw 0x41AC ;
2928    .dw 0x41AD ;
2929    .dw 0x41AE ;
2930    .dw 0x41AF ;
2931    .dw 0x41B0 ;
2932    .dw 0x41B1 ;
2933    .dw 0x41B2 ;
2934    .dw 0x41B3 ;
2935    .dw 0x41B4 ;
2936    .dw 0x41B5 ;
2937    .dw 0x41B6 ;
2938    .dw 0x41B7 ;
2939    .dw 0x41B8 ;
2940    .dw 0x41B9 ;
2941    .dw 0x41BA ;
2942    .dw 0x41BB ;
2943    .dw 0x41BC ;
2944    .dw 0x41BD ;
2945    .dw 0x41BE ;
2946    .dw 0x41BF ;
2947    .dw 0x41C0 ;
2948    .dw 0x41C1 ;
2949    .dw 0x41C2 ;
2950    .dw 0x41C3 ;
2951    .dw 0x41C4 ;
2952    .dw 0x41C5 ;
2953    .dw 0x41C6 ;
2954    .dw 0x41C7 ;
2955    .dw 0x41C8 ;
2956    .dw 0x41C9 ;
2957    .dw 0x41CA ;
2958    .dw 0x41CB ;
2959    .dw 0x41CC ;
2960    .dw 0x41CD ;
2961    .dw 0x41CE ;
2962    .dw 0x41CF ;
2963    .dw 0x41D0 ;
2964    .dw 0x41D1 ;
2965    .dw 0x41D2 ;
2966    .dw 0x41D3 ;
2967    .dw 0x41D4 ;
2968    .dw 0x41D5 ;
2969    .dw 0x41D6 ;
2970    .dw 0x41D7 ;
2971    .dw 0x41D8 ;
2972    .dw 0x41D9 ;
2973    .dw 0x41DA ;
2974    .dw 0x41DB ;
2975    .dw 0x41DC ;
2976    .dw 0x41DD ;
2977    .dw 0x41DE ;
2978    .dw 0x41DF ;
2979    .dw 0x41E0 ;
2980    .dw 0x41E1 ;
2981    .dw 0x41E2 ;
2982    .dw 0x41E3 ;
2983    .dw 0x41E4 ;
2984    .dw 0x41E5 ;
2985    .dw 0x41E6 ;
2986    .dw 0x41E7 ;
2987    .dw 0x41E8 ;
2988    .dw 0x41E9 ;
2989    .dw 0x41EA ;
2990    .dw 0x41EB ;
2991    .dw 0x41EC ;
2992    .dw 0x41ED ;
2993    .dw 0x41EE ;
2994    .dw 0x41EF ;
2995    .dw 0x41F0 ;
2996    .dw 0x41F1 ;
2997    .dw 0x41F2 ;
2998    .dw 0x41F3 ;
2999    .dw 0x41F4 ;
3000    .dw 0x41F5 ;
3001    .dw 0x41F6 ;
3002    .dw 0x41F7 ;
3003    .dw 0x41F8 ;
3004    .dw 0x41F9 ;
3005    .dw 0x41FA ;
3006    .dw 0x41FB ;
3007    .dw 0x41FC ;
3008    .dw 0x41FD ;
3009    .dw 0x41FE ;
3010    .dw 0x41FF ;
3011.ifndef BFIN_HW
3012	// XXX: These cause double fault on hardware when run in IVG15 !?
3013    .dw 0x9040 ;
3014    .dw 0x9049 ;
3015    .dw 0x9052 ;
3016    .dw 0x905B ;
3017    .dw 0x9064 ;
3018    .dw 0x906D ;
3019    .dw 0x9076 ;
3020    .dw 0x907F ;
3021    .dw 0x90C0 ;
3022    .dw 0x90C9 ;
3023    .dw 0x90D2 ;
3024    .dw 0x90DB ;
3025    .dw 0x90E4 ;
3026    .dw 0x90ED ;
3027    .dw 0x90F6 ;
3028    .dw 0x90FF ;
3029.endif
3030    .dw 0x9180 ;
3031// Starting 32bit s section  COUNT = 3481
3032
3033CHECK_INIT_DEF(p0);  //CHECK_INIT(p0, 0xFF7FFFFC);
3034                    // Xhandler counts all EXCAUSE = 0x21;
3035.ifndef BFIN_HW
3036CHECKREG(r5, 2651 - 507); // count of all 16 bit UI's.
3037.else
3038CHECKREG(r5, 2651 - 524); // count of all 16 bit UI's.
3039.endif
3040
3041END:
3042dbg_pass;            // End the test
3043
3044//*********************************************************************
3045
3046//
3047// Handlers for Events
3048//
3049
3050NHANDLE:            // NMI Handler 2
3051RTN;
3052
3053XHANDLE:            // Exception Handler 3
3054                    // 16 bit illegal opcode handler - skips bad instruction
3055
3056    // handler MADE LEAN and destructive so test runs more quckly
3057    //   se_undefinedinstruction1.dsp tests using a "nice" handler
3058
3059//    [--sp] = ASTAT; // save what we damage
3060//    [--sp] = (r7 - r6);
3061    R7 = SEQSTAT;
3062    R7 <<= 26;
3063    R7 >>= 26;      // only want EXCAUSE
3064    R6 = 0x21;      // EXCAUSE 0x21 means I-Fetch Undefined Instruction
3065CC = r7 == r6;
3066IF CC JUMP UNDEFINEDINSTRUCTION;   // If EXCAUSE != 0x21 then leave
3067
3068    R6 = 0x22;      // Also accept illegal insn combo
3069CC = r7 == r6;
3070IF CC JUMP UNDEFINEDINSTRUCTION;   // If EXCAUSE != 0x21 then leave
3071
3072dbg_fail;
3073
3074UNDEFINEDINSTRUCTION:
3075    R7 = RETX;      // Fix up return address
3076
3077    r4 += 2;
3078    CC = r4 == r7;
3079    if !CC jump fail;
3080
3081    R7 += 2;        // skip offending 16 bit instruction
3082
3083RETX = r7;      // and put back in RETX
3084
3085    R5 += 1;        // Increment global counter
3086
3087OUT:
3088//    (r7 - r6) = [sp++];
3089//    ASTAT = [sp++];
3090
3091RTX;
3092fail:
3093dbg_fail;
3094
3095HWHANDLE:           // HW Error Handler 5
3096RTI;
3097
3098THANDLE:            // Timer Handler 6
3099RTI;
3100
3101I7HANDLE:           // IVG 7 Handler
3102RTI;
3103
3104I8HANDLE:           // IVG 8 Handler
3105RTI;
3106
3107I9HANDLE:           // IVG 9 Handler
3108RTI;
3109
3110I10HANDLE:          // IVG 10 Handler
3111RTI;
3112
3113I11HANDLE:          // IVG 11 Handler
3114RTI;
3115
3116I12HANDLE:          // IVG 12 Handler
3117RTI;
3118
3119I13HANDLE:          // IVG 13 Handler
3120RTI;
3121
3122I14HANDLE:          // IVG 14 Handler
3123RTI;
3124
3125I15HANDLE:          // IVG 15 Handler
3126RTI;
3127
3128
3129    // padding for the icache
3130
3131EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0; EXCPT 0;
3132
3133//
3134// Data Segment
3135//
3136
3137.data
3138DATA:
3139    .space (0x10);
3140
3141// Stack Segments (Both Kernel and User)
3142
3143    .space (STACKSIZE);
3144KSTACK:
3145
3146    .space (STACKSIZE);
3147USTACK:
3148