1 /* Machine generated by decgen.c */
2
3 #include "lib9.h"
4 #include "isa.h"
5 #include "interp.h"
6
7 #define DIND(reg, xxx) (uchar*)((*(ulong*)(R.reg+R.PC->xxx.i.f))+R.PC->xxx.i.s)
8 static void
D00(void)9 D00(void)
10 {
11 R.s = R.MP+R.PC->s.ind;
12 R.d = R.MP+R.PC->d.ind;
13 R.m = R.d;
14 }
15 static void
D01(void)16 D01(void)
17 {
18 R.s = R.MP+R.PC->s.ind;
19 R.d = R.FP+R.PC->d.ind;
20 R.m = R.d;
21 }
22 static void
D02(void)23 D02(void)
24 {
25 R.s = R.MP+R.PC->s.ind;
26 R.d = (uchar*)&R.PC->d.imm;
27 R.m = R.d;
28 }
29 static void
D03(void)30 D03(void)
31 {
32 R.s = R.MP+R.PC->s.ind;
33 }
34 static void
D04(void)35 D04(void)
36 {
37 R.s = R.MP+R.PC->s.ind;
38 R.d = DIND(MP, d);
39 R.m = R.d;
40 }
41 static void
D05(void)42 D05(void)
43 {
44 R.s = R.MP+R.PC->s.ind;
45 R.d = DIND(FP, d);
46 R.m = R.d;
47 }
48 static void
D06(void)49 D06(void)
50 {
51 R.s = R.MP+R.PC->s.ind;
52 }
53 static void
D07(void)54 D07(void)
55 {
56 R.s = R.MP+R.PC->s.ind;
57 }
58 static void
D08(void)59 D08(void)
60 {
61 R.s = R.FP+R.PC->s.ind;
62 R.d = R.MP+R.PC->d.ind;
63 R.m = R.d;
64 }
65 static void
D09(void)66 D09(void)
67 {
68 R.s = R.FP+R.PC->s.ind;
69 R.d = R.FP+R.PC->d.ind;
70 R.m = R.d;
71 }
72 static void
D0A(void)73 D0A(void)
74 {
75 R.s = R.FP+R.PC->s.ind;
76 R.d = (uchar*)&R.PC->d.imm;
77 R.m = R.d;
78 }
79 static void
D0B(void)80 D0B(void)
81 {
82 R.s = R.FP+R.PC->s.ind;
83 }
84 static void
D0C(void)85 D0C(void)
86 {
87 R.s = R.FP+R.PC->s.ind;
88 R.d = DIND(MP, d);
89 R.m = R.d;
90 }
91 static void
D0D(void)92 D0D(void)
93 {
94 R.s = R.FP+R.PC->s.ind;
95 R.d = DIND(FP, d);
96 R.m = R.d;
97 }
98 static void
D0E(void)99 D0E(void)
100 {
101 R.s = R.FP+R.PC->s.ind;
102 }
103 static void
D0F(void)104 D0F(void)
105 {
106 R.s = R.FP+R.PC->s.ind;
107 }
108 static void
D10(void)109 D10(void)
110 {
111 R.s = (uchar*)&R.PC->s.imm;
112 R.d = R.MP+R.PC->d.ind;
113 R.m = R.d;
114 }
115 static void
D11(void)116 D11(void)
117 {
118 R.s = (uchar*)&R.PC->s.imm;
119 R.d = R.FP+R.PC->d.ind;
120 R.m = R.d;
121 }
122 static void
D12(void)123 D12(void)
124 {
125 R.s = (uchar*)&R.PC->s.imm;
126 R.d = (uchar*)&R.PC->d.imm;
127 R.m = R.d;
128 }
129 static void
D13(void)130 D13(void)
131 {
132 R.s = (uchar*)&R.PC->s.imm;
133 }
134 static void
D14(void)135 D14(void)
136 {
137 R.s = (uchar*)&R.PC->s.imm;
138 R.d = DIND(MP, d);
139 R.m = R.d;
140 }
141 static void
D15(void)142 D15(void)
143 {
144 R.s = (uchar*)&R.PC->s.imm;
145 R.d = DIND(FP, d);
146 R.m = R.d;
147 }
148 static void
D16(void)149 D16(void)
150 {
151 R.s = (uchar*)&R.PC->s.imm;
152 }
153 static void
D17(void)154 D17(void)
155 {
156 R.s = (uchar*)&R.PC->s.imm;
157 }
158 static void
D18(void)159 D18(void)
160 {
161 R.d = R.MP+R.PC->d.ind;
162 R.m = R.d;
163 }
164 static void
D19(void)165 D19(void)
166 {
167 R.d = R.FP+R.PC->d.ind;
168 R.m = R.d;
169 }
170 static void
D1A(void)171 D1A(void)
172 {
173 R.d = (uchar*)&R.PC->d.imm;
174 R.m = R.d;
175 }
176 static void
D1B(void)177 D1B(void)
178 {
179 }
180 static void
D1C(void)181 D1C(void)
182 {
183 R.d = DIND(MP, d);
184 R.m = R.d;
185 }
186 static void
D1D(void)187 D1D(void)
188 {
189 R.d = DIND(FP, d);
190 R.m = R.d;
191 }
192 static void
D1E(void)193 D1E(void)
194 {
195 }
196 static void
D1F(void)197 D1F(void)
198 {
199 }
200 static void
D20(void)201 D20(void)
202 {
203 R.s = DIND(MP, s);
204 R.d = R.MP+R.PC->d.ind;
205 R.m = R.d;
206 }
207 static void
D21(void)208 D21(void)
209 {
210 R.s = DIND(MP, s);
211 R.d = R.FP+R.PC->d.ind;
212 R.m = R.d;
213 }
214 static void
D22(void)215 D22(void)
216 {
217 R.s = DIND(MP, s);
218 R.d = (uchar*)&R.PC->d.imm;
219 R.m = R.d;
220 }
221 static void
D23(void)222 D23(void)
223 {
224 R.s = DIND(MP, s);
225 }
226 static void
D24(void)227 D24(void)
228 {
229 R.s = DIND(MP, s);
230 R.d = DIND(MP, d);
231 R.m = R.d;
232 }
233 static void
D25(void)234 D25(void)
235 {
236 R.s = DIND(MP, s);
237 R.d = DIND(FP, d);
238 R.m = R.d;
239 }
240 static void
D26(void)241 D26(void)
242 {
243 R.s = DIND(MP, s);
244 }
245 static void
D27(void)246 D27(void)
247 {
248 R.s = DIND(MP, s);
249 }
250 static void
D28(void)251 D28(void)
252 {
253 R.s = DIND(FP, s);
254 R.d = R.MP+R.PC->d.ind;
255 R.m = R.d;
256 }
257 static void
D29(void)258 D29(void)
259 {
260 R.s = DIND(FP, s);
261 R.d = R.FP+R.PC->d.ind;
262 R.m = R.d;
263 }
264 static void
D2A(void)265 D2A(void)
266 {
267 R.s = DIND(FP, s);
268 R.d = (uchar*)&R.PC->d.imm;
269 R.m = R.d;
270 }
271 static void
D2B(void)272 D2B(void)
273 {
274 R.s = DIND(FP, s);
275 }
276 static void
D2C(void)277 D2C(void)
278 {
279 R.s = DIND(FP, s);
280 R.d = DIND(MP, d);
281 R.m = R.d;
282 }
283 static void
D2D(void)284 D2D(void)
285 {
286 R.s = DIND(FP, s);
287 R.d = DIND(FP, d);
288 R.m = R.d;
289 }
290 static void
D2E(void)291 D2E(void)
292 {
293 R.s = DIND(FP, s);
294 }
295 static void
D2F(void)296 D2F(void)
297 {
298 R.s = DIND(FP, s);
299 }
300 static void
D30(void)301 D30(void)
302 {
303 R.d = R.MP+R.PC->d.ind;
304 R.m = R.d;
305 }
306 static void
D31(void)307 D31(void)
308 {
309 R.d = R.FP+R.PC->d.ind;
310 R.m = R.d;
311 }
312 static void
D32(void)313 D32(void)
314 {
315 R.d = (uchar*)&R.PC->d.imm;
316 R.m = R.d;
317 }
318 static void
D33(void)319 D33(void)
320 {
321 }
322 static void
D34(void)323 D34(void)
324 {
325 R.d = DIND(MP, d);
326 R.m = R.d;
327 }
328 static void
D35(void)329 D35(void)
330 {
331 R.d = DIND(FP, d);
332 R.m = R.d;
333 }
334 static void
D36(void)335 D36(void)
336 {
337 }
338 static void
D37(void)339 D37(void)
340 {
341 }
342 static void
D38(void)343 D38(void)
344 {
345 R.d = R.MP+R.PC->d.ind;
346 R.m = R.d;
347 }
348 static void
D39(void)349 D39(void)
350 {
351 R.d = R.FP+R.PC->d.ind;
352 R.m = R.d;
353 }
354 static void
D3A(void)355 D3A(void)
356 {
357 R.d = (uchar*)&R.PC->d.imm;
358 R.m = R.d;
359 }
360 static void
D3B(void)361 D3B(void)
362 {
363 }
364 static void
D3C(void)365 D3C(void)
366 {
367 R.d = DIND(MP, d);
368 R.m = R.d;
369 }
370 static void
D3D(void)371 D3D(void)
372 {
373 R.d = DIND(FP, d);
374 R.m = R.d;
375 }
376 static void
D3E(void)377 D3E(void)
378 {
379 }
380 static void
D3F(void)381 D3F(void)
382 {
383 }
384 static void
D40(void)385 D40(void)
386 {
387 R.s = R.MP+R.PC->s.ind;
388 R.d = R.MP+R.PC->d.ind;
389 R.t = (short)R.PC->reg;
390 R.m = &R.t;
391 }
392 static void
D41(void)393 D41(void)
394 {
395 R.s = R.MP+R.PC->s.ind;
396 R.d = R.FP+R.PC->d.ind;
397 R.t = (short)R.PC->reg;
398 R.m = &R.t;
399 }
400 static void
D42(void)401 D42(void)
402 {
403 R.s = R.MP+R.PC->s.ind;
404 R.d = (uchar*)&R.PC->d.imm;
405 R.t = (short)R.PC->reg;
406 R.m = &R.t;
407 }
408 static void
D43(void)409 D43(void)
410 {
411 R.s = R.MP+R.PC->s.ind;
412 }
413 static void
D44(void)414 D44(void)
415 {
416 R.s = R.MP+R.PC->s.ind;
417 R.d = DIND(MP, d);
418 R.t = (short)R.PC->reg;
419 R.m = &R.t;
420 }
421 static void
D45(void)422 D45(void)
423 {
424 R.s = R.MP+R.PC->s.ind;
425 R.d = DIND(FP, d);
426 R.t = (short)R.PC->reg;
427 R.m = &R.t;
428 }
429 static void
D46(void)430 D46(void)
431 {
432 R.s = R.MP+R.PC->s.ind;
433 }
434 static void
D47(void)435 D47(void)
436 {
437 R.s = R.MP+R.PC->s.ind;
438 }
439 static void
D48(void)440 D48(void)
441 {
442 R.s = R.FP+R.PC->s.ind;
443 R.d = R.MP+R.PC->d.ind;
444 R.t = (short)R.PC->reg;
445 R.m = &R.t;
446 }
447 static void
D49(void)448 D49(void)
449 {
450 R.s = R.FP+R.PC->s.ind;
451 R.d = R.FP+R.PC->d.ind;
452 R.t = (short)R.PC->reg;
453 R.m = &R.t;
454 }
455 static void
D4A(void)456 D4A(void)
457 {
458 R.s = R.FP+R.PC->s.ind;
459 R.d = (uchar*)&R.PC->d.imm;
460 R.t = (short)R.PC->reg;
461 R.m = &R.t;
462 }
463 static void
D4B(void)464 D4B(void)
465 {
466 R.s = R.FP+R.PC->s.ind;
467 }
468 static void
D4C(void)469 D4C(void)
470 {
471 R.s = R.FP+R.PC->s.ind;
472 R.d = DIND(MP, d);
473 R.t = (short)R.PC->reg;
474 R.m = &R.t;
475 }
476 static void
D4D(void)477 D4D(void)
478 {
479 R.s = R.FP+R.PC->s.ind;
480 R.d = DIND(FP, d);
481 R.t = (short)R.PC->reg;
482 R.m = &R.t;
483 }
484 static void
D4E(void)485 D4E(void)
486 {
487 R.s = R.FP+R.PC->s.ind;
488 }
489 static void
D4F(void)490 D4F(void)
491 {
492 R.s = R.FP+R.PC->s.ind;
493 }
494 static void
D50(void)495 D50(void)
496 {
497 R.s = (uchar*)&R.PC->s.imm;
498 R.d = R.MP+R.PC->d.ind;
499 R.t = (short)R.PC->reg;
500 R.m = &R.t;
501 }
502 static void
D51(void)503 D51(void)
504 {
505 R.s = (uchar*)&R.PC->s.imm;
506 R.d = R.FP+R.PC->d.ind;
507 R.t = (short)R.PC->reg;
508 R.m = &R.t;
509 }
510 static void
D52(void)511 D52(void)
512 {
513 R.s = (uchar*)&R.PC->s.imm;
514 R.d = (uchar*)&R.PC->d.imm;
515 R.t = (short)R.PC->reg;
516 R.m = &R.t;
517 }
518 static void
D53(void)519 D53(void)
520 {
521 R.s = (uchar*)&R.PC->s.imm;
522 }
523 static void
D54(void)524 D54(void)
525 {
526 R.s = (uchar*)&R.PC->s.imm;
527 R.d = DIND(MP, d);
528 R.t = (short)R.PC->reg;
529 R.m = &R.t;
530 }
531 static void
D55(void)532 D55(void)
533 {
534 R.s = (uchar*)&R.PC->s.imm;
535 R.d = DIND(FP, d);
536 R.t = (short)R.PC->reg;
537 R.m = &R.t;
538 }
539 static void
D56(void)540 D56(void)
541 {
542 R.s = (uchar*)&R.PC->s.imm;
543 }
544 static void
D57(void)545 D57(void)
546 {
547 R.s = (uchar*)&R.PC->s.imm;
548 }
549 static void
D58(void)550 D58(void)
551 {
552 R.d = R.MP+R.PC->d.ind;
553 R.t = (short)R.PC->reg;
554 R.m = &R.t;
555 }
556 static void
D59(void)557 D59(void)
558 {
559 R.d = R.FP+R.PC->d.ind;
560 R.t = (short)R.PC->reg;
561 R.m = &R.t;
562 }
563 static void
D5A(void)564 D5A(void)
565 {
566 R.d = (uchar*)&R.PC->d.imm;
567 R.t = (short)R.PC->reg;
568 R.m = &R.t;
569 }
570 static void
D5B(void)571 D5B(void)
572 {
573 }
574 static void
D5C(void)575 D5C(void)
576 {
577 R.d = DIND(MP, d);
578 R.t = (short)R.PC->reg;
579 R.m = &R.t;
580 }
581 static void
D5D(void)582 D5D(void)
583 {
584 R.d = DIND(FP, d);
585 R.t = (short)R.PC->reg;
586 R.m = &R.t;
587 }
588 static void
D5E(void)589 D5E(void)
590 {
591 }
592 static void
D5F(void)593 D5F(void)
594 {
595 }
596 static void
D60(void)597 D60(void)
598 {
599 R.s = DIND(MP, s);
600 R.d = R.MP+R.PC->d.ind;
601 R.t = (short)R.PC->reg;
602 R.m = &R.t;
603 }
604 static void
D61(void)605 D61(void)
606 {
607 R.s = DIND(MP, s);
608 R.d = R.FP+R.PC->d.ind;
609 R.t = (short)R.PC->reg;
610 R.m = &R.t;
611 }
612 static void
D62(void)613 D62(void)
614 {
615 R.s = DIND(MP, s);
616 R.d = (uchar*)&R.PC->d.imm;
617 R.t = (short)R.PC->reg;
618 R.m = &R.t;
619 }
620 static void
D63(void)621 D63(void)
622 {
623 R.s = DIND(MP, s);
624 }
625 static void
D64(void)626 D64(void)
627 {
628 R.s = DIND(MP, s);
629 R.d = DIND(MP, d);
630 R.t = (short)R.PC->reg;
631 R.m = &R.t;
632 }
633 static void
D65(void)634 D65(void)
635 {
636 R.s = DIND(MP, s);
637 R.d = DIND(FP, d);
638 R.t = (short)R.PC->reg;
639 R.m = &R.t;
640 }
641 static void
D66(void)642 D66(void)
643 {
644 R.s = DIND(MP, s);
645 }
646 static void
D67(void)647 D67(void)
648 {
649 R.s = DIND(MP, s);
650 }
651 static void
D68(void)652 D68(void)
653 {
654 R.s = DIND(FP, s);
655 R.d = R.MP+R.PC->d.ind;
656 R.t = (short)R.PC->reg;
657 R.m = &R.t;
658 }
659 static void
D69(void)660 D69(void)
661 {
662 R.s = DIND(FP, s);
663 R.d = R.FP+R.PC->d.ind;
664 R.t = (short)R.PC->reg;
665 R.m = &R.t;
666 }
667 static void
D6A(void)668 D6A(void)
669 {
670 R.s = DIND(FP, s);
671 R.d = (uchar*)&R.PC->d.imm;
672 R.t = (short)R.PC->reg;
673 R.m = &R.t;
674 }
675 static void
D6B(void)676 D6B(void)
677 {
678 R.s = DIND(FP, s);
679 }
680 static void
D6C(void)681 D6C(void)
682 {
683 R.s = DIND(FP, s);
684 R.d = DIND(MP, d);
685 R.t = (short)R.PC->reg;
686 R.m = &R.t;
687 }
688 static void
D6D(void)689 D6D(void)
690 {
691 R.s = DIND(FP, s);
692 R.d = DIND(FP, d);
693 R.t = (short)R.PC->reg;
694 R.m = &R.t;
695 }
696 static void
D6E(void)697 D6E(void)
698 {
699 R.s = DIND(FP, s);
700 }
701 static void
D6F(void)702 D6F(void)
703 {
704 R.s = DIND(FP, s);
705 }
706 static void
D70(void)707 D70(void)
708 {
709 R.d = R.MP+R.PC->d.ind;
710 R.t = (short)R.PC->reg;
711 R.m = &R.t;
712 }
713 static void
D71(void)714 D71(void)
715 {
716 R.d = R.FP+R.PC->d.ind;
717 R.t = (short)R.PC->reg;
718 R.m = &R.t;
719 }
720 static void
D72(void)721 D72(void)
722 {
723 R.d = (uchar*)&R.PC->d.imm;
724 R.t = (short)R.PC->reg;
725 R.m = &R.t;
726 }
727 static void
D73(void)728 D73(void)
729 {
730 }
731 static void
D74(void)732 D74(void)
733 {
734 R.d = DIND(MP, d);
735 R.t = (short)R.PC->reg;
736 R.m = &R.t;
737 }
738 static void
D75(void)739 D75(void)
740 {
741 R.d = DIND(FP, d);
742 R.t = (short)R.PC->reg;
743 R.m = &R.t;
744 }
745 static void
D76(void)746 D76(void)
747 {
748 }
749 static void
D77(void)750 D77(void)
751 {
752 }
753 static void
D78(void)754 D78(void)
755 {
756 R.d = R.MP+R.PC->d.ind;
757 R.t = (short)R.PC->reg;
758 R.m = &R.t;
759 }
760 static void
D79(void)761 D79(void)
762 {
763 R.d = R.FP+R.PC->d.ind;
764 R.t = (short)R.PC->reg;
765 R.m = &R.t;
766 }
767 static void
D7A(void)768 D7A(void)
769 {
770 R.d = (uchar*)&R.PC->d.imm;
771 R.t = (short)R.PC->reg;
772 R.m = &R.t;
773 }
774 static void
D7B(void)775 D7B(void)
776 {
777 }
778 static void
D7C(void)779 D7C(void)
780 {
781 R.d = DIND(MP, d);
782 R.t = (short)R.PC->reg;
783 R.m = &R.t;
784 }
785 static void
D7D(void)786 D7D(void)
787 {
788 R.d = DIND(FP, d);
789 R.t = (short)R.PC->reg;
790 R.m = &R.t;
791 }
792 static void
D7E(void)793 D7E(void)
794 {
795 }
796 static void
D7F(void)797 D7F(void)
798 {
799 }
800 static void
D80(void)801 D80(void)
802 {
803 R.s = R.MP+R.PC->s.ind;
804 R.d = R.MP+R.PC->d.ind;
805 R.m = R.FP+R.PC->reg;
806 }
807 static void
D81(void)808 D81(void)
809 {
810 R.s = R.MP+R.PC->s.ind;
811 R.d = R.FP+R.PC->d.ind;
812 R.m = R.FP+R.PC->reg;
813 }
814 static void
D82(void)815 D82(void)
816 {
817 R.s = R.MP+R.PC->s.ind;
818 R.d = (uchar*)&R.PC->d.imm;
819 R.m = R.FP+R.PC->reg;
820 }
821 static void
D83(void)822 D83(void)
823 {
824 R.s = R.MP+R.PC->s.ind;
825 }
826 static void
D84(void)827 D84(void)
828 {
829 R.s = R.MP+R.PC->s.ind;
830 R.d = DIND(MP, d);
831 R.m = R.FP+R.PC->reg;
832 }
833 static void
D85(void)834 D85(void)
835 {
836 R.s = R.MP+R.PC->s.ind;
837 R.d = DIND(FP, d);
838 R.m = R.FP+R.PC->reg;
839 }
840 static void
D86(void)841 D86(void)
842 {
843 R.s = R.MP+R.PC->s.ind;
844 }
845 static void
D87(void)846 D87(void)
847 {
848 R.s = R.MP+R.PC->s.ind;
849 }
850 static void
D88(void)851 D88(void)
852 {
853 R.s = R.FP+R.PC->s.ind;
854 R.d = R.MP+R.PC->d.ind;
855 R.m = R.FP+R.PC->reg;
856 }
857 static void
D89(void)858 D89(void)
859 {
860 R.s = R.FP+R.PC->s.ind;
861 R.d = R.FP+R.PC->d.ind;
862 R.m = R.FP+R.PC->reg;
863 }
864 static void
D8A(void)865 D8A(void)
866 {
867 R.s = R.FP+R.PC->s.ind;
868 R.d = (uchar*)&R.PC->d.imm;
869 R.m = R.FP+R.PC->reg;
870 }
871 static void
D8B(void)872 D8B(void)
873 {
874 R.s = R.FP+R.PC->s.ind;
875 }
876 static void
D8C(void)877 D8C(void)
878 {
879 R.s = R.FP+R.PC->s.ind;
880 R.d = DIND(MP, d);
881 R.m = R.FP+R.PC->reg;
882 }
883 static void
D8D(void)884 D8D(void)
885 {
886 R.s = R.FP+R.PC->s.ind;
887 R.d = DIND(FP, d);
888 R.m = R.FP+R.PC->reg;
889 }
890 static void
D8E(void)891 D8E(void)
892 {
893 R.s = R.FP+R.PC->s.ind;
894 }
895 static void
D8F(void)896 D8F(void)
897 {
898 R.s = R.FP+R.PC->s.ind;
899 }
900 static void
D90(void)901 D90(void)
902 {
903 R.s = (uchar*)&R.PC->s.imm;
904 R.d = R.MP+R.PC->d.ind;
905 R.m = R.FP+R.PC->reg;
906 }
907 static void
D91(void)908 D91(void)
909 {
910 R.s = (uchar*)&R.PC->s.imm;
911 R.d = R.FP+R.PC->d.ind;
912 R.m = R.FP+R.PC->reg;
913 }
914 static void
D92(void)915 D92(void)
916 {
917 R.s = (uchar*)&R.PC->s.imm;
918 R.d = (uchar*)&R.PC->d.imm;
919 R.m = R.FP+R.PC->reg;
920 }
921 static void
D93(void)922 D93(void)
923 {
924 R.s = (uchar*)&R.PC->s.imm;
925 }
926 static void
D94(void)927 D94(void)
928 {
929 R.s = (uchar*)&R.PC->s.imm;
930 R.d = DIND(MP, d);
931 R.m = R.FP+R.PC->reg;
932 }
933 static void
D95(void)934 D95(void)
935 {
936 R.s = (uchar*)&R.PC->s.imm;
937 R.d = DIND(FP, d);
938 R.m = R.FP+R.PC->reg;
939 }
940 static void
D96(void)941 D96(void)
942 {
943 R.s = (uchar*)&R.PC->s.imm;
944 }
945 static void
D97(void)946 D97(void)
947 {
948 R.s = (uchar*)&R.PC->s.imm;
949 }
950 static void
D98(void)951 D98(void)
952 {
953 R.d = R.MP+R.PC->d.ind;
954 R.m = R.FP+R.PC->reg;
955 }
956 static void
D99(void)957 D99(void)
958 {
959 R.d = R.FP+R.PC->d.ind;
960 R.m = R.FP+R.PC->reg;
961 }
962 static void
D9A(void)963 D9A(void)
964 {
965 R.d = (uchar*)&R.PC->d.imm;
966 R.m = R.FP+R.PC->reg;
967 }
968 static void
D9B(void)969 D9B(void)
970 {
971 }
972 static void
D9C(void)973 D9C(void)
974 {
975 R.d = DIND(MP, d);
976 R.m = R.FP+R.PC->reg;
977 }
978 static void
D9D(void)979 D9D(void)
980 {
981 R.d = DIND(FP, d);
982 R.m = R.FP+R.PC->reg;
983 }
984 static void
D9E(void)985 D9E(void)
986 {
987 }
988 static void
D9F(void)989 D9F(void)
990 {
991 }
992 static void
DA0(void)993 DA0(void)
994 {
995 R.s = DIND(MP, s);
996 R.d = R.MP+R.PC->d.ind;
997 R.m = R.FP+R.PC->reg;
998 }
999 static void
DA1(void)1000 DA1(void)
1001 {
1002 R.s = DIND(MP, s);
1003 R.d = R.FP+R.PC->d.ind;
1004 R.m = R.FP+R.PC->reg;
1005 }
1006 static void
DA2(void)1007 DA2(void)
1008 {
1009 R.s = DIND(MP, s);
1010 R.d = (uchar*)&R.PC->d.imm;
1011 R.m = R.FP+R.PC->reg;
1012 }
1013 static void
DA3(void)1014 DA3(void)
1015 {
1016 R.s = DIND(MP, s);
1017 }
1018 static void
DA4(void)1019 DA4(void)
1020 {
1021 R.s = DIND(MP, s);
1022 R.d = DIND(MP, d);
1023 R.m = R.FP+R.PC->reg;
1024 }
1025 static void
DA5(void)1026 DA5(void)
1027 {
1028 R.s = DIND(MP, s);
1029 R.d = DIND(FP, d);
1030 R.m = R.FP+R.PC->reg;
1031 }
1032 static void
DA6(void)1033 DA6(void)
1034 {
1035 R.s = DIND(MP, s);
1036 }
1037 static void
DA7(void)1038 DA7(void)
1039 {
1040 R.s = DIND(MP, s);
1041 }
1042 static void
DA8(void)1043 DA8(void)
1044 {
1045 R.s = DIND(FP, s);
1046 R.d = R.MP+R.PC->d.ind;
1047 R.m = R.FP+R.PC->reg;
1048 }
1049 static void
DA9(void)1050 DA9(void)
1051 {
1052 R.s = DIND(FP, s);
1053 R.d = R.FP+R.PC->d.ind;
1054 R.m = R.FP+R.PC->reg;
1055 }
1056 static void
DAA(void)1057 DAA(void)
1058 {
1059 R.s = DIND(FP, s);
1060 R.d = (uchar*)&R.PC->d.imm;
1061 R.m = R.FP+R.PC->reg;
1062 }
1063 static void
DAB(void)1064 DAB(void)
1065 {
1066 R.s = DIND(FP, s);
1067 }
1068 static void
DAC(void)1069 DAC(void)
1070 {
1071 R.s = DIND(FP, s);
1072 R.d = DIND(MP, d);
1073 R.m = R.FP+R.PC->reg;
1074 }
1075 static void
DAD(void)1076 DAD(void)
1077 {
1078 R.s = DIND(FP, s);
1079 R.d = DIND(FP, d);
1080 R.m = R.FP+R.PC->reg;
1081 }
1082 static void
DAE(void)1083 DAE(void)
1084 {
1085 R.s = DIND(FP, s);
1086 }
1087 static void
DAF(void)1088 DAF(void)
1089 {
1090 R.s = DIND(FP, s);
1091 }
1092 static void
DB0(void)1093 DB0(void)
1094 {
1095 R.d = R.MP+R.PC->d.ind;
1096 R.m = R.FP+R.PC->reg;
1097 }
1098 static void
DB1(void)1099 DB1(void)
1100 {
1101 R.d = R.FP+R.PC->d.ind;
1102 R.m = R.FP+R.PC->reg;
1103 }
1104 static void
DB2(void)1105 DB2(void)
1106 {
1107 R.d = (uchar*)&R.PC->d.imm;
1108 R.m = R.FP+R.PC->reg;
1109 }
1110 static void
DB3(void)1111 DB3(void)
1112 {
1113 }
1114 static void
DB4(void)1115 DB4(void)
1116 {
1117 R.d = DIND(MP, d);
1118 R.m = R.FP+R.PC->reg;
1119 }
1120 static void
DB5(void)1121 DB5(void)
1122 {
1123 R.d = DIND(FP, d);
1124 R.m = R.FP+R.PC->reg;
1125 }
1126 static void
DB6(void)1127 DB6(void)
1128 {
1129 }
1130 static void
DB7(void)1131 DB7(void)
1132 {
1133 }
1134 static void
DB8(void)1135 DB8(void)
1136 {
1137 R.d = R.MP+R.PC->d.ind;
1138 R.m = R.FP+R.PC->reg;
1139 }
1140 static void
DB9(void)1141 DB9(void)
1142 {
1143 R.d = R.FP+R.PC->d.ind;
1144 R.m = R.FP+R.PC->reg;
1145 }
1146 static void
DBA(void)1147 DBA(void)
1148 {
1149 R.d = (uchar*)&R.PC->d.imm;
1150 R.m = R.FP+R.PC->reg;
1151 }
1152 static void
DBB(void)1153 DBB(void)
1154 {
1155 }
1156 static void
DBC(void)1157 DBC(void)
1158 {
1159 R.d = DIND(MP, d);
1160 R.m = R.FP+R.PC->reg;
1161 }
1162 static void
DBD(void)1163 DBD(void)
1164 {
1165 R.d = DIND(FP, d);
1166 R.m = R.FP+R.PC->reg;
1167 }
1168 static void
DBE(void)1169 DBE(void)
1170 {
1171 }
1172 static void
DBF(void)1173 DBF(void)
1174 {
1175 }
1176 static void
DC0(void)1177 DC0(void)
1178 {
1179 R.s = R.MP+R.PC->s.ind;
1180 R.d = R.MP+R.PC->d.ind;
1181 R.m = R.MP+R.PC->reg;
1182 }
1183 static void
DC1(void)1184 DC1(void)
1185 {
1186 R.s = R.MP+R.PC->s.ind;
1187 R.d = R.FP+R.PC->d.ind;
1188 R.m = R.MP+R.PC->reg;
1189 }
1190 static void
DC2(void)1191 DC2(void)
1192 {
1193 R.s = R.MP+R.PC->s.ind;
1194 R.d = (uchar*)&R.PC->d.imm;
1195 R.m = R.MP+R.PC->reg;
1196 }
1197 static void
DC3(void)1198 DC3(void)
1199 {
1200 R.s = R.MP+R.PC->s.ind;
1201 }
1202 static void
DC4(void)1203 DC4(void)
1204 {
1205 R.s = R.MP+R.PC->s.ind;
1206 R.d = DIND(MP, d);
1207 R.m = R.MP+R.PC->reg;
1208 }
1209 static void
DC5(void)1210 DC5(void)
1211 {
1212 R.s = R.MP+R.PC->s.ind;
1213 R.d = DIND(FP, d);
1214 R.m = R.MP+R.PC->reg;
1215 }
1216 static void
DC6(void)1217 DC6(void)
1218 {
1219 R.s = R.MP+R.PC->s.ind;
1220 }
1221 static void
DC7(void)1222 DC7(void)
1223 {
1224 R.s = R.MP+R.PC->s.ind;
1225 }
1226 static void
DC8(void)1227 DC8(void)
1228 {
1229 R.s = R.FP+R.PC->s.ind;
1230 R.d = R.MP+R.PC->d.ind;
1231 R.m = R.MP+R.PC->reg;
1232 }
1233 static void
DC9(void)1234 DC9(void)
1235 {
1236 R.s = R.FP+R.PC->s.ind;
1237 R.d = R.FP+R.PC->d.ind;
1238 R.m = R.MP+R.PC->reg;
1239 }
1240 static void
DCA(void)1241 DCA(void)
1242 {
1243 R.s = R.FP+R.PC->s.ind;
1244 R.d = (uchar*)&R.PC->d.imm;
1245 R.m = R.MP+R.PC->reg;
1246 }
1247 static void
DCB(void)1248 DCB(void)
1249 {
1250 R.s = R.FP+R.PC->s.ind;
1251 }
1252 static void
DCC(void)1253 DCC(void)
1254 {
1255 R.s = R.FP+R.PC->s.ind;
1256 R.d = DIND(MP, d);
1257 R.m = R.MP+R.PC->reg;
1258 }
1259 static void
DCD(void)1260 DCD(void)
1261 {
1262 R.s = R.FP+R.PC->s.ind;
1263 R.d = DIND(FP, d);
1264 R.m = R.MP+R.PC->reg;
1265 }
1266 static void
DCE(void)1267 DCE(void)
1268 {
1269 R.s = R.FP+R.PC->s.ind;
1270 }
1271 static void
DCF(void)1272 DCF(void)
1273 {
1274 R.s = R.FP+R.PC->s.ind;
1275 }
1276 static void
DD0(void)1277 DD0(void)
1278 {
1279 R.s = (uchar*)&R.PC->s.imm;
1280 R.d = R.MP+R.PC->d.ind;
1281 R.m = R.MP+R.PC->reg;
1282 }
1283 static void
DD1(void)1284 DD1(void)
1285 {
1286 R.s = (uchar*)&R.PC->s.imm;
1287 R.d = R.FP+R.PC->d.ind;
1288 R.m = R.MP+R.PC->reg;
1289 }
1290 static void
DD2(void)1291 DD2(void)
1292 {
1293 R.s = (uchar*)&R.PC->s.imm;
1294 R.d = (uchar*)&R.PC->d.imm;
1295 R.m = R.MP+R.PC->reg;
1296 }
1297 static void
DD3(void)1298 DD3(void)
1299 {
1300 R.s = (uchar*)&R.PC->s.imm;
1301 }
1302 static void
DD4(void)1303 DD4(void)
1304 {
1305 R.s = (uchar*)&R.PC->s.imm;
1306 R.d = DIND(MP, d);
1307 R.m = R.MP+R.PC->reg;
1308 }
1309 static void
DD5(void)1310 DD5(void)
1311 {
1312 R.s = (uchar*)&R.PC->s.imm;
1313 R.d = DIND(FP, d);
1314 R.m = R.MP+R.PC->reg;
1315 }
1316 static void
DD6(void)1317 DD6(void)
1318 {
1319 R.s = (uchar*)&R.PC->s.imm;
1320 }
1321 static void
DD7(void)1322 DD7(void)
1323 {
1324 R.s = (uchar*)&R.PC->s.imm;
1325 }
1326 static void
DD8(void)1327 DD8(void)
1328 {
1329 R.d = R.MP+R.PC->d.ind;
1330 R.m = R.MP+R.PC->reg;
1331 }
1332 static void
DD9(void)1333 DD9(void)
1334 {
1335 R.d = R.FP+R.PC->d.ind;
1336 R.m = R.MP+R.PC->reg;
1337 }
1338 static void
DDA(void)1339 DDA(void)
1340 {
1341 R.d = (uchar*)&R.PC->d.imm;
1342 R.m = R.MP+R.PC->reg;
1343 }
1344 static void
DDB(void)1345 DDB(void)
1346 {
1347 }
1348 static void
DDC(void)1349 DDC(void)
1350 {
1351 R.d = DIND(MP, d);
1352 R.m = R.MP+R.PC->reg;
1353 }
1354 static void
DDD(void)1355 DDD(void)
1356 {
1357 R.d = DIND(FP, d);
1358 R.m = R.MP+R.PC->reg;
1359 }
1360 static void
DDE(void)1361 DDE(void)
1362 {
1363 }
1364 static void
DDF(void)1365 DDF(void)
1366 {
1367 }
1368 static void
DE0(void)1369 DE0(void)
1370 {
1371 R.s = DIND(MP, s);
1372 R.d = R.MP+R.PC->d.ind;
1373 R.m = R.MP+R.PC->reg;
1374 }
1375 static void
DE1(void)1376 DE1(void)
1377 {
1378 R.s = DIND(MP, s);
1379 R.d = R.FP+R.PC->d.ind;
1380 R.m = R.MP+R.PC->reg;
1381 }
1382 static void
DE2(void)1383 DE2(void)
1384 {
1385 R.s = DIND(MP, s);
1386 R.d = (uchar*)&R.PC->d.imm;
1387 R.m = R.MP+R.PC->reg;
1388 }
1389 static void
DE3(void)1390 DE3(void)
1391 {
1392 R.s = DIND(MP, s);
1393 }
1394 static void
DE4(void)1395 DE4(void)
1396 {
1397 R.s = DIND(MP, s);
1398 R.d = DIND(MP, d);
1399 R.m = R.MP+R.PC->reg;
1400 }
1401 static void
DE5(void)1402 DE5(void)
1403 {
1404 R.s = DIND(MP, s);
1405 R.d = DIND(FP, d);
1406 R.m = R.MP+R.PC->reg;
1407 }
1408 static void
DE6(void)1409 DE6(void)
1410 {
1411 R.s = DIND(MP, s);
1412 }
1413 static void
DE7(void)1414 DE7(void)
1415 {
1416 R.s = DIND(MP, s);
1417 }
1418 static void
DE8(void)1419 DE8(void)
1420 {
1421 R.s = DIND(FP, s);
1422 R.d = R.MP+R.PC->d.ind;
1423 R.m = R.MP+R.PC->reg;
1424 }
1425 static void
DE9(void)1426 DE9(void)
1427 {
1428 R.s = DIND(FP, s);
1429 R.d = R.FP+R.PC->d.ind;
1430 R.m = R.MP+R.PC->reg;
1431 }
1432 static void
DEA(void)1433 DEA(void)
1434 {
1435 R.s = DIND(FP, s);
1436 R.d = (uchar*)&R.PC->d.imm;
1437 R.m = R.MP+R.PC->reg;
1438 }
1439 static void
DEB(void)1440 DEB(void)
1441 {
1442 R.s = DIND(FP, s);
1443 }
1444 static void
DEC(void)1445 DEC(void)
1446 {
1447 R.s = DIND(FP, s);
1448 R.d = DIND(MP, d);
1449 R.m = R.MP+R.PC->reg;
1450 }
1451 static void
DED(void)1452 DED(void)
1453 {
1454 R.s = DIND(FP, s);
1455 R.d = DIND(FP, d);
1456 R.m = R.MP+R.PC->reg;
1457 }
1458 static void
DEE(void)1459 DEE(void)
1460 {
1461 R.s = DIND(FP, s);
1462 }
1463 static void
DEF(void)1464 DEF(void)
1465 {
1466 R.s = DIND(FP, s);
1467 }
1468 static void
DF0(void)1469 DF0(void)
1470 {
1471 R.d = R.MP+R.PC->d.ind;
1472 R.m = R.MP+R.PC->reg;
1473 }
1474 static void
DF1(void)1475 DF1(void)
1476 {
1477 R.d = R.FP+R.PC->d.ind;
1478 R.m = R.MP+R.PC->reg;
1479 }
1480 static void
DF2(void)1481 DF2(void)
1482 {
1483 R.d = (uchar*)&R.PC->d.imm;
1484 R.m = R.MP+R.PC->reg;
1485 }
1486 static void
DF3(void)1487 DF3(void)
1488 {
1489 }
1490 static void
DF4(void)1491 DF4(void)
1492 {
1493 R.d = DIND(MP, d);
1494 R.m = R.MP+R.PC->reg;
1495 }
1496 static void
DF5(void)1497 DF5(void)
1498 {
1499 R.d = DIND(FP, d);
1500 R.m = R.MP+R.PC->reg;
1501 }
1502 static void
DF6(void)1503 DF6(void)
1504 {
1505 }
1506 static void
DF7(void)1507 DF7(void)
1508 {
1509 }
1510 static void
DF8(void)1511 DF8(void)
1512 {
1513 R.d = R.MP+R.PC->d.ind;
1514 R.m = R.MP+R.PC->reg;
1515 }
1516 static void
DF9(void)1517 DF9(void)
1518 {
1519 R.d = R.FP+R.PC->d.ind;
1520 R.m = R.MP+R.PC->reg;
1521 }
1522 static void
DFA(void)1523 DFA(void)
1524 {
1525 R.d = (uchar*)&R.PC->d.imm;
1526 R.m = R.MP+R.PC->reg;
1527 }
1528 static void
DFB(void)1529 DFB(void)
1530 {
1531 }
1532 static void
DFC(void)1533 DFC(void)
1534 {
1535 R.d = DIND(MP, d);
1536 R.m = R.MP+R.PC->reg;
1537 }
1538 static void
DFD(void)1539 DFD(void)
1540 {
1541 R.d = DIND(FP, d);
1542 R.m = R.MP+R.PC->reg;
1543 }
1544 static void
DFE(void)1545 DFE(void)
1546 {
1547 }
1548 static void
DFF(void)1549 DFF(void)
1550 {
1551 }
1552
1553 void (*dec[])(void) =
1554 {
1555 D00,
1556 D01,
1557 D02,
1558 D03,
1559 D04,
1560 D05,
1561 D06,
1562 D07,
1563 D08,
1564 D09,
1565 D0A,
1566 D0B,
1567 D0C,
1568 D0D,
1569 D0E,
1570 D0F,
1571 D10,
1572 D11,
1573 D12,
1574 D13,
1575 D14,
1576 D15,
1577 D16,
1578 D17,
1579 D18,
1580 D19,
1581 D1A,
1582 D1B,
1583 D1C,
1584 D1D,
1585 D1E,
1586 D1F,
1587 D20,
1588 D21,
1589 D22,
1590 D23,
1591 D24,
1592 D25,
1593 D26,
1594 D27,
1595 D28,
1596 D29,
1597 D2A,
1598 D2B,
1599 D2C,
1600 D2D,
1601 D2E,
1602 D2F,
1603 D30,
1604 D31,
1605 D32,
1606 D33,
1607 D34,
1608 D35,
1609 D36,
1610 D37,
1611 D38,
1612 D39,
1613 D3A,
1614 D3B,
1615 D3C,
1616 D3D,
1617 D3E,
1618 D3F,
1619 D40,
1620 D41,
1621 D42,
1622 D43,
1623 D44,
1624 D45,
1625 D46,
1626 D47,
1627 D48,
1628 D49,
1629 D4A,
1630 D4B,
1631 D4C,
1632 D4D,
1633 D4E,
1634 D4F,
1635 D50,
1636 D51,
1637 D52,
1638 D53,
1639 D54,
1640 D55,
1641 D56,
1642 D57,
1643 D58,
1644 D59,
1645 D5A,
1646 D5B,
1647 D5C,
1648 D5D,
1649 D5E,
1650 D5F,
1651 D60,
1652 D61,
1653 D62,
1654 D63,
1655 D64,
1656 D65,
1657 D66,
1658 D67,
1659 D68,
1660 D69,
1661 D6A,
1662 D6B,
1663 D6C,
1664 D6D,
1665 D6E,
1666 D6F,
1667 D70,
1668 D71,
1669 D72,
1670 D73,
1671 D74,
1672 D75,
1673 D76,
1674 D77,
1675 D78,
1676 D79,
1677 D7A,
1678 D7B,
1679 D7C,
1680 D7D,
1681 D7E,
1682 D7F,
1683 D80,
1684 D81,
1685 D82,
1686 D83,
1687 D84,
1688 D85,
1689 D86,
1690 D87,
1691 D88,
1692 D89,
1693 D8A,
1694 D8B,
1695 D8C,
1696 D8D,
1697 D8E,
1698 D8F,
1699 D90,
1700 D91,
1701 D92,
1702 D93,
1703 D94,
1704 D95,
1705 D96,
1706 D97,
1707 D98,
1708 D99,
1709 D9A,
1710 D9B,
1711 D9C,
1712 D9D,
1713 D9E,
1714 D9F,
1715 DA0,
1716 DA1,
1717 DA2,
1718 DA3,
1719 DA4,
1720 DA5,
1721 DA6,
1722 DA7,
1723 DA8,
1724 DA9,
1725 DAA,
1726 DAB,
1727 DAC,
1728 DAD,
1729 DAE,
1730 DAF,
1731 DB0,
1732 DB1,
1733 DB2,
1734 DB3,
1735 DB4,
1736 DB5,
1737 DB6,
1738 DB7,
1739 DB8,
1740 DB9,
1741 DBA,
1742 DBB,
1743 DBC,
1744 DBD,
1745 DBE,
1746 DBF,
1747 DC0,
1748 DC1,
1749 DC2,
1750 DC3,
1751 DC4,
1752 DC5,
1753 DC6,
1754 DC7,
1755 DC8,
1756 DC9,
1757 DCA,
1758 DCB,
1759 DCC,
1760 DCD,
1761 DCE,
1762 DCF,
1763 DD0,
1764 DD1,
1765 DD2,
1766 DD3,
1767 DD4,
1768 DD5,
1769 DD6,
1770 DD7,
1771 DD8,
1772 DD9,
1773 DDA,
1774 DDB,
1775 DDC,
1776 DDD,
1777 DDE,
1778 DDF,
1779 DE0,
1780 DE1,
1781 DE2,
1782 DE3,
1783 DE4,
1784 DE5,
1785 DE6,
1786 DE7,
1787 DE8,
1788 DE9,
1789 DEA,
1790 DEB,
1791 DEC,
1792 DED,
1793 DEE,
1794 DEF,
1795 DF0,
1796 DF1,
1797 DF2,
1798 DF3,
1799 DF4,
1800 DF5,
1801 DF6,
1802 DF7,
1803 DF8,
1804 DF9,
1805 DFA,
1806 DFB,
1807 DFC,
1808 DFD,
1809 DFE,
1810 DFF
1811 };
1812