Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: opcodes/rl78-decode.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « opcodes/ppc-opc.c ('k') | opcodes/rl78-decode.opc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #line 1 "rl78-decode.opc" 1 #line 1 "rl78-decode.opc"
2 /* -*- c -*- */ 2 /* -*- c -*- */
3 #include "sysdep.h"
3 #include <stdio.h> 4 #include <stdio.h>
4 #include <stdlib.h> 5 #include <stdlib.h>
5 #include <string.h> 6 #include <string.h>
6
7 #include "config.h"
8 #include "ansidecl.h" 7 #include "ansidecl.h"
9 #include "opcode/rl78.h" 8 #include "opcode/rl78.h"
10 9
11 static int trace = 0; 10 static int trace = 0;
12 11
13 typedef struct 12 typedef struct
14 { 13 {
15 RL78_Opcode_Decoded * rl78; 14 RL78_Opcode_Decoded * rl78;
16 int (* getbyte)(void *); 15 int (* getbyte)(void *);
17 void * ptr; 16 void * ptr;
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 case 0x08: 255 case 0x08:
257 { 256 {
258 /** 0000 1000 xch a, x */ 257 /** 0000 1000 xch a, x */
259 if (trace) 258 if (trace)
260 { 259 {
261 printf ("\033[33m%s\033[0m %02x\n", 260 printf ("\033[33m%s\033[0m %02x\n",
262 "/** 0000 1000 xch a, x */", 261 "/** 0000 1000 xch a, x */",
263 op[0]); 262 op[0]);
264 } 263 }
265 SYNTAX("xch a, x"); 264 SYNTAX("xch a, x");
266 #line 1205 "rl78-decode.opc" 265 #line 1210 "rl78-decode.opc"
267 ID(xch); DR(A); SR(X); 266 ID(xch); DR(A); SR(X);
268 267
269 /*---------------------------------------------------------------------- */ 268 /*---------------------------------------------------------------------- */
270 269
271 } 270 }
272 break; 271 break;
273 case 0x09: 272 case 0x09:
274 { 273 {
275 /** 0000 1001 mov %0, %e1%1 */ 274 /** 0000 1001 mov %0, %e1%1 */
276 if (trace) 275 if (trace)
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 case 0x20: 578 case 0x20:
580 { 579 {
581 /** 0010 0000 subw %0, #%1 */ 580 /** 0010 0000 subw %0, #%1 */
582 if (trace) 581 if (trace)
583 { 582 {
584 printf ("\033[33m%s\033[0m %02x\n", 583 printf ("\033[33m%s\033[0m %02x\n",
585 "/** 0010 0000 subw %0, #%1 */", 584 "/** 0010 0000 subw %0, #%1 */",
586 op[0]); 585 op[0]);
587 } 586 }
588 SYNTAX("subw %0, #%1"); 587 SYNTAX("subw %0, #%1");
589 #line 1169 "rl78-decode.opc" 588 #line 1174 "rl78-decode.opc"
590 ID(sub); W(); DR(SP); SC(IMMU(1)); Fzac; 589 ID(sub); W(); DR(SP); SC(IMMU(1)); Fzac;
591 590
592 /*---------------------------------------------------------------------- */ 591 /*---------------------------------------------------------------------- */
593 592
594 } 593 }
595 break; 594 break;
596 case 0x21: 595 case 0x21:
597 case 0x23: 596 case 0x23:
598 case 0x25: 597 case 0x25:
599 case 0x27: 598 case 0x27:
600 { 599 {
601 /** 0010 0rw1 subw %0, %1 */ 600 /** 0010 0rw1 subw %0, %1 */
602 #line 1163 "rl78-decode.opc" 601 #line 1168 "rl78-decode.opc"
603 int rw AU = (op[0] >> 1) & 0x03; 602 int rw AU = (op[0] >> 1) & 0x03;
604 if (trace) 603 if (trace)
605 { 604 {
606 printf ("\033[33m%s\033[0m %02x\n", 605 printf ("\033[33m%s\033[0m %02x\n",
607 "/** 0010 0rw1 subw %0, %1 */", 606 "/** 0010 0rw1 subw %0, %1 */",
608 op[0]); 607 op[0]);
609 printf (" rw = 0x%x\n", rw); 608 printf (" rw = 0x%x\n", rw);
610 } 609 }
611 SYNTAX("subw %0, %1"); 610 SYNTAX("subw %0, %1");
612 #line 1163 "rl78-decode.opc" 611 #line 1168 "rl78-decode.opc"
613 ID(sub); W(); DR(AX); SRW(rw); Fzac; 612 ID(sub); W(); DR(AX); SRW(rw); Fzac;
614 613
615 } 614 }
616 break; 615 break;
617 case 0x22: 616 case 0x22:
618 { 617 {
619 /** 0010 0010 subw %0, %e1%!1 */ 618 /** 0010 0010 subw %0, %e1%!1 */
620 if (trace) 619 if (trace)
621 { 620 {
622 printf ("\033[33m%s\033[0m %02x\n", 621 printf ("\033[33m%s\033[0m %02x\n",
623 "/** 0010 0010 subw %0, %e1%!1 */", 622 "/** 0010 0010 subw %0, %e1%!1 */",
624 op[0]); 623 op[0]);
625 } 624 }
626 SYNTAX("subw %0, %e1%!1"); 625 SYNTAX("subw %0, %e1%!1");
627 #line 1154 "rl78-decode.opc" 626 #line 1159 "rl78-decode.opc"
628 ID(sub); W(); DR(AX); SM(None, IMMU(2)); Fzac; 627 ID(sub); W(); DR(AX); SM(None, IMMU(2)); Fzac;
629 628
630 } 629 }
631 break; 630 break;
632 case 0x24: 631 case 0x24:
633 { 632 {
634 /** 0010 0100 subw %0, #%1 */ 633 /** 0010 0100 subw %0, #%1 */
635 if (trace) 634 if (trace)
636 { 635 {
637 printf ("\033[33m%s\033[0m %02x\n", 636 printf ("\033[33m%s\033[0m %02x\n",
638 "/** 0010 0100 subw %0, #%1 */", 637 "/** 0010 0100 subw %0, #%1 */",
639 op[0]); 638 op[0]);
640 } 639 }
641 SYNTAX("subw %0, #%1"); 640 SYNTAX("subw %0, #%1");
642 #line 1160 "rl78-decode.opc" 641 #line 1165 "rl78-decode.opc"
643 ID(sub); W(); DR(AX); SC(IMMU(2)); Fzac; 642 ID(sub); W(); DR(AX); SC(IMMU(2)); Fzac;
644 643
645 } 644 }
646 break; 645 break;
647 case 0x26: 646 case 0x26:
648 { 647 {
649 /** 0010 0110 subw %0, %1 */ 648 /** 0010 0110 subw %0, %1 */
650 if (trace) 649 if (trace)
651 { 650 {
652 printf ("\033[33m%s\033[0m %02x\n", 651 printf ("\033[33m%s\033[0m %02x\n",
653 "/** 0010 0110 subw %0, %1 */", 652 "/** 0010 0110 subw %0, %1 */",
654 op[0]); 653 op[0]);
655 } 654 }
656 SYNTAX("subw %0, %1"); 655 SYNTAX("subw %0, %1");
657 #line 1166 "rl78-decode.opc" 656 #line 1171 "rl78-decode.opc"
658 ID(sub); W(); DR(AX); SM(None, SADDR); Fzac; 657 ID(sub); W(); DR(AX); SM(None, SADDR); Fzac;
659 658
660 } 659 }
661 break; 660 break;
662 case 0x28: 661 case 0x28:
663 { 662 {
664 /** 0010 1000 mov %e0%0, %1 */ 663 /** 0010 1000 mov %e0%0, %1 */
665 if (trace) 664 if (trace)
666 { 665 {
667 printf ("\033[33m%s\033[0m %02x\n", 666 printf ("\033[33m%s\033[0m %02x\n",
(...skipping 24 matching lines...) Expand all
692 case 0x2a: 691 case 0x2a:
693 { 692 {
694 /** 0010 1010 sub %0, #%1 */ 693 /** 0010 1010 sub %0, #%1 */
695 if (trace) 694 if (trace)
696 { 695 {
697 printf ("\033[33m%s\033[0m %02x\n", 696 printf ("\033[33m%s\033[0m %02x\n",
698 "/** 0010 1010 sub %0, #%1 */", 697 "/** 0010 1010 sub %0, #%1 */",
699 op[0]); 698 op[0]);
700 } 699 }
701 SYNTAX("sub %0, #%1"); 700 SYNTAX("sub %0, #%1");
702 #line 1117 "rl78-decode.opc" 701 #line 1122 "rl78-decode.opc"
703 ID(sub); DM(None, SADDR); SC(IMMU(1)); Fzac; 702 ID(sub); DM(None, SADDR); SC(IMMU(1)); Fzac;
704 703
705 /*---------------------------------------------------------------------- */ 704 /*---------------------------------------------------------------------- */
706 705
707 } 706 }
708 break; 707 break;
709 case 0x2b: 708 case 0x2b:
710 { 709 {
711 /** 0010 1011 sub %0, %1 */ 710 /** 0010 1011 sub %0, %1 */
712 if (trace) 711 if (trace)
713 { 712 {
714 printf ("\033[33m%s\033[0m %02x\n", 713 printf ("\033[33m%s\033[0m %02x\n",
715 "/** 0010 1011 sub %0, %1 */", 714 "/** 0010 1011 sub %0, %1 */",
716 op[0]); 715 op[0]);
717 } 716 }
718 SYNTAX("sub %0, %1"); 717 SYNTAX("sub %0, %1");
719 #line 1111 "rl78-decode.opc" 718 #line 1116 "rl78-decode.opc"
720 ID(sub); DR(A); SM(None, SADDR); Fzac; 719 ID(sub); DR(A); SM(None, SADDR); Fzac;
721 720
722 } 721 }
723 break; 722 break;
724 case 0x2c: 723 case 0x2c:
725 { 724 {
726 /** 0010 1100 sub %0, #%1 */ 725 /** 0010 1100 sub %0, #%1 */
727 if (trace) 726 if (trace)
728 { 727 {
729 printf ("\033[33m%s\033[0m %02x\n", 728 printf ("\033[33m%s\033[0m %02x\n",
730 "/** 0010 1100 sub %0, #%1 */", 729 "/** 0010 1100 sub %0, #%1 */",
731 op[0]); 730 op[0]);
732 } 731 }
733 SYNTAX("sub %0, #%1"); 732 SYNTAX("sub %0, #%1");
734 #line 1105 "rl78-decode.opc" 733 #line 1110 "rl78-decode.opc"
735 ID(sub); DR(A); SC(IMMU(1)); Fzac; 734 ID(sub); DR(A); SC(IMMU(1)); Fzac;
736 735
737 } 736 }
738 break; 737 break;
739 case 0x2d: 738 case 0x2d:
740 { 739 {
741 /** 0010 1101 sub %0, %e1%1 */ 740 /** 0010 1101 sub %0, %e1%1 */
742 if (trace) 741 if (trace)
743 { 742 {
744 printf ("\033[33m%s\033[0m %02x\n", 743 printf ("\033[33m%s\033[0m %02x\n",
745 "/** 0010 1101 sub %0, %e1%1 */", 744 "/** 0010 1101 sub %0, %e1%1 */",
746 op[0]); 745 op[0]);
747 } 746 }
748 SYNTAX("sub %0, %e1%1"); 747 SYNTAX("sub %0, %e1%1");
749 #line 1093 "rl78-decode.opc" 748 #line 1098 "rl78-decode.opc"
750 ID(sub); DR(A); SM(HL, 0); Fzac; 749 ID(sub); DR(A); SM(HL, 0); Fzac;
751 750
752 } 751 }
753 break; 752 break;
754 case 0x2e: 753 case 0x2e:
755 { 754 {
756 /** 0010 1110 sub %0, %e1%1 */ 755 /** 0010 1110 sub %0, %e1%1 */
757 if (trace) 756 if (trace)
758 { 757 {
759 printf ("\033[33m%s\033[0m %02x\n", 758 printf ("\033[33m%s\033[0m %02x\n",
760 "/** 0010 1110 sub %0, %e1%1 */", 759 "/** 0010 1110 sub %0, %e1%1 */",
761 op[0]); 760 op[0]);
762 } 761 }
763 SYNTAX("sub %0, %e1%1"); 762 SYNTAX("sub %0, %e1%1");
764 #line 1099 "rl78-decode.opc" 763 #line 1104 "rl78-decode.opc"
765 ID(sub); DR(A); SM(HL, IMMU(1)); Fzac; 764 ID(sub); DR(A); SM(HL, IMMU(1)); Fzac;
766 765
767 } 766 }
768 break; 767 break;
769 case 0x2f: 768 case 0x2f:
770 { 769 {
771 /** 0010 1111 sub %0, %e1%!1 */ 770 /** 0010 1111 sub %0, %e1%!1 */
772 if (trace) 771 if (trace)
773 { 772 {
774 printf ("\033[33m%s\033[0m %02x\n", 773 printf ("\033[33m%s\033[0m %02x\n",
775 "/** 0010 1111 sub %0, %e1%!1 */", 774 "/** 0010 1111 sub %0, %e1%!1 */",
776 op[0]); 775 op[0]);
777 } 776 }
778 SYNTAX("sub %0, %e1%!1"); 777 SYNTAX("sub %0, %e1%!1");
779 #line 1090 "rl78-decode.opc" 778 #line 1095 "rl78-decode.opc"
780 ID(sub); DR(A); SM(None, IMMU(2)); Fzac; 779 ID(sub); DR(A); SM(None, IMMU(2)); Fzac;
781 780
782 } 781 }
783 break; 782 break;
784 case 0x30: 783 case 0x30:
785 case 0x32: 784 case 0x32:
786 case 0x34: 785 case 0x34:
787 case 0x36: 786 case 0x36:
788 { 787 {
789 /** 0011 0rg0 movw %0, #%1 */ 788 /** 0011 0rg0 movw %0, #%1 */
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 } 915 }
917 SYNTAX("bf %1, $%a0"); 916 SYNTAX("bf %1, $%a0");
918 #line 336 "rl78-decode.opc" 917 #line 336 "rl78-decode.opc"
919 ID(branch_cond); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(F); 918 ID(branch_cond); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(F);
920 919
921 } 920 }
922 break; 921 break;
923 case 0x07: 922 case 0x07:
924 { 923 {
925 /** 0011 0001 0cnt 0111 shl %0, %1 */ 924 /** 0011 0001 0cnt 0111 shl %0, %1 */
926 #line 1046 "rl78-decode.opc" 925 #line 1051 "rl78-decode.opc"
927 int cnt AU = (op[1] >> 4) & 0x07; 926 int cnt AU = (op[1] >> 4) & 0x07;
928 if (trace) 927 if (trace)
929 { 928 {
930 printf ("\033[33m%s\033[0m %02x %02x\n", 929 printf ("\033[33m%s\033[0m %02x %02x\n",
931 "/** 0011 0001 0cnt 0111 shl %0, %1 */", 930 "/** 0011 0001 0cnt 0111 shl %0, %1 */",
932 op[0], op[1]); 931 op[0], op[1]);
933 printf (" cnt = 0x%x\n", cnt); 932 printf (" cnt = 0x%x\n", cnt);
934 } 933 }
935 SYNTAX("shl %0, %1"); 934 SYNTAX("shl %0, %1");
936 #line 1046 "rl78-decode.opc" 935 #line 1051 "rl78-decode.opc"
937 ID(shl); DR(C); SC(cnt); 936 ID(shl); DR(C); SC(cnt);
938 937
939 } 938 }
940 break; 939 break;
941 case 0x08: 940 case 0x08:
942 { 941 {
943 /** 0011 0001 0cnt 1000 shl %0, %1 */ 942 /** 0011 0001 0cnt 1000 shl %0, %1 */
944 #line 1043 "rl78-decode.opc" 943 #line 1048 "rl78-decode.opc"
945 int cnt AU = (op[1] >> 4) & 0x07; 944 int cnt AU = (op[1] >> 4) & 0x07;
946 if (trace) 945 if (trace)
947 { 946 {
948 printf ("\033[33m%s\033[0m %02x %02x\n", 947 printf ("\033[33m%s\033[0m %02x %02x\n",
949 "/** 0011 0001 0cnt 1000 shl %0, %1 */", 948 "/** 0011 0001 0cnt 1000 shl %0, %1 */",
950 op[0], op[1]); 949 op[0], op[1]);
951 printf (" cnt = 0x%x\n", cnt); 950 printf (" cnt = 0x%x\n", cnt);
952 } 951 }
953 SYNTAX("shl %0, %1"); 952 SYNTAX("shl %0, %1");
954 #line 1043 "rl78-decode.opc" 953 #line 1048 "rl78-decode.opc"
955 ID(shl); DR(B); SC(cnt); 954 ID(shl); DR(B); SC(cnt);
956 955
957 } 956 }
958 break; 957 break;
959 case 0x09: 958 case 0x09:
960 { 959 {
961 /** 0011 0001 0cnt 1001 shl %0, %1 */ 960 /** 0011 0001 0cnt 1001 shl %0, %1 */
962 #line 1040 "rl78-decode.opc" 961 #line 1045 "rl78-decode.opc"
963 int cnt AU = (op[1] >> 4) & 0x07; 962 int cnt AU = (op[1] >> 4) & 0x07;
964 if (trace) 963 if (trace)
965 { 964 {
966 printf ("\033[33m%s\033[0m %02x %02x\n", 965 printf ("\033[33m%s\033[0m %02x %02x\n",
967 "/** 0011 0001 0cnt 1001 shl %0, %1 */", 966 "/** 0011 0001 0cnt 1001 shl %0, %1 */",
968 op[0], op[1]); 967 op[0], op[1]);
969 printf (" cnt = 0x%x\n", cnt); 968 printf (" cnt = 0x%x\n", cnt);
970 } 969 }
971 SYNTAX("shl %0, %1"); 970 SYNTAX("shl %0, %1");
972 #line 1040 "rl78-decode.opc" 971 #line 1045 "rl78-decode.opc"
973 ID(shl); DR(A); SC(cnt); 972 ID(shl); DR(A); SC(cnt);
974 973
975 } 974 }
976 break; 975 break;
977 case 0x0a: 976 case 0x0a:
978 { 977 {
979 /** 0011 0001 0cnt 1010 shr %0, %1 */ 978 /** 0011 0001 0cnt 1010 shr %0, %1 */
980 #line 1057 "rl78-decode.opc" 979 #line 1062 "rl78-decode.opc"
981 int cnt AU = (op[1] >> 4) & 0x07; 980 int cnt AU = (op[1] >> 4) & 0x07;
982 if (trace) 981 if (trace)
983 { 982 {
984 printf ("\033[33m%s\033[0m %02x %02x\n", 983 printf ("\033[33m%s\033[0m %02x %02x\n",
985 "/** 0011 0001 0cnt 1010 shr %0, %1 */", 984 "/** 0011 0001 0cnt 1010 shr %0, %1 */",
986 op[0], op[1]); 985 op[0], op[1]);
987 printf (" cnt = 0x%x\n", cnt); 986 printf (" cnt = 0x%x\n", cnt);
988 } 987 }
989 SYNTAX("shr %0, %1"); 988 SYNTAX("shr %0, %1");
990 #line 1057 "rl78-decode.opc" 989 #line 1062 "rl78-decode.opc"
991 ID(shr); DR(A); SC(cnt); 990 ID(shr); DR(A); SC(cnt);
992 991
993 } 992 }
994 break; 993 break;
995 case 0x0b: 994 case 0x0b:
996 { 995 {
997 /** 0011 0001 0cnt 1011 sar %0, %1 */ 996 /** 0011 0001 0cnt 1011 sar %0, %1 */
998 #line 1004 "rl78-decode.opc" 997 #line 1009 "rl78-decode.opc"
999 int cnt AU = (op[1] >> 4) & 0x07; 998 int cnt AU = (op[1] >> 4) & 0x07;
1000 if (trace) 999 if (trace)
1001 { 1000 {
1002 printf ("\033[33m%s\033[0m %02x %02x\n", 1001 printf ("\033[33m%s\033[0m %02x %02x\n",
1003 "/** 0011 0001 0cnt 1011 sar %0, %1 */", 1002 "/** 0011 0001 0cnt 1011 sar %0, %1 */",
1004 op[0], op[1]); 1003 op[0], op[1]);
1005 printf (" cnt = 0x%x\n", cnt); 1004 printf (" cnt = 0x%x\n", cnt);
1006 } 1005 }
1007 SYNTAX("sar %0, %1"); 1006 SYNTAX("sar %0, %1");
1008 #line 1004 "rl78-decode.opc" 1007 #line 1009 "rl78-decode.opc"
1009 ID(sar); DR(A); SC(cnt); 1008 ID(sar); DR(A); SC(cnt);
1010 1009
1011 } 1010 }
1012 break; 1011 break;
1013 case 0x0c: 1012 case 0x0c:
1014 case 0x8c: 1013 case 0x8c:
1015 { 1014 {
1016 /** 0011 0001 wcnt 1100 shlw %0, %1 */ 1015 /** 0011 0001 wcnt 1100 shlw %0, %1 */
1017 #line 1052 "rl78-decode.opc" 1016 #line 1057 "rl78-decode.opc"
1018 int wcnt AU = (op[1] >> 4) & 0x0f; 1017 int wcnt AU = (op[1] >> 4) & 0x0f;
1019 if (trace) 1018 if (trace)
1020 { 1019 {
1021 printf ("\033[33m%s\033[0m %02x %02x\n", 1020 printf ("\033[33m%s\033[0m %02x %02x\n",
1022 "/** 0011 0001 wcnt 1100 shlw %0, %1 */", 1021 "/** 0011 0001 wcnt 1100 shlw %0, %1 */",
1023 op[0], op[1]); 1022 op[0], op[1]);
1024 printf (" wcnt = 0x%x\n", wcnt); 1023 printf (" wcnt = 0x%x\n", wcnt);
1025 } 1024 }
1026 SYNTAX("shlw %0, %1"); 1025 SYNTAX("shlw %0, %1");
1027 #line 1052 "rl78-decode.opc" 1026 #line 1057 "rl78-decode.opc"
1028 ID(shl); W(); DR(BC); SC(wcnt); 1027 ID(shl); W(); DR(BC); SC(wcnt);
1029 1028
1030 /*---------------------------------------------------------------- ------*/ 1029 /*---------------------------------------------------------------- ------*/
1031 1030
1032 } 1031 }
1033 break; 1032 break;
1034 case 0x0d: 1033 case 0x0d:
1035 case 0x8d: 1034 case 0x8d:
1036 { 1035 {
1037 /** 0011 0001 wcnt 1101 shlw %0, %1 */ 1036 /** 0011 0001 wcnt 1101 shlw %0, %1 */
1038 #line 1049 "rl78-decode.opc" 1037 #line 1054 "rl78-decode.opc"
1039 int wcnt AU = (op[1] >> 4) & 0x0f; 1038 int wcnt AU = (op[1] >> 4) & 0x0f;
1040 if (trace) 1039 if (trace)
1041 { 1040 {
1042 printf ("\033[33m%s\033[0m %02x %02x\n", 1041 printf ("\033[33m%s\033[0m %02x %02x\n",
1043 "/** 0011 0001 wcnt 1101 shlw %0, %1 */", 1042 "/** 0011 0001 wcnt 1101 shlw %0, %1 */",
1044 op[0], op[1]); 1043 op[0], op[1]);
1045 printf (" wcnt = 0x%x\n", wcnt); 1044 printf (" wcnt = 0x%x\n", wcnt);
1046 } 1045 }
1047 SYNTAX("shlw %0, %1"); 1046 SYNTAX("shlw %0, %1");
1048 #line 1049 "rl78-decode.opc" 1047 #line 1054 "rl78-decode.opc"
1049 ID(shl); W(); DR(AX); SC(wcnt); 1048 ID(shl); W(); DR(AX); SC(wcnt);
1050 1049
1051 } 1050 }
1052 break; 1051 break;
1053 case 0x0e: 1052 case 0x0e:
1054 case 0x8e: 1053 case 0x8e:
1055 { 1054 {
1056 /** 0011 0001 wcnt 1110 shrw %0, %1 */ 1055 /** 0011 0001 wcnt 1110 shrw %0, %1 */
1057 #line 1060 "rl78-decode.opc" 1056 #line 1065 "rl78-decode.opc"
1058 int wcnt AU = (op[1] >> 4) & 0x0f; 1057 int wcnt AU = (op[1] >> 4) & 0x0f;
1059 if (trace) 1058 if (trace)
1060 { 1059 {
1061 printf ("\033[33m%s\033[0m %02x %02x\n", 1060 printf ("\033[33m%s\033[0m %02x %02x\n",
1062 "/** 0011 0001 wcnt 1110 shrw %0, %1 */", 1061 "/** 0011 0001 wcnt 1110 shrw %0, %1 */",
1063 op[0], op[1]); 1062 op[0], op[1]);
1064 printf (" wcnt = 0x%x\n", wcnt); 1063 printf (" wcnt = 0x%x\n", wcnt);
1065 } 1064 }
1066 SYNTAX("shrw %0, %1"); 1065 SYNTAX("shrw %0, %1");
1067 #line 1060 "rl78-decode.opc" 1066 #line 1065 "rl78-decode.opc"
1068 ID(shr); W(); DR(AX); SC(wcnt); 1067 ID(shr); W(); DR(AX); SC(wcnt);
1069 1068
1070 /*---------------------------------------------------------------- ------*/ 1069 /*---------------------------------------------------------------- ------*/
1071 1070
1072 } 1071 }
1073 break; 1072 break;
1074 case 0x0f: 1073 case 0x0f:
1075 case 0x8f: 1074 case 0x8f:
1076 { 1075 {
1077 /** 0011 0001 wcnt 1111 sarw %0, %1 */ 1076 /** 0011 0001 wcnt 1111 sarw %0, %1 */
1078 #line 1007 "rl78-decode.opc" 1077 #line 1012 "rl78-decode.opc"
1079 int wcnt AU = (op[1] >> 4) & 0x0f; 1078 int wcnt AU = (op[1] >> 4) & 0x0f;
1080 if (trace) 1079 if (trace)
1081 { 1080 {
1082 printf ("\033[33m%s\033[0m %02x %02x\n", 1081 printf ("\033[33m%s\033[0m %02x %02x\n",
1083 "/** 0011 0001 wcnt 1111 sarw %0, %1 */", 1082 "/** 0011 0001 wcnt 1111 sarw %0, %1 */",
1084 op[0], op[1]); 1083 op[0], op[1]);
1085 printf (" wcnt = 0x%x\n", wcnt); 1084 printf (" wcnt = 0x%x\n", wcnt);
1086 } 1085 }
1087 SYNTAX("sarw %0, %1"); 1086 SYNTAX("sarw %0, %1");
1088 #line 1007 "rl78-decode.opc" 1087 #line 1012 "rl78-decode.opc"
1089 ID(sar); W(); DR(AX); SC(wcnt); 1088 ID(sar); W(); DR(AX); SC(wcnt);
1090 1089
1091 /*---------------------------------------------------------------- ------*/ 1090 /*---------------------------------------------------------------- ------*/
1092 1091
1093 } 1092 }
1094 break; 1093 break;
1095 case 0x80: 1094 case 0x80:
1096 { 1095 {
1097 /** 0011 0001 1bit 0000 btclr %s1, $%a0 */ 1096 /** 0011 0001 1bit 0000 btclr %s1, $%a0 */
1098 #line 392 "rl78-decode.opc" 1097 #line 392 "rl78-decode.opc"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1201 } 1200 }
1202 break; 1201 break;
1203 default: UNSUPPORTED(); break; 1202 default: UNSUPPORTED(); break;
1204 } 1203 }
1205 break; 1204 break;
1206 case 0x33: 1205 case 0x33:
1207 case 0x35: 1206 case 0x35:
1208 case 0x37: 1207 case 0x37:
1209 { 1208 {
1210 /** 0011 0ra1 xchw %0, %1 */ 1209 /** 0011 0ra1 xchw %0, %1 */
1211 #line 1210 "rl78-decode.opc" 1210 #line 1215 "rl78-decode.opc"
1212 int ra AU = (op[0] >> 1) & 0x03; 1211 int ra AU = (op[0] >> 1) & 0x03;
1213 if (trace) 1212 if (trace)
1214 { 1213 {
1215 printf ("\033[33m%s\033[0m %02x\n", 1214 printf ("\033[33m%s\033[0m %02x\n",
1216 "/** 0011 0ra1 xchw %0, %1 */", 1215 "/** 0011 0ra1 xchw %0, %1 */",
1217 op[0]); 1216 op[0]);
1218 printf (" ra = 0x%x\n", ra); 1217 printf (" ra = 0x%x\n", ra);
1219 } 1218 }
1220 SYNTAX("xchw %0, %1"); 1219 SYNTAX("xchw %0, %1");
1221 #line 1210 "rl78-decode.opc" 1220 #line 1215 "rl78-decode.opc"
1222 ID(xch); W(); DR(AX); SRW(ra); 1221 ID(xch); W(); DR(AX); SRW(ra);
1223 1222
1224 /*---------------------------------------------------------------------- */ 1223 /*---------------------------------------------------------------------- */
1225 1224
1226 } 1225 }
1227 break; 1226 break;
1228 case 0x38: 1227 case 0x38:
1229 { 1228 {
1230 /** 0011 1000 mov %e0%0, #%1 */ 1229 /** 0011 1000 mov %e0%0, #%1 */
1231 if (trace) 1230 if (trace)
(...skipping 26 matching lines...) Expand all
1258 case 0x3a: 1257 case 0x3a:
1259 { 1258 {
1260 /** 0011 1010 subc %0, #%1 */ 1259 /** 0011 1010 subc %0, #%1 */
1261 if (trace) 1260 if (trace)
1262 { 1261 {
1263 printf ("\033[33m%s\033[0m %02x\n", 1262 printf ("\033[33m%s\033[0m %02x\n",
1264 "/** 0011 1010 subc %0, #%1 */", 1263 "/** 0011 1010 subc %0, #%1 */",
1265 op[0]); 1264 op[0]);
1266 } 1265 }
1267 SYNTAX("subc %0, #%1"); 1266 SYNTAX("subc %0, #%1");
1268 #line 1149 "rl78-decode.opc" 1267 #line 1154 "rl78-decode.opc"
1269 ID(subc); DM(None, SADDR); SC(IMMU(1)); Fzac; 1268 ID(subc); DM(None, SADDR); SC(IMMU(1)); Fzac;
1270 1269
1271 /*---------------------------------------------------------------------- */ 1270 /*---------------------------------------------------------------------- */
1272 1271
1273 } 1272 }
1274 break; 1273 break;
1275 case 0x3b: 1274 case 0x3b:
1276 { 1275 {
1277 /** 0011 1011 subc %0, %1 */ 1276 /** 0011 1011 subc %0, %1 */
1278 if (trace) 1277 if (trace)
1279 { 1278 {
1280 printf ("\033[33m%s\033[0m %02x\n", 1279 printf ("\033[33m%s\033[0m %02x\n",
1281 "/** 0011 1011 subc %0, %1 */", 1280 "/** 0011 1011 subc %0, %1 */",
1282 op[0]); 1281 op[0]);
1283 } 1282 }
1284 SYNTAX("subc %0, %1"); 1283 SYNTAX("subc %0, %1");
1285 #line 1146 "rl78-decode.opc" 1284 #line 1151 "rl78-decode.opc"
1286 ID(subc); DR(A); SM(None, SADDR); Fzac; 1285 ID(subc); DR(A); SM(None, SADDR); Fzac;
1287 1286
1288 } 1287 }
1289 break; 1288 break;
1290 case 0x3c: 1289 case 0x3c:
1291 { 1290 {
1292 /** 0011 1100 subc %0, #%1 */ 1291 /** 0011 1100 subc %0, #%1 */
1293 if (trace) 1292 if (trace)
1294 { 1293 {
1295 printf ("\033[33m%s\033[0m %02x\n", 1294 printf ("\033[33m%s\033[0m %02x\n",
1296 "/** 0011 1100 subc %0, #%1 */", 1295 "/** 0011 1100 subc %0, #%1 */",
1297 op[0]); 1296 op[0]);
1298 } 1297 }
1299 SYNTAX("subc %0, #%1"); 1298 SYNTAX("subc %0, #%1");
1300 #line 1137 "rl78-decode.opc" 1299 #line 1142 "rl78-decode.opc"
1301 ID(subc); DR(A); SC(IMMU(1)); Fzac; 1300 ID(subc); DR(A); SC(IMMU(1)); Fzac;
1302 1301
1303 } 1302 }
1304 break; 1303 break;
1305 case 0x3d: 1304 case 0x3d:
1306 { 1305 {
1307 /** 0011 1101 subc %0, %e1%1 */ 1306 /** 0011 1101 subc %0, %e1%1 */
1308 if (trace) 1307 if (trace)
1309 { 1308 {
1310 printf ("\033[33m%s\033[0m %02x\n", 1309 printf ("\033[33m%s\033[0m %02x\n",
1311 "/** 0011 1101 subc %0, %e1%1 */", 1310 "/** 0011 1101 subc %0, %e1%1 */",
1312 op[0]); 1311 op[0]);
1313 } 1312 }
1314 SYNTAX("subc %0, %e1%1"); 1313 SYNTAX("subc %0, %e1%1");
1315 #line 1125 "rl78-decode.opc" 1314 #line 1130 "rl78-decode.opc"
1316 ID(subc); DR(A); SM(HL, 0); Fzac; 1315 ID(subc); DR(A); SM(HL, 0); Fzac;
1317 1316
1318 } 1317 }
1319 break; 1318 break;
1320 case 0x3e: 1319 case 0x3e:
1321 { 1320 {
1322 /** 0011 1110 subc %0, %e1%1 */ 1321 /** 0011 1110 subc %0, %e1%1 */
1323 if (trace) 1322 if (trace)
1324 { 1323 {
1325 printf ("\033[33m%s\033[0m %02x\n", 1324 printf ("\033[33m%s\033[0m %02x\n",
1326 "/** 0011 1110 subc %0, %e1%1 */", 1325 "/** 0011 1110 subc %0, %e1%1 */",
1327 op[0]); 1326 op[0]);
1328 } 1327 }
1329 SYNTAX("subc %0, %e1%1"); 1328 SYNTAX("subc %0, %e1%1");
1330 #line 1134 "rl78-decode.opc" 1329 #line 1139 "rl78-decode.opc"
1331 ID(subc); DR(A); SM(HL, IMMU(1)); Fzac; 1330 ID(subc); DR(A); SM(HL, IMMU(1)); Fzac;
1332 1331
1333 } 1332 }
1334 break; 1333 break;
1335 case 0x3f: 1334 case 0x3f:
1336 { 1335 {
1337 /** 0011 1111 subc %0, %e1%!1 */ 1336 /** 0011 1111 subc %0, %e1%!1 */
1338 if (trace) 1337 if (trace)
1339 { 1338 {
1340 printf ("\033[33m%s\033[0m %02x\n", 1339 printf ("\033[33m%s\033[0m %02x\n",
1341 "/** 0011 1111 subc %0, %e1%!1 */", 1340 "/** 0011 1111 subc %0, %e1%!1 */",
1342 op[0]); 1341 op[0]);
1343 } 1342 }
1344 SYNTAX("subc %0, %e1%!1"); 1343 SYNTAX("subc %0, %e1%!1");
1345 #line 1122 "rl78-decode.opc" 1344 #line 1127 "rl78-decode.opc"
1346 ID(subc); DR(A); SM(None, IMMU(2)); Fzac; 1345 ID(subc); DR(A); SM(None, IMMU(2)); Fzac;
1347 1346
1348 } 1347 }
1349 break; 1348 break;
1350 case 0x40: 1349 case 0x40:
1351 { 1350 {
1352 /** 0100 0000 cmp %e0%!0, #%1 */ 1351 /** 0100 0000 cmp %e0%!0, #%1 */
1353 if (trace) 1352 if (trace)
1354 { 1353 {
1355 printf ("\033[33m%s\033[0m %02x\n", 1354 printf ("\033[33m%s\033[0m %02x\n",
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
1857 case 0x20: 1856 case 0x20:
1858 case 0x21: 1857 case 0x21:
1859 case 0x22: 1858 case 0x22:
1860 case 0x23: 1859 case 0x23:
1861 case 0x24: 1860 case 0x24:
1862 case 0x25: 1861 case 0x25:
1863 case 0x26: 1862 case 0x26:
1864 case 0x27: 1863 case 0x27:
1865 { 1864 {
1866 /** 0110 0001 0010 0reg sub %0, %1 */ 1865 /** 0110 0001 0010 0reg sub %0, %1 */
1867 #line 1114 "rl78-decode.opc" 1866 #line 1119 "rl78-decode.opc"
1868 int reg AU = op[1] & 0x07; 1867 int reg AU = op[1] & 0x07;
1869 if (trace) 1868 if (trace)
1870 { 1869 {
1871 printf ("\033[33m%s\033[0m %02x %02x\n", 1870 printf ("\033[33m%s\033[0m %02x %02x\n",
1872 "/** 0110 0001 0010 0reg sub %0, %1 */", 1871 "/** 0110 0001 0010 0reg sub %0, %1 */",
1873 op[0], op[1]); 1872 op[0], op[1]);
1874 printf (" reg = 0x%x\n", reg); 1873 printf (" reg = 0x%x\n", reg);
1875 } 1874 }
1876 SYNTAX("sub %0, %1"); 1875 SYNTAX("sub %0, %1");
1877 #line 1114 "rl78-decode.opc" 1876 #line 1119 "rl78-decode.opc"
1878 ID(sub); DRB(reg); SR(A); Fzac; 1877 ID(sub); DRB(reg); SR(A); Fzac;
1879 1878
1880 } 1879 }
1881 break; 1880 break;
1882 case 0x28: 1881 case 0x28:
1883 case 0x2a: 1882 case 0x2a:
1884 case 0x2b: 1883 case 0x2b:
1885 case 0x2c: 1884 case 0x2c:
1886 case 0x2d: 1885 case 0x2d:
1887 case 0x2e: 1886 case 0x2e:
1888 case 0x2f: 1887 case 0x2f:
1889 { 1888 {
1890 /** 0110 0001 0010 1rba sub %0, %1 */ 1889 /** 0110 0001 0010 1rba sub %0, %1 */
1891 #line 1108 "rl78-decode.opc" 1890 #line 1113 "rl78-decode.opc"
1892 int rba AU = op[1] & 0x07; 1891 int rba AU = op[1] & 0x07;
1893 if (trace) 1892 if (trace)
1894 { 1893 {
1895 printf ("\033[33m%s\033[0m %02x %02x\n", 1894 printf ("\033[33m%s\033[0m %02x %02x\n",
1896 "/** 0110 0001 0010 1rba sub %0, %1 */", 1895 "/** 0110 0001 0010 1rba sub %0, %1 */",
1897 op[0], op[1]); 1896 op[0], op[1]);
1898 printf (" rba = 0x%x\n", rba); 1897 printf (" rba = 0x%x\n", rba);
1899 } 1898 }
1900 SYNTAX("sub %0, %1"); 1899 SYNTAX("sub %0, %1");
1901 #line 1108 "rl78-decode.opc" 1900 #line 1113 "rl78-decode.opc"
1902 ID(sub); DR(A); SRB(rba); Fzac; 1901 ID(sub); DR(A); SRB(rba); Fzac;
1903 1902
1904 } 1903 }
1905 break; 1904 break;
1906 case 0x29: 1905 case 0x29:
1907 { 1906 {
1908 /** 0110 0001 0010 1001 subw %0, %e1%1 */ 1907 /** 0110 0001 0010 1001 subw %0, %e1%1 */
1909 if (trace) 1908 if (trace)
1910 { 1909 {
1911 printf ("\033[33m%s\033[0m %02x %02x\n", 1910 printf ("\033[33m%s\033[0m %02x %02x\n",
1912 "/** 0110 0001 0010 1001 subw %0, %e1% 1 */", 1911 "/** 0110 0001 0010 1001 subw %0, %e1% 1 */",
1913 op[0], op[1]); 1912 op[0], op[1]);
1914 } 1913 }
1915 SYNTAX("subw %0, %e1%1"); 1914 SYNTAX("subw %0, %e1%1");
1916 #line 1157 "rl78-decode.opc" 1915 #line 1162 "rl78-decode.opc"
1917 ID(sub); W(); DR(AX); SM(HL, IMMU(1)); Fzac; 1916 ID(sub); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
1918 1917
1919 } 1918 }
1920 break; 1919 break;
1921 case 0x30: 1920 case 0x30:
1922 case 0x31: 1921 case 0x31:
1923 case 0x32: 1922 case 0x32:
1924 case 0x33: 1923 case 0x33:
1925 case 0x34: 1924 case 0x34:
1926 case 0x35: 1925 case 0x35:
1927 case 0x36: 1926 case 0x36:
1928 case 0x37: 1927 case 0x37:
1929 { 1928 {
1930 /** 0110 0001 0011 0reg subc %0, %1 */ 1929 /** 0110 0001 0011 0reg subc %0, %1 */
1931 #line 1143 "rl78-decode.opc" 1930 #line 1148 "rl78-decode.opc"
1932 int reg AU = op[1] & 0x07; 1931 int reg AU = op[1] & 0x07;
1933 if (trace) 1932 if (trace)
1934 { 1933 {
1935 printf ("\033[33m%s\033[0m %02x %02x\n", 1934 printf ("\033[33m%s\033[0m %02x %02x\n",
1936 "/** 0110 0001 0011 0reg subc %0, %1 */", 1935 "/** 0110 0001 0011 0reg subc %0, %1 */",
1937 op[0], op[1]); 1936 op[0], op[1]);
1938 printf (" reg = 0x%x\n", reg); 1937 printf (" reg = 0x%x\n", reg);
1939 } 1938 }
1940 SYNTAX("subc %0, %1"); 1939 SYNTAX("subc %0, %1");
1941 #line 1143 "rl78-decode.opc" 1940 #line 1148 "rl78-decode.opc"
1942 ID(subc); DRB(reg); SR(A); Fzac; 1941 ID(subc); DRB(reg); SR(A); Fzac;
1943 1942
1944 } 1943 }
1945 break; 1944 break;
1946 case 0x38: 1945 case 0x38:
1947 case 0x3a: 1946 case 0x3a:
1948 case 0x3b: 1947 case 0x3b:
1949 case 0x3c: 1948 case 0x3c:
1950 case 0x3d: 1949 case 0x3d:
1951 case 0x3e: 1950 case 0x3e:
1952 case 0x3f: 1951 case 0x3f:
1953 { 1952 {
1954 /** 0110 0001 0011 1rba subc %0, %1 */ 1953 /** 0110 0001 0011 1rba subc %0, %1 */
1955 #line 1140 "rl78-decode.opc" 1954 #line 1145 "rl78-decode.opc"
1956 int rba AU = op[1] & 0x07; 1955 int rba AU = op[1] & 0x07;
1957 if (trace) 1956 if (trace)
1958 { 1957 {
1959 printf ("\033[33m%s\033[0m %02x %02x\n", 1958 printf ("\033[33m%s\033[0m %02x %02x\n",
1960 "/** 0110 0001 0011 1rba subc %0, %1 */", 1959 "/** 0110 0001 0011 1rba subc %0, %1 */",
1961 op[0], op[1]); 1960 op[0], op[1]);
1962 printf (" rba = 0x%x\n", rba); 1961 printf (" rba = 0x%x\n", rba);
1963 } 1962 }
1964 SYNTAX("subc %0, %1"); 1963 SYNTAX("subc %0, %1");
1965 #line 1140 "rl78-decode.opc" 1964 #line 1145 "rl78-decode.opc"
1966 ID(subc); DR(A); SRB(rba); Fzac; 1965 ID(subc); DR(A); SRB(rba); Fzac;
1967 1966
1968 } 1967 }
1969 break; 1968 break;
1970 case 0x40: 1969 case 0x40:
1971 case 0x41: 1970 case 0x41:
1972 case 0x42: 1971 case 0x42:
1973 case 0x43: 1972 case 0x43:
1974 case 0x44: 1973 case 0x44:
1975 case 0x45: 1974 case 0x45:
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
2098 case 0x60: 2097 case 0x60:
2099 case 0x61: 2098 case 0x61:
2100 case 0x62: 2099 case 0x62:
2101 case 0x63: 2100 case 0x63:
2102 case 0x64: 2101 case 0x64:
2103 case 0x65: 2102 case 0x65:
2104 case 0x66: 2103 case 0x66:
2105 case 0x67: 2104 case 0x67:
2106 { 2105 {
2107 /** 0110 0001 0110 0reg or %0, %1 */ 2106 /** 0110 0001 0110 0reg or %0, %1 */
2108 #line 932 "rl78-decode.opc" 2107 #line 937 "rl78-decode.opc"
2109 int reg AU = op[1] & 0x07; 2108 int reg AU = op[1] & 0x07;
2110 if (trace) 2109 if (trace)
2111 { 2110 {
2112 printf ("\033[33m%s\033[0m %02x %02x\n", 2111 printf ("\033[33m%s\033[0m %02x %02x\n",
2113 "/** 0110 0001 0110 0reg or %0, %1 */", 2112 "/** 0110 0001 0110 0reg or %0, %1 */",
2114 op[0], op[1]); 2113 op[0], op[1]);
2115 printf (" reg = 0x%x\n", reg); 2114 printf (" reg = 0x%x\n", reg);
2116 } 2115 }
2117 SYNTAX("or %0, %1"); 2116 SYNTAX("or %0, %1");
2118 #line 932 "rl78-decode.opc" 2117 #line 937 "rl78-decode.opc"
2119 ID(or); DRB(reg); SR(A); Fz; 2118 ID(or); DRB(reg); SR(A); Fz;
2120 2119
2121 } 2120 }
2122 break; 2121 break;
2123 case 0x68: 2122 case 0x68:
2124 case 0x6a: 2123 case 0x6a:
2125 case 0x6b: 2124 case 0x6b:
2126 case 0x6c: 2125 case 0x6c:
2127 case 0x6d: 2126 case 0x6d:
2128 case 0x6e: 2127 case 0x6e:
2129 case 0x6f: 2128 case 0x6f:
2130 { 2129 {
2131 /** 0110 0001 0110 1rba or %0, %1 */ 2130 /** 0110 0001 0110 1rba or %0, %1 */
2132 #line 929 "rl78-decode.opc" 2131 #line 934 "rl78-decode.opc"
2133 int rba AU = op[1] & 0x07; 2132 int rba AU = op[1] & 0x07;
2134 if (trace) 2133 if (trace)
2135 { 2134 {
2136 printf ("\033[33m%s\033[0m %02x %02x\n", 2135 printf ("\033[33m%s\033[0m %02x %02x\n",
2137 "/** 0110 0001 0110 1rba or %0, %1 */", 2136 "/** 0110 0001 0110 1rba or %0, %1 */",
2138 op[0], op[1]); 2137 op[0], op[1]);
2139 printf (" rba = 0x%x\n", rba); 2138 printf (" rba = 0x%x\n", rba);
2140 } 2139 }
2141 SYNTAX("or %0, %1"); 2140 SYNTAX("or %0, %1");
2142 #line 929 "rl78-decode.opc" 2141 #line 934 "rl78-decode.opc"
2143 ID(or); DR(A); SRB(rba); Fz; 2142 ID(or); DR(A); SRB(rba); Fz;
2144 2143
2145 } 2144 }
2146 break; 2145 break;
2147 case 0x69: 2146 case 0x69:
2148 { 2147 {
2149 /** 0110 0001 0110 1001 dec %e0%0 */ 2148 /** 0110 0001 0110 1001 dec %e0%0 */
2150 if (trace) 2149 if (trace)
2151 { 2150 {
2152 printf ("\033[33m%s\033[0m %02x %02x\n", 2151 printf ("\033[33m%s\033[0m %02x %02x\n",
2153 "/** 0110 0001 0110 1001 dec %e0%0 */", 2152 "/** 0110 0001 0110 1001 dec %e0%0 */",
2154 op[0], op[1]); 2153 op[0], op[1]);
2155 } 2154 }
2156 SYNTAX("dec %e0%0"); 2155 SYNTAX("dec %e0%0");
2157 #line 530 "rl78-decode.opc" 2156 #line 530 "rl78-decode.opc"
2158 ID(sub); DM(HL, IMMU(1)); SC(1); Fza; 2157 ID(sub); DM(HL, IMMU(1)); SC(1); Fza;
2159 2158
2160 } 2159 }
2161 break; 2160 break;
2162 case 0x70: 2161 case 0x70:
2163 case 0x71: 2162 case 0x71:
2164 case 0x72: 2163 case 0x72:
2165 case 0x73: 2164 case 0x73:
2166 case 0x74: 2165 case 0x74:
2167 case 0x75: 2166 case 0x75:
2168 case 0x76: 2167 case 0x76:
2169 case 0x77: 2168 case 0x77:
2170 { 2169 {
2171 /** 0110 0001 0111 0reg xor %0, %1 */ 2170 /** 0110 0001 0111 0reg xor %0, %1 */
2172 #line 1236 "rl78-decode.opc" 2171 #line 1241 "rl78-decode.opc"
2173 int reg AU = op[1] & 0x07; 2172 int reg AU = op[1] & 0x07;
2174 if (trace) 2173 if (trace)
2175 { 2174 {
2176 printf ("\033[33m%s\033[0m %02x %02x\n", 2175 printf ("\033[33m%s\033[0m %02x %02x\n",
2177 "/** 0110 0001 0111 0reg xor %0, %1 */", 2176 "/** 0110 0001 0111 0reg xor %0, %1 */",
2178 op[0], op[1]); 2177 op[0], op[1]);
2179 printf (" reg = 0x%x\n", reg); 2178 printf (" reg = 0x%x\n", reg);
2180 } 2179 }
2181 SYNTAX("xor %0, %1"); 2180 SYNTAX("xor %0, %1");
2182 #line 1236 "rl78-decode.opc" 2181 #line 1241 "rl78-decode.opc"
2183 ID(xor); DRB(reg); SR(A); Fz; 2182 ID(xor); DRB(reg); SR(A); Fz;
2184 2183
2185 } 2184 }
2186 break; 2185 break;
2187 case 0x78: 2186 case 0x78:
2188 case 0x7a: 2187 case 0x7a:
2189 case 0x7b: 2188 case 0x7b:
2190 case 0x7c: 2189 case 0x7c:
2191 case 0x7d: 2190 case 0x7d:
2192 case 0x7e: 2191 case 0x7e:
2193 case 0x7f: 2192 case 0x7f:
2194 { 2193 {
2195 /** 0110 0001 0111 1rba xor %0, %1 */ 2194 /** 0110 0001 0111 1rba xor %0, %1 */
2196 #line 1233 "rl78-decode.opc" 2195 #line 1238 "rl78-decode.opc"
2197 int rba AU = op[1] & 0x07; 2196 int rba AU = op[1] & 0x07;
2198 if (trace) 2197 if (trace)
2199 { 2198 {
2200 printf ("\033[33m%s\033[0m %02x %02x\n", 2199 printf ("\033[33m%s\033[0m %02x %02x\n",
2201 "/** 0110 0001 0111 1rba xor %0, %1 */", 2200 "/** 0110 0001 0111 1rba xor %0, %1 */",
2202 op[0], op[1]); 2201 op[0], op[1]);
2203 printf (" rba = 0x%x\n", rba); 2202 printf (" rba = 0x%x\n", rba);
2204 } 2203 }
2205 SYNTAX("xor %0, %1"); 2204 SYNTAX("xor %0, %1");
2206 #line 1233 "rl78-decode.opc" 2205 #line 1238 "rl78-decode.opc"
2207 ID(xor); DR(A); SRB(rba); Fz; 2206 ID(xor); DR(A); SRB(rba); Fz;
2208 2207
2209 } 2208 }
2210 break; 2209 break;
2211 case 0x79: 2210 case 0x79:
2212 { 2211 {
2213 /** 0110 0001 0111 1001 incw %e0%0 */ 2212 /** 0110 0001 0111 1001 incw %e0%0 */
2214 if (trace) 2213 if (trace)
2215 { 2214 {
2216 printf ("\033[33m%s\033[0m %02x %02x\n", 2215 printf ("\033[33m%s\033[0m %02x %02x\n",
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
2310 break; 2309 break;
2311 case 0x88: 2310 case 0x88:
2312 case 0x8a: 2311 case 0x8a:
2313 case 0x8b: 2312 case 0x8b:
2314 case 0x8c: 2313 case 0x8c:
2315 case 0x8d: 2314 case 0x8d:
2316 case 0x8e: 2315 case 0x8e:
2317 case 0x8f: 2316 case 0x8f:
2318 { 2317 {
2319 /** 0110 0001 1000 1reg xch %0, %1 */ 2318 /** 0110 0001 1000 1reg xch %0, %1 */
2320 #line 1195 "rl78-decode.opc" 2319 #line 1200 "rl78-decode.opc"
2321 int reg AU = op[1] & 0x07; 2320 int reg AU = op[1] & 0x07;
2322 if (trace) 2321 if (trace)
2323 { 2322 {
2324 printf ("\033[33m%s\033[0m %02x %02x\n", 2323 printf ("\033[33m%s\033[0m %02x %02x\n",
2325 "/** 0110 0001 1000 1reg xch %0, %1 */", 2324 "/** 0110 0001 1000 1reg xch %0, %1 */",
2326 op[0], op[1]); 2325 op[0], op[1]);
2327 printf (" reg = 0x%x\n", reg); 2326 printf (" reg = 0x%x\n", reg);
2328 } 2327 }
2329 SYNTAX("xch %0, %1"); 2328 SYNTAX("xch %0, %1");
2330 #line 1195 "rl78-decode.opc" 2329 #line 1200 "rl78-decode.opc"
2331 /* Note: DECW uses reg == X, so this must follow DECW */ 2330 /* Note: DECW uses reg == X, so this must follow DECW */
2332 ID(xch); DR(A); SRB(reg); 2331 ID(xch); DR(A); SRB(reg);
2333 2332
2334 } 2333 }
2335 break; 2334 break;
2336 case 0x89: 2335 case 0x89:
2337 { 2336 {
2338 /** 0110 0001 1000 1001 decw %e0%0 */ 2337 /** 0110 0001 1000 1001 decw %e0%0 */
2339 if (trace) 2338 if (trace)
2340 { 2339 {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2382 case 0xa1: 2381 case 0xa1:
2383 { 2382 {
2384 /** 0110 0001 1010 000 sub %0, %e1%1 */ 2383 /** 0110 0001 1010 000 sub %0, %e1%1 */
2385 if (trace) 2384 if (trace)
2386 { 2385 {
2387 printf ("\033[33m%s\033[0m %02x %02x\n", 2386 printf ("\033[33m%s\033[0m %02x %02x\n",
2388 "/** 0110 0001 1010 000 sub %0, %e1% 1 */", 2387 "/** 0110 0001 1010 000 sub %0, %e1% 1 */",
2389 op[0], op[1]); 2388 op[0], op[1]);
2390 } 2389 }
2391 SYNTAX("sub %0, %e1%1"); 2390 SYNTAX("sub %0, %e1%1");
2392 #line 1096 "rl78-decode.opc" 2391 #line 1101 "rl78-decode.opc"
2393 ID(sub); DR(A); SM2(HL, B, 0); Fzac; 2392 ID(sub); DR(A); SM2(HL, B, 0); Fzac;
2394 2393
2395 } 2394 }
2396 break; 2395 break;
2397 case 0xa2: 2396 case 0xa2:
2398 { 2397 {
2399 /** 0110 0001 1010 0010 sub %0, %e1%1 */ 2398 /** 0110 0001 1010 0010 sub %0, %e1%1 */
2400 if (trace) 2399 if (trace)
2401 { 2400 {
2402 printf ("\033[33m%s\033[0m %02x %02x\n", 2401 printf ("\033[33m%s\033[0m %02x %02x\n",
2403 "/** 0110 0001 1010 0010 sub %0, %e1% 1 */", 2402 "/** 0110 0001 1010 0010 sub %0, %e1% 1 */",
2404 op[0], op[1]); 2403 op[0], op[1]);
2405 } 2404 }
2406 SYNTAX("sub %0, %e1%1"); 2405 SYNTAX("sub %0, %e1%1");
2407 #line 1102 "rl78-decode.opc" 2406 #line 1107 "rl78-decode.opc"
2408 ID(sub); DR(A); SM2(HL, C, 0); Fzac; 2407 ID(sub); DR(A); SM2(HL, C, 0); Fzac;
2409 2408
2410 } 2409 }
2411 break; 2410 break;
2412 case 0xa8: 2411 case 0xa8:
2413 { 2412 {
2414 /** 0110 0001 1010 1000 xch %0, %1 */ 2413 /** 0110 0001 1010 1000 xch %0, %1 */
2415 if (trace) 2414 if (trace)
2416 { 2415 {
2417 printf ("\033[33m%s\033[0m %02x %02x\n", 2416 printf ("\033[33m%s\033[0m %02x %02x\n",
2418 "/** 0110 0001 1010 1000 xch %0, %1 */", 2417 "/** 0110 0001 1010 1000 xch %0, %1 */",
2419 op[0], op[1]); 2418 op[0], op[1]);
2420 } 2419 }
2421 SYNTAX("xch %0, %1"); 2420 SYNTAX("xch %0, %1");
2422 #line 1199 "rl78-decode.opc" 2421 #line 1204 "rl78-decode.opc"
2423 ID(xch); DR(A); SM(None, SADDR); 2422 ID(xch); DR(A); SM(None, SADDR);
2424 2423
2425 } 2424 }
2426 break; 2425 break;
2427 case 0xa9: 2426 case 0xa9:
2428 { 2427 {
2429 /** 0110 0001 1010 1001 xch %0, %e1%1 */ 2428 /** 0110 0001 1010 1001 xch %0, %e1%1 */
2430 if (trace) 2429 if (trace)
2431 { 2430 {
2432 printf ("\033[33m%s\033[0m %02x %02x\n", 2431 printf ("\033[33m%s\033[0m %02x %02x\n",
2433 "/** 0110 0001 1010 1001 xch %0, %e1% 1 */", 2432 "/** 0110 0001 1010 1001 xch %0, %e1% 1 */",
2434 op[0], op[1]); 2433 op[0], op[1]);
2435 } 2434 }
2436 SYNTAX("xch %0, %e1%1"); 2435 SYNTAX("xch %0, %e1%1");
2437 #line 1192 "rl78-decode.opc" 2436 #line 1197 "rl78-decode.opc"
2438 ID(xch); DR(A); SM2(HL, C, 0); 2437 ID(xch); DR(A); SM2(HL, C, 0);
2439 2438
2440 } 2439 }
2441 break; 2440 break;
2442 case 0xaa: 2441 case 0xaa:
2443 { 2442 {
2444 /** 0110 0001 1010 1010 xch %0, %e1%!1 */ 2443 /** 0110 0001 1010 1010 xch %0, %e1%!1 */
2445 if (trace) 2444 if (trace)
2446 { 2445 {
2447 printf ("\033[33m%s\033[0m %02x %02x\n", 2446 printf ("\033[33m%s\033[0m %02x %02x\n",
2448 "/** 0110 0001 1010 1010 xch %0, %e1% !1 */", 2447 "/** 0110 0001 1010 1010 xch %0, %e1% !1 */",
2449 op[0], op[1]); 2448 op[0], op[1]);
2450 } 2449 }
2451 SYNTAX("xch %0, %e1%!1"); 2450 SYNTAX("xch %0, %e1%!1");
2452 #line 1174 "rl78-decode.opc" 2451 #line 1179 "rl78-decode.opc"
2453 ID(xch); DR(A); SM(None, IMMU(2)); 2452 ID(xch); DR(A); SM(None, IMMU(2));
2454 2453
2455 } 2454 }
2456 break; 2455 break;
2457 case 0xab: 2456 case 0xab:
2458 { 2457 {
2459 /** 0110 0001 1010 1011 xch %0, %1 */ 2458 /** 0110 0001 1010 1011 xch %0, %1 */
2460 if (trace) 2459 if (trace)
2461 { 2460 {
2462 printf ("\033[33m%s\033[0m %02x %02x\n", 2461 printf ("\033[33m%s\033[0m %02x %02x\n",
2463 "/** 0110 0001 1010 1011 xch %0, %1 */", 2462 "/** 0110 0001 1010 1011 xch %0, %1 */",
2464 op[0], op[1]); 2463 op[0], op[1]);
2465 } 2464 }
2466 SYNTAX("xch %0, %1"); 2465 SYNTAX("xch %0, %1");
2467 #line 1202 "rl78-decode.opc" 2466 #line 1207 "rl78-decode.opc"
2468 ID(xch); DR(A); SM(None, SFR); 2467 ID(xch); DR(A); SM(None, SFR);
2469 2468
2470 } 2469 }
2471 break; 2470 break;
2472 case 0xac: 2471 case 0xac:
2473 { 2472 {
2474 /** 0110 0001 1010 1100 xch %0, %e1%1 */ 2473 /** 0110 0001 1010 1100 xch %0, %e1%1 */
2475 if (trace) 2474 if (trace)
2476 { 2475 {
2477 printf ("\033[33m%s\033[0m %02x %02x\n", 2476 printf ("\033[33m%s\033[0m %02x %02x\n",
2478 "/** 0110 0001 1010 1100 xch %0, %e1% 1 */", 2477 "/** 0110 0001 1010 1100 xch %0, %e1% 1 */",
2479 op[0], op[1]); 2478 op[0], op[1]);
2480 } 2479 }
2481 SYNTAX("xch %0, %e1%1"); 2480 SYNTAX("xch %0, %e1%1");
2482 #line 1183 "rl78-decode.opc" 2481 #line 1188 "rl78-decode.opc"
2483 ID(xch); DR(A); SM(HL, 0); 2482 ID(xch); DR(A); SM(HL, 0);
2484 2483
2485 } 2484 }
2486 break; 2485 break;
2487 case 0xad: 2486 case 0xad:
2488 { 2487 {
2489 /** 0110 0001 1010 1101 xch %0, %e1%1 */ 2488 /** 0110 0001 1010 1101 xch %0, %e1%1 */
2490 if (trace) 2489 if (trace)
2491 { 2490 {
2492 printf ("\033[33m%s\033[0m %02x %02x\n", 2491 printf ("\033[33m%s\033[0m %02x %02x\n",
2493 "/** 0110 0001 1010 1101 xch %0, %e1% 1 */", 2492 "/** 0110 0001 1010 1101 xch %0, %e1% 1 */",
2494 op[0], op[1]); 2493 op[0], op[1]);
2495 } 2494 }
2496 SYNTAX("xch %0, %e1%1"); 2495 SYNTAX("xch %0, %e1%1");
2497 #line 1189 "rl78-decode.opc" 2496 #line 1194 "rl78-decode.opc"
2498 ID(xch); DR(A); SM(HL, IMMU(1)); 2497 ID(xch); DR(A); SM(HL, IMMU(1));
2499 2498
2500 } 2499 }
2501 break; 2500 break;
2502 case 0xae: 2501 case 0xae:
2503 { 2502 {
2504 /** 0110 0001 1010 1110 xch %0, %e1%1 */ 2503 /** 0110 0001 1010 1110 xch %0, %e1%1 */
2505 if (trace) 2504 if (trace)
2506 { 2505 {
2507 printf ("\033[33m%s\033[0m %02x %02x\n", 2506 printf ("\033[33m%s\033[0m %02x %02x\n",
2508 "/** 0110 0001 1010 1110 xch %0, %e1% 1 */", 2507 "/** 0110 0001 1010 1110 xch %0, %e1% 1 */",
2509 op[0], op[1]); 2508 op[0], op[1]);
2510 } 2509 }
2511 SYNTAX("xch %0, %e1%1"); 2510 SYNTAX("xch %0, %e1%1");
2512 #line 1177 "rl78-decode.opc" 2511 #line 1182 "rl78-decode.opc"
2513 ID(xch); DR(A); SM(DE, 0); 2512 ID(xch); DR(A); SM(DE, 0);
2514 2513
2515 } 2514 }
2516 break; 2515 break;
2517 case 0xaf: 2516 case 0xaf:
2518 { 2517 {
2519 /** 0110 0001 1010 1111 xch %0, %e1%1 */ 2518 /** 0110 0001 1010 1111 xch %0, %e1%1 */
2520 if (trace) 2519 if (trace)
2521 { 2520 {
2522 printf ("\033[33m%s\033[0m %02x %02x\n", 2521 printf ("\033[33m%s\033[0m %02x %02x\n",
2523 "/** 0110 0001 1010 1111 xch %0, %e1% 1 */", 2522 "/** 0110 0001 1010 1111 xch %0, %e1% 1 */",
2524 op[0], op[1]); 2523 op[0], op[1]);
2525 } 2524 }
2526 SYNTAX("xch %0, %e1%1"); 2525 SYNTAX("xch %0, %e1%1");
2527 #line 1180 "rl78-decode.opc" 2526 #line 1185 "rl78-decode.opc"
2528 ID(xch); DR(A); SM(DE, IMMU(1)); 2527 ID(xch); DR(A); SM(DE, IMMU(1));
2529 2528
2530 } 2529 }
2531 break; 2530 break;
2532 case 0xb0: 2531 case 0xb0:
2533 { 2532 {
2534 /** 0110 0001 1011 0000 subc %0, %e1%1 */ 2533 /** 0110 0001 1011 0000 subc %0, %e1%1 */
2535 if (trace) 2534 if (trace)
2536 { 2535 {
2537 printf ("\033[33m%s\033[0m %02x %02x\n", 2536 printf ("\033[33m%s\033[0m %02x %02x\n",
2538 "/** 0110 0001 1011 0000 subc %0, %e1% 1 */", 2537 "/** 0110 0001 1011 0000 subc %0, %e1% 1 */",
2539 op[0], op[1]); 2538 op[0], op[1]);
2540 } 2539 }
2541 SYNTAX("subc %0, %e1%1"); 2540 SYNTAX("subc %0, %e1%1");
2542 #line 1128 "rl78-decode.opc" 2541 #line 1133 "rl78-decode.opc"
2543 ID(subc); DR(A); SM2(HL, B, 0); Fzac; 2542 ID(subc); DR(A); SM2(HL, B, 0); Fzac;
2544 2543
2545 } 2544 }
2546 break; 2545 break;
2547 case 0xb2: 2546 case 0xb2:
2548 { 2547 {
2549 /** 0110 0001 1011 0010 subc %0, %e1%1 */ 2548 /** 0110 0001 1011 0010 subc %0, %e1%1 */
2550 if (trace) 2549 if (trace)
2551 { 2550 {
2552 printf ("\033[33m%s\033[0m %02x %02x\n", 2551 printf ("\033[33m%s\033[0m %02x %02x\n",
2553 "/** 0110 0001 1011 0010 subc %0, %e1% 1 */", 2552 "/** 0110 0001 1011 0010 subc %0, %e1% 1 */",
2554 op[0], op[1]); 2553 op[0], op[1]);
2555 } 2554 }
2556 SYNTAX("subc %0, %e1%1"); 2555 SYNTAX("subc %0, %e1%1");
2557 #line 1131 "rl78-decode.opc" 2556 #line 1136 "rl78-decode.opc"
2558 ID(subc); DR(A); SM2(HL, C, 0); Fzac; 2557 ID(subc); DR(A); SM2(HL, C, 0); Fzac;
2559 2558
2560 } 2559 }
2561 break; 2560 break;
2562 case 0xb8: 2561 case 0xb8:
2563 { 2562 {
2564 /** 0110 0001 1011 1000 mov %0, %1 */ 2563 /** 0110 0001 1011 1000 mov %0, %1 */
2565 if (trace) 2564 if (trace)
2566 { 2565 {
2567 printf ("\033[33m%s\033[0m %02x %02x\n", 2566 printf ("\033[33m%s\033[0m %02x %02x\n",
2568 "/** 0110 0001 1011 1000 mov %0, %1 */", 2567 "/** 0110 0001 1011 1000 mov %0, %1 */",
2569 op[0], op[1]); 2568 op[0], op[1]);
2570 } 2569 }
2571 SYNTAX("mov %0, %1"); 2570 SYNTAX("mov %0, %1");
2572 #line 702 "rl78-decode.opc" 2571 #line 702 "rl78-decode.opc"
2573 ID(mov); DR(ES); SM(None, SADDR); 2572 ID(mov); DR(ES); SM(None, SADDR);
2574 2573
2575 } 2574 }
2576 break; 2575 break;
2577 case 0xb9: 2576 case 0xb9:
2578 { 2577 {
2579 /** 0110 0001 1011 1001 xch %0, %e1%1 */ 2578 /** 0110 0001 1011 1001 xch %0, %e1%1 */
2580 if (trace) 2579 if (trace)
2581 { 2580 {
2582 printf ("\033[33m%s\033[0m %02x %02x\n", 2581 printf ("\033[33m%s\033[0m %02x %02x\n",
2583 "/** 0110 0001 1011 1001 xch %0, %e1% 1 */", 2582 "/** 0110 0001 1011 1001 xch %0, %e1% 1 */",
2584 op[0], op[1]); 2583 op[0], op[1]);
2585 } 2584 }
2586 SYNTAX("xch %0, %e1%1"); 2585 SYNTAX("xch %0, %e1%1");
2587 #line 1186 "rl78-decode.opc" 2586 #line 1191 "rl78-decode.opc"
2588 ID(xch); DR(A); SM2(HL, B, 0); 2587 ID(xch); DR(A); SM2(HL, B, 0);
2589 2588
2590 } 2589 }
2591 break; 2590 break;
2592 case 0xc0: 2591 case 0xc0:
2593 { 2592 {
2594 /** 0110 0001 1100 0000 cmp %0, %e1%1 */ 2593 /** 0110 0001 1100 0000 cmp %0, %e1%1 */
2595 if (trace) 2594 if (trace)
2596 { 2595 {
2597 printf ("\033[33m%s\033[0m %02x %02x\n", 2596 printf ("\033[33m%s\033[0m %02x %02x\n",
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
2637 case 0xc8: 2636 case 0xc8:
2638 { 2637 {
2639 /** 0110 0001 1100 1000 sk%c1 */ 2638 /** 0110 0001 1100 1000 sk%c1 */
2640 if (trace) 2639 if (trace)
2641 { 2640 {
2642 printf ("\033[33m%s\033[0m %02x %02x\n", 2641 printf ("\033[33m%s\033[0m %02x %02x\n",
2643 "/** 0110 0001 1100 1000 sk%c1 */", 2642 "/** 0110 0001 1100 1000 sk%c1 */",
2644 op[0], op[1]); 2643 op[0], op[1]);
2645 } 2644 }
2646 SYNTAX("sk%c1"); 2645 SYNTAX("sk%c1");
2647 #line 1065 "rl78-decode.opc" 2646 #line 1070 "rl78-decode.opc"
2648 ID(skip); COND(C); 2647 ID(skip); COND(C);
2649 2648
2650 } 2649 }
2651 break; 2650 break;
2652 case 0xc9: 2651 case 0xc9:
2653 { 2652 {
2654 /** 0110 0001 1100 1001 mov %0, %e1%1 */ 2653 /** 0110 0001 1100 1001 mov %0, %e1%1 */
2655 if (trace) 2654 if (trace)
2656 { 2655 {
2657 printf ("\033[33m%s\033[0m %02x %02x\n", 2656 printf ("\033[33m%s\033[0m %02x %02x\n",
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
2722 case 0xcd: 2721 case 0xcd:
2723 { 2722 {
2724 /** 0110 0001 1100 1101 pop %s0 */ 2723 /** 0110 0001 1100 1101 pop %s0 */
2725 if (trace) 2724 if (trace)
2726 { 2725 {
2727 printf ("\033[33m%s\033[0m %02x %02x\n", 2726 printf ("\033[33m%s\033[0m %02x %02x\n",
2728 "/** 0110 0001 1100 1101 pop %s0 */", 2727 "/** 0110 0001 1100 1101 pop %s0 */",
2729 op[0], op[1]); 2728 op[0], op[1]);
2730 } 2729 }
2731 SYNTAX("pop %s0"); 2730 SYNTAX("pop %s0");
2732 #line 960 "rl78-decode.opc" 2731 #line 965 "rl78-decode.opc"
2733 ID(mov); W(); DR(PSW); SPOP(); 2732 ID(mov); W(); DR(PSW); SPOP();
2734 2733
2735 /*---------------------------------------------------------------- ------*/ 2734 /*---------------------------------------------------------------- ------*/
2736 2735
2737 } 2736 }
2738 break; 2737 break;
2739 case 0xce: 2738 case 0xce:
2740 { 2739 {
2741 /** 0110 0001 1100 1110 movs %e0%0, %1 */ 2740 /** 0110 0001 1100 1110 movs %e0%0, %1 */
2742 if (trace) 2741 if (trace)
2743 { 2742 {
2744 printf ("\033[33m%s\033[0m %02x %02x\n", 2743 printf ("\033[33m%s\033[0m %02x %02x\n",
2745 "/** 0110 0001 1100 1110 movs %e0%0, % 1 */", 2744 "/** 0110 0001 1100 1110 movs %e0%0, % 1 */",
2746 op[0], op[1]); 2745 op[0], op[1]);
2747 } 2746 }
2748 SYNTAX("movs %e0%0, %1"); 2747 SYNTAX("movs %e0%0, %1");
2749 #line 787 "rl78-decode.opc" 2748 #line 787 "rl78-decode.opc"
2750 ID(mov); DM(HL, IMMU(1)); SR(X); Fzc; 2749 ID(mov); DM(HL, IMMU(1)); SR(X); Fzc;
2751 2750
2752 /*---------------------------------------------------------------- ------*/ 2751 /*---------------------------------------------------------------- ------*/
2753 2752
2754 } 2753 }
2755 break; 2754 break;
2756 case 0xcf: 2755 case 0xcf:
2757 case 0xdf: 2756 case 0xdf:
2758 case 0xef: 2757 case 0xef:
2759 case 0xff: 2758 case 0xff:
2760 { 2759 {
2761 /** 0110 0001 11rb 1111 sel rb%1 */ 2760 /** 0110 0001 11rb 1111 sel rb%1 */
2762 #line 1012 "rl78-decode.opc" 2761 #line 1017 "rl78-decode.opc"
2763 int rb AU = (op[1] >> 4) & 0x03; 2762 int rb AU = (op[1] >> 4) & 0x03;
2764 if (trace) 2763 if (trace)
2765 { 2764 {
2766 printf ("\033[33m%s\033[0m %02x %02x\n", 2765 printf ("\033[33m%s\033[0m %02x %02x\n",
2767 "/** 0110 0001 11rb 1111 sel rb%1 */", 2766 "/** 0110 0001 11rb 1111 sel rb%1 */",
2768 op[0], op[1]); 2767 op[0], op[1]);
2769 printf (" rb = 0x%x\n", rb); 2768 printf (" rb = 0x%x\n", rb);
2770 } 2769 }
2771 SYNTAX("sel rb%1"); 2770 SYNTAX("sel rb%1");
2772 #line 1012 "rl78-decode.opc" 2771 #line 1017 "rl78-decode.opc"
2773 ID(sel); SC(rb); 2772 ID(sel); SC(rb);
2774 2773
2775 /*---------------------------------------------------------------- ------*/ 2774 /*---------------------------------------------------------------- ------*/
2776 2775
2777 } 2776 }
2778 break; 2777 break;
2779 case 0xd0: 2778 case 0xd0:
2780 { 2779 {
2781 /** 0110 0001 1101 0000 and %0, %e1%1 */ 2780 /** 0110 0001 1101 0000 and %0, %e1%1 */
2782 if (trace) 2781 if (trace)
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2824 case 0xd8: 2823 case 0xd8:
2825 { 2824 {
2826 /** 0110 0001 1101 1000 sk%c1 */ 2825 /** 0110 0001 1101 1000 sk%c1 */
2827 if (trace) 2826 if (trace)
2828 { 2827 {
2829 printf ("\033[33m%s\033[0m %02x %02x\n", 2828 printf ("\033[33m%s\033[0m %02x %02x\n",
2830 "/** 0110 0001 1101 1000 sk%c1 */", 2829 "/** 0110 0001 1101 1000 sk%c1 */",
2831 op[0], op[1]); 2830 op[0], op[1]);
2832 } 2831 }
2833 SYNTAX("sk%c1"); 2832 SYNTAX("sk%c1");
2834 #line 1071 "rl78-decode.opc" 2833 #line 1076 "rl78-decode.opc"
2835 ID(skip); COND(NC); 2834 ID(skip); COND(NC);
2836 2835
2837 } 2836 }
2838 break; 2837 break;
2839 case 0xd9: 2838 case 0xd9:
2840 { 2839 {
2841 /** 0110 0001 1101 1001 mov %e0%0, %1 */ 2840 /** 0110 0001 1101 1001 mov %e0%0, %1 */
2842 if (trace) 2841 if (trace)
2843 { 2842 {
2844 printf ("\033[33m%s\033[0m %02x %02x\n", 2843 printf ("\033[33m%s\033[0m %02x %02x\n",
2845 "/** 0110 0001 1101 1001 mov %e0%0, % 1 */", 2844 "/** 0110 0001 1101 1001 mov %e0%0, % 1 */",
2846 op[0], op[1]); 2845 op[0], op[1]);
2847 } 2846 }
2848 SYNTAX("mov %e0%0, %1"); 2847 SYNTAX("mov %e0%0, %1");
2849 #line 606 "rl78-decode.opc" 2848 #line 606 "rl78-decode.opc"
2850 ID(mov); DM2(HL, B, 0); SR(A); 2849 ID(mov); DM2(HL, B, 0); SR(A);
2851 2850
2852 } 2851 }
2853 break; 2852 break;
2854 case 0xdb: 2853 case 0xdb:
2855 { 2854 {
2856 /** 0110 0001 1101 1011 ror %0, %1 */ 2855 /** 0110 0001 1101 1011 ror %0, %1 */
2857 if (trace) 2856 if (trace)
2858 { 2857 {
2859 printf ("\033[33m%s\033[0m %02x %02x\n", 2858 printf ("\033[33m%s\033[0m %02x %02x\n",
2860 "/** 0110 0001 1101 1011 ror %0, %1 */", 2859 "/** 0110 0001 1101 1011 ror %0, %1 */",
2861 op[0], op[1]); 2860 op[0], op[1]);
2862 } 2861 }
2863 SYNTAX("ror %0, %1"); 2862 SYNTAX("ror %0, %1");
2864 #line 993 "rl78-decode.opc" 2863 #line 998 "rl78-decode.opc"
2865 ID(ror); DR(A); SC(1); 2864 ID(ror); DR(A); SC(1);
2866 2865
2867 } 2866 }
2868 break; 2867 break;
2869 case 0xdc: 2868 case 0xdc:
2870 { 2869 {
2871 /** 0110 0001 1101 1100 rolc %0, %1 */ 2870 /** 0110 0001 1101 1100 rolc %0, %1 */
2872 if (trace) 2871 if (trace)
2873 { 2872 {
2874 printf ("\033[33m%s\033[0m %02x %02x\n", 2873 printf ("\033[33m%s\033[0m %02x %02x\n",
2875 "/** 0110 0001 1101 1100 rolc %0, %1 */", 2874 "/** 0110 0001 1101 1100 rolc %0, %1 */",
2876 op[0], op[1]); 2875 op[0], op[1]);
2877 } 2876 }
2878 SYNTAX("rolc %0, %1"); 2877 SYNTAX("rolc %0, %1");
2879 #line 987 "rl78-decode.opc" 2878 #line 992 "rl78-decode.opc"
2880 ID(rolc); DR(A); SC(1); 2879 ID(rolc); DR(A); SC(1);
2881 2880
2882 } 2881 }
2883 break; 2882 break;
2884 case 0xdd: 2883 case 0xdd:
2885 { 2884 {
2886 /** 0110 0001 1101 1101 push %s1 */ 2885 /** 0110 0001 1101 1101 push %s1 */
2887 if (trace) 2886 if (trace)
2888 { 2887 {
2889 printf ("\033[33m%s\033[0m %02x %02x\n", 2888 printf ("\033[33m%s\033[0m %02x %02x\n",
2890 "/** 0110 0001 1101 1101 push %s1 */", 2889 "/** 0110 0001 1101 1101 push %s1 */",
2891 op[0], op[1]); 2890 op[0], op[1]);
2892 } 2891 }
2893 SYNTAX("push %s1"); 2892 SYNTAX("push %s1");
2894 #line 968 "rl78-decode.opc" 2893 #line 973 "rl78-decode.opc"
2895 ID(mov); W(); DPUSH(); SR(PSW); 2894 ID(mov); W(); DPUSH(); SR(PSW);
2896 2895
2897 /*---------------------------------------------------------------- ------*/ 2896 /*---------------------------------------------------------------- ------*/
2898 2897
2899 } 2898 }
2900 break; 2899 break;
2901 case 0xde: 2900 case 0xde:
2902 { 2901 {
2903 /** 0110 0001 1101 1110 cmps %0, %e1%1 */ 2902 /** 0110 0001 1101 1110 cmps %0, %e1%1 */
2904 if (trace) 2903 if (trace)
(...skipping 13 matching lines...) Expand all
2918 case 0xe0: 2917 case 0xe0:
2919 { 2918 {
2920 /** 0110 0001 1110 0000 or %0, %e1%1 */ 2919 /** 0110 0001 1110 0000 or %0, %e1%1 */
2921 if (trace) 2920 if (trace)
2922 { 2921 {
2923 printf ("\033[33m%s\033[0m %02x %02x\n", 2922 printf ("\033[33m%s\033[0m %02x %02x\n",
2924 "/** 0110 0001 1110 0000 or %0, %e1% 1 */", 2923 "/** 0110 0001 1110 0000 or %0, %e1% 1 */",
2925 op[0], op[1]); 2924 op[0], op[1]);
2926 } 2925 }
2927 SYNTAX("or %0, %e1%1"); 2926 SYNTAX("or %0, %e1%1");
2928 #line 917 "rl78-decode.opc" 2927 #line 922 "rl78-decode.opc"
2929 ID(or); DR(A); SM2(HL, B, 0); Fz; 2928 ID(or); DR(A); SM2(HL, B, 0); Fz;
2930 2929
2931 } 2930 }
2932 break; 2931 break;
2933 case 0xe2: 2932 case 0xe2:
2934 { 2933 {
2935 /** 0110 0001 1110 0010 or %0, %e1%1 */ 2934 /** 0110 0001 1110 0010 or %0, %e1%1 */
2936 if (trace) 2935 if (trace)
2937 { 2936 {
2938 printf ("\033[33m%s\033[0m %02x %02x\n", 2937 printf ("\033[33m%s\033[0m %02x %02x\n",
2939 "/** 0110 0001 1110 0010 or %0, %e1% 1 */", 2938 "/** 0110 0001 1110 0010 or %0, %e1% 1 */",
2940 op[0], op[1]); 2939 op[0], op[1]);
2941 } 2940 }
2942 SYNTAX("or %0, %e1%1"); 2941 SYNTAX("or %0, %e1%1");
2943 #line 923 "rl78-decode.opc" 2942 #line 928 "rl78-decode.opc"
2944 ID(or); DR(A); SM2(HL, C, 0); Fz; 2943 ID(or); DR(A); SM2(HL, C, 0); Fz;
2945 2944
2946 } 2945 }
2947 break; 2946 break;
2948 case 0xe3: 2947 case 0xe3:
2949 { 2948 {
2950 /** 0110 0001 1110 0011 sk%c1 */ 2949 /** 0110 0001 1110 0011 sk%c1 */
2951 if (trace) 2950 if (trace)
2952 { 2951 {
2953 printf ("\033[33m%s\033[0m %02x %02x\n", 2952 printf ("\033[33m%s\033[0m %02x %02x\n",
2954 "/** 0110 0001 1110 0011 sk%c1 */", 2953 "/** 0110 0001 1110 0011 sk%c1 */",
2955 op[0], op[1]); 2954 op[0], op[1]);
2956 } 2955 }
2957 SYNTAX("sk%c1"); 2956 SYNTAX("sk%c1");
2958 #line 1068 "rl78-decode.opc" 2957 #line 1073 "rl78-decode.opc"
2959 ID(skip); COND(H); 2958 ID(skip); COND(H);
2960 2959
2961 } 2960 }
2962 break; 2961 break;
2963 case 0xe8: 2962 case 0xe8:
2964 { 2963 {
2965 /** 0110 0001 1110 1000 sk%c1 */ 2964 /** 0110 0001 1110 1000 sk%c1 */
2966 if (trace) 2965 if (trace)
2967 { 2966 {
2968 printf ("\033[33m%s\033[0m %02x %02x\n", 2967 printf ("\033[33m%s\033[0m %02x %02x\n",
2969 "/** 0110 0001 1110 1000 sk%c1 */", 2968 "/** 0110 0001 1110 1000 sk%c1 */",
2970 op[0], op[1]); 2969 op[0], op[1]);
2971 } 2970 }
2972 SYNTAX("sk%c1"); 2971 SYNTAX("sk%c1");
2973 #line 1080 "rl78-decode.opc" 2972 #line 1085 "rl78-decode.opc"
2974 ID(skip); COND(Z); 2973 ID(skip); COND(Z);
2975 2974
2976 /*---------------------------------------------------------------- ------*/ 2975 /*---------------------------------------------------------------- ------*/
2977 2976
2978 } 2977 }
2979 break; 2978 break;
2980 case 0xe9: 2979 case 0xe9:
2981 { 2980 {
2982 /** 0110 0001 1110 1001 mov %0, %e1%1 */ 2981 /** 0110 0001 1110 1001 mov %0, %e1%1 */
2983 if (trace) 2982 if (trace)
(...skipping 11 matching lines...) Expand all
2995 case 0xeb: 2994 case 0xeb:
2996 { 2995 {
2997 /** 0110 0001 1110 1011 rol %0, %1 */ 2996 /** 0110 0001 1110 1011 rol %0, %1 */
2998 if (trace) 2997 if (trace)
2999 { 2998 {
3000 printf ("\033[33m%s\033[0m %02x %02x\n", 2999 printf ("\033[33m%s\033[0m %02x %02x\n",
3001 "/** 0110 0001 1110 1011 rol %0, %1 */", 3000 "/** 0110 0001 1110 1011 rol %0, %1 */",
3002 op[0], op[1]); 3001 op[0], op[1]);
3003 } 3002 }
3004 SYNTAX("rol %0, %1"); 3003 SYNTAX("rol %0, %1");
3005 #line 984 "rl78-decode.opc" 3004 #line 989 "rl78-decode.opc"
3006 ID(rol); DR(A); SC(1); 3005 ID(rol); DR(A); SC(1);
3007 3006
3008 } 3007 }
3009 break; 3008 break;
3010 case 0xec: 3009 case 0xec:
3011 { 3010 {
3012 /** 0110 0001 1110 1100 retb */ 3011 /** 0110 0001 1110 1100 retb */
3013 if (trace) 3012 if (trace)
3014 { 3013 {
3015 printf ("\033[33m%s\033[0m %02x %02x\n", 3014 printf ("\033[33m%s\033[0m %02x %02x\n",
3016 "/** 0110 0001 1110 1100 retb */", 3015 "/** 0110 0001 1110 1100 retb */",
3017 op[0], op[1]); 3016 op[0], op[1]);
3018 } 3017 }
3019 SYNTAX("retb"); 3018 SYNTAX("retb");
3020 #line 979 "rl78-decode.opc" 3019 #line 984 "rl78-decode.opc"
3021 ID(reti); 3020 ID(reti);
3022 3021
3023 /*---------------------------------------------------------------- ------*/ 3022 /*---------------------------------------------------------------- ------*/
3024 3023
3025 } 3024 }
3026 break; 3025 break;
3027 case 0xed: 3026 case 0xed:
3028 { 3027 {
3029 /** 0110 0001 1110 1101 halt */ 3028 /** 0110 0001 1110 1101 halt */
3030 if (trace) 3029 if (trace)
3031 { 3030 {
3032 printf ("\033[33m%s\033[0m %02x %02x\n", 3031 printf ("\033[33m%s\033[0m %02x %02x\n",
3033 "/** 0110 0001 1110 1101 halt */", 3032 "/** 0110 0001 1110 1101 halt */",
3034 op[0], op[1]); 3033 op[0], op[1]);
3035 } 3034 }
3036 SYNTAX("halt"); 3035 SYNTAX("halt");
3037 #line 555 "rl78-decode.opc" 3036 #line 555 "rl78-decode.opc"
3038 ID(halt); 3037 ID(halt);
3039 3038
3040 /*---------------------------------------------------------------- ------*/ 3039 /*---------------------------------------------------------------- ------*/
3041 3040
3042 } 3041 }
3043 break; 3042 break;
3044 case 0xee: 3043 case 0xee:
3045 case 0xfe: 3044 case 0xfe:
3046 { 3045 {
3047 /** 0110 0001 111r 1110 rolwc %0, %1 */ 3046 /** 0110 0001 111r 1110 rolwc %0, %1 */
3048 #line 990 "rl78-decode.opc" 3047 #line 995 "rl78-decode.opc"
3049 int r AU = (op[1] >> 4) & 0x01; 3048 int r AU = (op[1] >> 4) & 0x01;
3050 if (trace) 3049 if (trace)
3051 { 3050 {
3052 printf ("\033[33m%s\033[0m %02x %02x\n", 3051 printf ("\033[33m%s\033[0m %02x %02x\n",
3053 "/** 0110 0001 111r 1110 rolwc %0, %1 */", 3052 "/** 0110 0001 111r 1110 rolwc %0, %1 */",
3054 op[0], op[1]); 3053 op[0], op[1]);
3055 printf (" r = 0x%x\n", r); 3054 printf (" r = 0x%x\n", r);
3056 } 3055 }
3057 SYNTAX("rolwc %0, %1"); 3056 SYNTAX("rolwc %0, %1");
3058 #line 990 "rl78-decode.opc" 3057 #line 995 "rl78-decode.opc"
3059 ID(rolc); W(); DRW(r); SC(1); 3058 ID(rolc); W(); DRW(r); SC(1);
3060 3059
3061 } 3060 }
3062 break; 3061 break;
3063 case 0xf0: 3062 case 0xf0:
3064 { 3063 {
3065 /** 0110 0001 1111 0000 xor %0, %e1%1 */ 3064 /** 0110 0001 1111 0000 xor %0, %e1%1 */
3066 if (trace) 3065 if (trace)
3067 { 3066 {
3068 printf ("\033[33m%s\033[0m %02x %02x\n", 3067 printf ("\033[33m%s\033[0m %02x %02x\n",
3069 "/** 0110 0001 1111 0000 xor %0, %e1% 1 */", 3068 "/** 0110 0001 1111 0000 xor %0, %e1% 1 */",
3070 op[0], op[1]); 3069 op[0], op[1]);
3071 } 3070 }
3072 SYNTAX("xor %0, %e1%1"); 3071 SYNTAX("xor %0, %e1%1");
3073 #line 1221 "rl78-decode.opc" 3072 #line 1226 "rl78-decode.opc"
3074 ID(xor); DR(A); SM2(HL, B, 0); Fz; 3073 ID(xor); DR(A); SM2(HL, B, 0); Fz;
3075 3074
3076 } 3075 }
3077 break; 3076 break;
3078 case 0xf2: 3077 case 0xf2:
3079 { 3078 {
3080 /** 0110 0001 1111 0010 xor %0, %e1%1 */ 3079 /** 0110 0001 1111 0010 xor %0, %e1%1 */
3081 if (trace) 3080 if (trace)
3082 { 3081 {
3083 printf ("\033[33m%s\033[0m %02x %02x\n", 3082 printf ("\033[33m%s\033[0m %02x %02x\n",
3084 "/** 0110 0001 1111 0010 xor %0, %e1% 1 */", 3083 "/** 0110 0001 1111 0010 xor %0, %e1% 1 */",
3085 op[0], op[1]); 3084 op[0], op[1]);
3086 } 3085 }
3087 SYNTAX("xor %0, %e1%1"); 3086 SYNTAX("xor %0, %e1%1");
3088 #line 1227 "rl78-decode.opc" 3087 #line 1232 "rl78-decode.opc"
3089 ID(xor); DR(A); SM2(HL, C, 0); Fz; 3088 ID(xor); DR(A); SM2(HL, C, 0); Fz;
3090 3089
3091 } 3090 }
3092 break; 3091 break;
3093 case 0xf3: 3092 case 0xf3:
3094 { 3093 {
3095 /** 0110 0001 1111 0011 sk%c1 */ 3094 /** 0110 0001 1111 0011 sk%c1 */
3096 if (trace) 3095 if (trace)
3097 { 3096 {
3098 printf ("\033[33m%s\033[0m %02x %02x\n", 3097 printf ("\033[33m%s\033[0m %02x %02x\n",
3099 "/** 0110 0001 1111 0011 sk%c1 */", 3098 "/** 0110 0001 1111 0011 sk%c1 */",
3100 op[0], op[1]); 3099 op[0], op[1]);
3101 } 3100 }
3102 SYNTAX("sk%c1"); 3101 SYNTAX("sk%c1");
3103 #line 1074 "rl78-decode.opc" 3102 #line 1079 "rl78-decode.opc"
3104 ID(skip); COND(NH); 3103 ID(skip); COND(NH);
3105 3104
3106 } 3105 }
3107 break; 3106 break;
3108 case 0xf8: 3107 case 0xf8:
3109 { 3108 {
3110 /** 0110 0001 1111 1000 sk%c1 */ 3109 /** 0110 0001 1111 1000 sk%c1 */
3111 if (trace) 3110 if (trace)
3112 { 3111 {
3113 printf ("\033[33m%s\033[0m %02x %02x\n", 3112 printf ("\033[33m%s\033[0m %02x %02x\n",
3114 "/** 0110 0001 1111 1000 sk%c1 */", 3113 "/** 0110 0001 1111 1000 sk%c1 */",
3115 op[0], op[1]); 3114 op[0], op[1]);
3116 } 3115 }
3117 SYNTAX("sk%c1"); 3116 SYNTAX("sk%c1");
3118 #line 1077 "rl78-decode.opc" 3117 #line 1082 "rl78-decode.opc"
3119 ID(skip); COND(NZ); 3118 ID(skip); COND(NZ);
3120 3119
3121 } 3120 }
3122 break; 3121 break;
3123 case 0xf9: 3122 case 0xf9:
3124 { 3123 {
3125 /** 0110 0001 1111 1001 mov %e0%0, %1 */ 3124 /** 0110 0001 1111 1001 mov %e0%0, %1 */
3126 if (trace) 3125 if (trace)
3127 { 3126 {
3128 printf ("\033[33m%s\033[0m %02x %02x\n", 3127 printf ("\033[33m%s\033[0m %02x %02x\n",
3129 "/** 0110 0001 1111 1001 mov %e0%0, % 1 */", 3128 "/** 0110 0001 1111 1001 mov %e0%0, % 1 */",
3130 op[0], op[1]); 3129 op[0], op[1]);
3131 } 3130 }
3132 SYNTAX("mov %e0%0, %1"); 3131 SYNTAX("mov %e0%0, %1");
3133 #line 615 "rl78-decode.opc" 3132 #line 615 "rl78-decode.opc"
3134 ID(mov); DM2(HL, C, 0); SR(A); 3133 ID(mov); DM2(HL, C, 0); SR(A);
3135 3134
3136 } 3135 }
3137 break; 3136 break;
3138 case 0xfb: 3137 case 0xfb:
3139 { 3138 {
3140 /** 0110 0001 1111 1011 rorc %0, %1 */ 3139 /** 0110 0001 1111 1011 rorc %0, %1 */
3141 if (trace) 3140 if (trace)
3142 { 3141 {
3143 printf ("\033[33m%s\033[0m %02x %02x\n", 3142 printf ("\033[33m%s\033[0m %02x %02x\n",
3144 "/** 0110 0001 1111 1011 rorc %0, %1 */", 3143 "/** 0110 0001 1111 1011 rorc %0, %1 */",
3145 op[0], op[1]); 3144 op[0], op[1]);
3146 } 3145 }
3147 SYNTAX("rorc %0, %1"); 3146 SYNTAX("rorc %0, %1");
3148 #line 996 "rl78-decode.opc" 3147 #line 1001 "rl78-decode.opc"
3149 ID(rorc); DR(A); SC(1); 3148 ID(rorc); DR(A); SC(1);
3150 3149
3151 /*---------------------------------------------------------------- ------*/ 3150 /*---------------------------------------------------------------- ------*/
3152 3151
3153 /* Note that the branch insns need to be listed before the shift 3152 /* Note that the branch insns need to be listed before the shift
3154 ones, as "shift count of zero" means "branch insn" */ 3153 ones, as "shift count of zero" means "branch insn" */
3155 3154
3156 } 3155 }
3157 break; 3156 break;
3158 case 0xfc: 3157 case 0xfc:
3159 { 3158 {
3160 /** 0110 0001 1111 1100 reti */ 3159 /** 0110 0001 1111 1100 reti */
3161 if (trace) 3160 if (trace)
3162 { 3161 {
3163 printf ("\033[33m%s\033[0m %02x %02x\n", 3162 printf ("\033[33m%s\033[0m %02x %02x\n",
3164 "/** 0110 0001 1111 1100 reti */", 3163 "/** 0110 0001 1111 1100 reti */",
3165 op[0], op[1]); 3164 op[0], op[1]);
3166 } 3165 }
3167 SYNTAX("reti"); 3166 SYNTAX("reti");
3168 #line 976 "rl78-decode.opc" 3167 #line 981 "rl78-decode.opc"
3169 ID(reti); 3168 ID(reti);
3170 3169
3171 } 3170 }
3172 break; 3171 break;
3173 case 0xfd: 3172 case 0xfd:
3174 { 3173 {
3175 /** 0110 0001 1111 1101 stop */ 3174 /** 0110 0001 1111 1101 stop */
3176 if (trace) 3175 if (trace)
3177 { 3176 {
3178 printf ("\033[33m%s\033[0m %02x %02x\n", 3177 printf ("\033[33m%s\033[0m %02x %02x\n",
3179 "/** 0110 0001 1111 1101 stop */", 3178 "/** 0110 0001 1111 1101 stop */",
3180 op[0], op[1]); 3179 op[0], op[1]);
3181 } 3180 }
3182 SYNTAX("stop"); 3181 SYNTAX("stop");
3183 #line 1085 "rl78-decode.opc" 3182 #line 1090 "rl78-decode.opc"
3184 ID(stop); 3183 ID(stop);
3185 3184
3186 /*---------------------------------------------------------------- ------*/ 3185 /*---------------------------------------------------------------- ------*/
3187 3186
3188 } 3187 }
3189 break; 3188 break;
3190 default: UNSUPPORTED(); break; 3189 default: UNSUPPORTED(); break;
3191 } 3190 }
3192 break; 3191 break;
3193 case 0x68: 3192 case 0x68:
(...skipping 29 matching lines...) Expand all
3223 case 0x6a: 3222 case 0x6a:
3224 { 3223 {
3225 /** 0110 1010 or %0, #%1 */ 3224 /** 0110 1010 or %0, #%1 */
3226 if (trace) 3225 if (trace)
3227 { 3226 {
3228 printf ("\033[33m%s\033[0m %02x\n", 3227 printf ("\033[33m%s\033[0m %02x\n",
3229 "/** 0110 1010 or %0, #%1 */", 3228 "/** 0110 1010 or %0, #%1 */",
3230 op[0]); 3229 op[0]);
3231 } 3230 }
3232 SYNTAX("or %0, #%1"); 3231 SYNTAX("or %0, #%1");
3233 #line 938 "rl78-decode.opc" 3232 #line 943 "rl78-decode.opc"
3234 ID(or); DM(None, SADDR); SC(IMMU(1)); Fz; 3233 ID(or); DM(None, SADDR); SC(IMMU(1)); Fz;
3235 3234
3236 /*---------------------------------------------------------------------- */ 3235 /*---------------------------------------------------------------------- */
3237 3236
3238 } 3237 }
3239 break; 3238 break;
3240 case 0x6b: 3239 case 0x6b:
3241 { 3240 {
3242 /** 0110 1011 or %0, %1 */ 3241 /** 0110 1011 or %0, %1 */
3243 if (trace) 3242 if (trace)
3244 { 3243 {
3245 printf ("\033[33m%s\033[0m %02x\n", 3244 printf ("\033[33m%s\033[0m %02x\n",
3246 "/** 0110 1011 or %0, %1 */", 3245 "/** 0110 1011 or %0, %1 */",
3247 op[0]); 3246 op[0]);
3248 } 3247 }
3249 SYNTAX("or %0, %1"); 3248 SYNTAX("or %0, %1");
3250 #line 935 "rl78-decode.opc" 3249 #line 940 "rl78-decode.opc"
3251 ID(or); DR(A); SM(None, SADDR); Fz; 3250 ID(or); DR(A); SM(None, SADDR); Fz;
3252 3251
3253 } 3252 }
3254 break; 3253 break;
3255 case 0x6c: 3254 case 0x6c:
3256 { 3255 {
3257 /** 0110 1100 or %0, #%1 */ 3256 /** 0110 1100 or %0, #%1 */
3258 if (trace) 3257 if (trace)
3259 { 3258 {
3260 printf ("\033[33m%s\033[0m %02x\n", 3259 printf ("\033[33m%s\033[0m %02x\n",
3261 "/** 0110 1100 or %0, #%1 */", 3260 "/** 0110 1100 or %0, #%1 */",
3262 op[0]); 3261 op[0]);
3263 } 3262 }
3264 SYNTAX("or %0, #%1"); 3263 SYNTAX("or %0, #%1");
3265 #line 926 "rl78-decode.opc" 3264 #line 931 "rl78-decode.opc"
3266 ID(or); DR(A); SC(IMMU(1)); Fz; 3265 ID(or); DR(A); SC(IMMU(1)); Fz;
3267 3266
3268 } 3267 }
3269 break; 3268 break;
3270 case 0x6d: 3269 case 0x6d:
3271 { 3270 {
3272 /** 0110 1101 or %0, %e1%1 */ 3271 /** 0110 1101 or %0, %e1%1 */
3273 if (trace) 3272 if (trace)
3274 { 3273 {
3275 printf ("\033[33m%s\033[0m %02x\n", 3274 printf ("\033[33m%s\033[0m %02x\n",
3276 "/** 0110 1101 or %0, %e1%1 */", 3275 "/** 0110 1101 or %0, %e1%1 */",
3277 op[0]); 3276 op[0]);
3278 } 3277 }
3279 SYNTAX("or %0, %e1%1"); 3278 SYNTAX("or %0, %e1%1");
3280 #line 914 "rl78-decode.opc" 3279 #line 919 "rl78-decode.opc"
3281 ID(or); DR(A); SM(HL, 0); Fz; 3280 ID(or); DR(A); SM(HL, 0); Fz;
3282 3281
3283 } 3282 }
3284 break; 3283 break;
3285 case 0x6e: 3284 case 0x6e:
3286 { 3285 {
3287 /** 0110 1110 or %0, %e1%1 */ 3286 /** 0110 1110 or %0, %e1%1 */
3288 if (trace) 3287 if (trace)
3289 { 3288 {
3290 printf ("\033[33m%s\033[0m %02x\n", 3289 printf ("\033[33m%s\033[0m %02x\n",
3291 "/** 0110 1110 or %0, %e1%1 */", 3290 "/** 0110 1110 or %0, %e1%1 */",
3292 op[0]); 3291 op[0]);
3293 } 3292 }
3294 SYNTAX("or %0, %e1%1"); 3293 SYNTAX("or %0, %e1%1");
3295 #line 920 "rl78-decode.opc" 3294 #line 925 "rl78-decode.opc"
3296 ID(or); DR(A); SM(HL, IMMU(1)); Fz; 3295 ID(or); DR(A); SM(HL, IMMU(1)); Fz;
3297 3296
3298 } 3297 }
3299 break; 3298 break;
3300 case 0x6f: 3299 case 0x6f:
3301 { 3300 {
3302 /** 0110 1111 or %0, %e1%!1 */ 3301 /** 0110 1111 or %0, %e1%!1 */
3303 if (trace) 3302 if (trace)
3304 { 3303 {
3305 printf ("\033[33m%s\033[0m %02x\n", 3304 printf ("\033[33m%s\033[0m %02x\n",
3306 "/** 0110 1111 or %0, %e1%!1 */", 3305 "/** 0110 1111 or %0, %e1%!1 */",
3307 op[0]); 3306 op[0]);
3308 } 3307 }
3309 SYNTAX("or %0, %e1%!1"); 3308 SYNTAX("or %0, %e1%!1");
3310 #line 911 "rl78-decode.opc" 3309 #line 916 "rl78-decode.opc"
3311 ID(or); DR(A); SM(None, IMMU(2)); Fz; 3310 ID(or); DR(A); SM(None, IMMU(2)); Fz;
3312 3311
3313 } 3312 }
3314 break; 3313 break;
3315 case 0x70: 3314 case 0x70:
3316 case 0x72: 3315 case 0x72:
3317 case 0x73: 3316 case 0x73:
3318 case 0x74: 3317 case 0x74:
3319 case 0x75: 3318 case 0x75:
3320 case 0x76: 3319 case 0x76:
(...skipping 22 matching lines...) Expand all
3343 case 0x00: 3342 case 0x00:
3344 case 0x10: 3343 case 0x10:
3345 case 0x20: 3344 case 0x20:
3346 case 0x30: 3345 case 0x30:
3347 case 0x40: 3346 case 0x40:
3348 case 0x50: 3347 case 0x50:
3349 case 0x60: 3348 case 0x60:
3350 case 0x70: 3349 case 0x70:
3351 { 3350 {
3352 /** 0111 0001 0bit 0000 set1 %e0%!0 */ 3351 /** 0111 0001 0bit 0000 set1 %e0%!0 */
3353 #line 1017 "rl78-decode.opc" 3352 #line 1022 "rl78-decode.opc"
3354 int bit AU = (op[1] >> 4) & 0x07; 3353 int bit AU = (op[1] >> 4) & 0x07;
3355 if (trace) 3354 if (trace)
3356 { 3355 {
3357 printf ("\033[33m%s\033[0m %02x %02x\n", 3356 printf ("\033[33m%s\033[0m %02x %02x\n",
3358 "/** 0111 0001 0bit 0000 set1 %e0%!0 */", 3357 "/** 0111 0001 0bit 0000 set1 %e0%!0 */",
3359 op[0], op[1]); 3358 op[0], op[1]);
3360 printf (" bit = 0x%x\n", bit); 3359 printf (" bit = 0x%x\n", bit);
3361 } 3360 }
3362 SYNTAX("set1 %e0%!0"); 3361 SYNTAX("set1 %e0%!0");
3363 #line 1017 "rl78-decode.opc" 3362 #line 1022 "rl78-decode.opc"
3364 ID(mov); DM(None, IMMU(2)); DB(bit); SC(1); 3363 ID(mov); DM(None, IMMU(2)); DB(bit); SC(1);
3365 3364
3366 } 3365 }
3367 break; 3366 break;
3368 case 0x01: 3367 case 0x01:
3369 case 0x11: 3368 case 0x11:
3370 case 0x21: 3369 case 0x21:
3371 case 0x31: 3370 case 0x31:
3372 case 0x41: 3371 case 0x41:
3373 case 0x51: 3372 case 0x51:
(...skipping 19 matching lines...) Expand all
3393 case 0x02: 3392 case 0x02:
3394 case 0x12: 3393 case 0x12:
3395 case 0x22: 3394 case 0x22:
3396 case 0x32: 3395 case 0x32:
3397 case 0x42: 3396 case 0x42:
3398 case 0x52: 3397 case 0x52:
3399 case 0x62: 3398 case 0x62:
3400 case 0x72: 3399 case 0x72:
3401 { 3400 {
3402 /** 0111 0001 0bit 0010 set1 %0 */ 3401 /** 0111 0001 0bit 0010 set1 %0 */
3403 #line 1035 "rl78-decode.opc" 3402 #line 1040 "rl78-decode.opc"
3404 int bit AU = (op[1] >> 4) & 0x07; 3403 int bit AU = (op[1] >> 4) & 0x07;
3405 if (trace) 3404 if (trace)
3406 { 3405 {
3407 printf ("\033[33m%s\033[0m %02x %02x\n", 3406 printf ("\033[33m%s\033[0m %02x %02x\n",
3408 "/** 0111 0001 0bit 0010 set1 %0 */", 3407 "/** 0111 0001 0bit 0010 set1 %0 */",
3409 op[0], op[1]); 3408 op[0], op[1]);
3410 printf (" bit = 0x%x\n", bit); 3409 printf (" bit = 0x%x\n", bit);
3411 } 3410 }
3412 SYNTAX("set1 %0"); 3411 SYNTAX("set1 %0");
3413 #line 1035 "rl78-decode.opc" 3412 #line 1040 "rl78-decode.opc"
3414 ID(mov); DM(None, SADDR); DB(bit); SC(1); 3413 ID(mov); DM(None, SADDR); DB(bit); SC(1);
3415 3414
3416 /*---------------------------------------------------------------- ------*/ 3415 /*---------------------------------------------------------------- ------*/
3417 3416
3418 } 3417 }
3419 break; 3418 break;
3420 case 0x03: 3419 case 0x03:
3421 case 0x13: 3420 case 0x13:
3422 case 0x23: 3421 case 0x23:
3423 case 0x33: 3422 case 0x33:
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
3502 case 0x06: 3501 case 0x06:
3503 case 0x16: 3502 case 0x16:
3504 case 0x26: 3503 case 0x26:
3505 case 0x36: 3504 case 0x36:
3506 case 0x46: 3505 case 0x46:
3507 case 0x56: 3506 case 0x56:
3508 case 0x66: 3507 case 0x66:
3509 case 0x76: 3508 case 0x76:
3510 { 3509 {
3511 /** 0111 0001 0bit 0110 or1 cy, %s1 */ 3510 /** 0111 0001 0bit 0110 or1 cy, %s1 */
3512 #line 952 "rl78-decode.opc" 3511 #line 957 "rl78-decode.opc"
3513 int bit AU = (op[1] >> 4) & 0x07; 3512 int bit AU = (op[1] >> 4) & 0x07;
3514 if (trace) 3513 if (trace)
3515 { 3514 {
3516 printf ("\033[33m%s\033[0m %02x %02x\n", 3515 printf ("\033[33m%s\033[0m %02x %02x\n",
3517 "/** 0111 0001 0bit 0110 or1 cy, %s1 */", 3516 "/** 0111 0001 0bit 0110 or1 cy, %s1 */",
3518 op[0], op[1]); 3517 op[0], op[1]);
3519 printf (" bit = 0x%x\n", bit); 3518 printf (" bit = 0x%x\n", bit);
3520 } 3519 }
3521 SYNTAX("or1 cy, %s1"); 3520 SYNTAX("or1 cy, %s1");
3522 #line 952 "rl78-decode.opc" 3521 #line 957 "rl78-decode.opc"
3523 ID(or); DCY(); SM(None, SADDR); SB(bit); 3522 ID(or); DCY(); SM(None, SADDR); SB(bit);
3524 3523
3525 /*---------------------------------------------------------------- ------*/ 3524 /*---------------------------------------------------------------- ------*/
3526 3525
3527 } 3526 }
3528 break; 3527 break;
3529 case 0x07: 3528 case 0x07:
3530 case 0x17: 3529 case 0x17:
3531 case 0x27: 3530 case 0x27:
3532 case 0x37: 3531 case 0x37:
3533 case 0x47: 3532 case 0x47:
3534 case 0x57: 3533 case 0x57:
3535 case 0x67: 3534 case 0x67:
3536 case 0x77: 3535 case 0x77:
3537 { 3536 {
3538 /** 0111 0001 0bit 0111 xor1 cy, %s1 */ 3537 /** 0111 0001 0bit 0111 xor1 cy, %s1 */
3539 #line 1256 "rl78-decode.opc" 3538 #line 1261 "rl78-decode.opc"
3540 int bit AU = (op[1] >> 4) & 0x07; 3539 int bit AU = (op[1] >> 4) & 0x07;
3541 if (trace) 3540 if (trace)
3542 { 3541 {
3543 printf ("\033[33m%s\033[0m %02x %02x\n", 3542 printf ("\033[33m%s\033[0m %02x %02x\n",
3544 "/** 0111 0001 0bit 0111 xor1 cy, %s1 */", 3543 "/** 0111 0001 0bit 0111 xor1 cy, %s1 */",
3545 op[0], op[1]); 3544 op[0], op[1]);
3546 printf (" bit = 0x%x\n", bit); 3545 printf (" bit = 0x%x\n", bit);
3547 } 3546 }
3548 SYNTAX("xor1 cy, %s1"); 3547 SYNTAX("xor1 cy, %s1");
3549 #line 1256 "rl78-decode.opc" 3548 #line 1261 "rl78-decode.opc"
3550 ID(xor); DCY(); SM(None, SADDR); SB(bit); 3549 ID(xor); DCY(); SM(None, SADDR); SB(bit);
3551 3550
3552 /*---------------------------------------------------------------- ------*/ 3551 /*---------------------------------------------------------------- ------*/
3553 3552
3554 } 3553 }
3555 break; 3554 break;
3556 case 0x08: 3555 case 0x08:
3557 case 0x18: 3556 case 0x18:
3558 case 0x28: 3557 case 0x28:
3559 case 0x38: 3558 case 0x38:
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
3608 case 0x0a: 3607 case 0x0a:
3609 case 0x1a: 3608 case 0x1a:
3610 case 0x2a: 3609 case 0x2a:
3611 case 0x3a: 3610 case 0x3a:
3612 case 0x4a: 3611 case 0x4a:
3613 case 0x5a: 3612 case 0x5a:
3614 case 0x6a: 3613 case 0x6a:
3615 case 0x7a: 3614 case 0x7a:
3616 { 3615 {
3617 /** 0111 0001 0bit 1010 set1 %s0 */ 3616 /** 0111 0001 0bit 1010 set1 %s0 */
3618 #line 1029 "rl78-decode.opc" 3617 #line 1034 "rl78-decode.opc"
3619 int bit AU = (op[1] >> 4) & 0x07; 3618 int bit AU = (op[1] >> 4) & 0x07;
3620 if (trace) 3619 if (trace)
3621 { 3620 {
3622 printf ("\033[33m%s\033[0m %02x %02x\n", 3621 printf ("\033[33m%s\033[0m %02x %02x\n",
3623 "/** 0111 0001 0bit 1010 set1 %s0 */", 3622 "/** 0111 0001 0bit 1010 set1 %s0 */",
3624 op[0], op[1]); 3623 op[0], op[1]);
3625 printf (" bit = 0x%x\n", bit); 3624 printf (" bit = 0x%x\n", bit);
3626 } 3625 }
3627 SYNTAX("set1 %s0"); 3626 SYNTAX("set1 %s0");
3628 #line 1029 "rl78-decode.opc" 3627 #line 1034 "rl78-decode.opc"
3629 op0 = SFR; 3628 op0 = SFR;
3630 ID(mov); DM(None, op0); DB(bit); SC(1); 3629 ID(mov); DM(None, op0); DB(bit); SC(1);
3631 if (op0 == RL78_SFR_PSW && bit == 7) 3630 if (op0 == RL78_SFR_PSW && bit == 7)
3632 rl78->syntax = "ei"; 3631 rl78->syntax = "ei";
3633 3632
3634 } 3633 }
3635 break; 3634 break;
3636 case 0x0b: 3635 case 0x0b:
3637 case 0x1b: 3636 case 0x1b:
3638 case 0x2b: 3637 case 0x2b:
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
3714 case 0x0e: 3713 case 0x0e:
3715 case 0x1e: 3714 case 0x1e:
3716 case 0x2e: 3715 case 0x2e:
3717 case 0x3e: 3716 case 0x3e:
3718 case 0x4e: 3717 case 0x4e:
3719 case 0x5e: 3718 case 0x5e:
3720 case 0x6e: 3719 case 0x6e:
3721 case 0x7e: 3720 case 0x7e:
3722 { 3721 {
3723 /** 0111 0001 0bit 1110 or1 cy, %s1 */ 3722 /** 0111 0001 0bit 1110 or1 cy, %s1 */
3724 #line 949 "rl78-decode.opc" 3723 #line 954 "rl78-decode.opc"
3725 int bit AU = (op[1] >> 4) & 0x07; 3724 int bit AU = (op[1] >> 4) & 0x07;
3726 if (trace) 3725 if (trace)
3727 { 3726 {
3728 printf ("\033[33m%s\033[0m %02x %02x\n", 3727 printf ("\033[33m%s\033[0m %02x %02x\n",
3729 "/** 0111 0001 0bit 1110 or1 cy, %s1 */", 3728 "/** 0111 0001 0bit 1110 or1 cy, %s1 */",
3730 op[0], op[1]); 3729 op[0], op[1]);
3731 printf (" bit = 0x%x\n", bit); 3730 printf (" bit = 0x%x\n", bit);
3732 } 3731 }
3733 SYNTAX("or1 cy, %s1"); 3732 SYNTAX("or1 cy, %s1");
3734 #line 949 "rl78-decode.opc" 3733 #line 954 "rl78-decode.opc"
3735 ID(or); DCY(); SM(None, SFR); SB(bit); 3734 ID(or); DCY(); SM(None, SFR); SB(bit);
3736 3735
3737 } 3736 }
3738 break; 3737 break;
3739 case 0x0f: 3738 case 0x0f:
3740 case 0x1f: 3739 case 0x1f:
3741 case 0x2f: 3740 case 0x2f:
3742 case 0x3f: 3741 case 0x3f:
3743 case 0x4f: 3742 case 0x4f:
3744 case 0x5f: 3743 case 0x5f:
3745 case 0x6f: 3744 case 0x6f:
3746 case 0x7f: 3745 case 0x7f:
3747 { 3746 {
3748 /** 0111 0001 0bit 1111 xor1 cy, %s1 */ 3747 /** 0111 0001 0bit 1111 xor1 cy, %s1 */
3749 #line 1253 "rl78-decode.opc" 3748 #line 1258 "rl78-decode.opc"
3750 int bit AU = (op[1] >> 4) & 0x07; 3749 int bit AU = (op[1] >> 4) & 0x07;
3751 if (trace) 3750 if (trace)
3752 { 3751 {
3753 printf ("\033[33m%s\033[0m %02x %02x\n", 3752 printf ("\033[33m%s\033[0m %02x %02x\n",
3754 "/** 0111 0001 0bit 1111 xor1 cy, %s1 */", 3753 "/** 0111 0001 0bit 1111 xor1 cy, %s1 */",
3755 op[0], op[1]); 3754 op[0], op[1]);
3756 printf (" bit = 0x%x\n", bit); 3755 printf (" bit = 0x%x\n", bit);
3757 } 3756 }
3758 SYNTAX("xor1 cy, %s1"); 3757 SYNTAX("xor1 cy, %s1");
3759 #line 1253 "rl78-decode.opc" 3758 #line 1258 "rl78-decode.opc"
3760 ID(xor); DCY(); SM(None, SFR); SB(bit); 3759 ID(xor); DCY(); SM(None, SFR); SB(bit);
3761 3760
3762 } 3761 }
3763 break; 3762 break;
3764 case 0x80: 3763 case 0x80:
3765 { 3764 {
3766 /** 0111 0001 1000 0000 set1 cy */ 3765 /** 0111 0001 1000 0000 set1 cy */
3767 if (trace) 3766 if (trace)
3768 { 3767 {
3769 printf ("\033[33m%s\033[0m %02x %02x\n", 3768 printf ("\033[33m%s\033[0m %02x %02x\n",
3770 "/** 0111 0001 1000 0000 set1 cy */", 3769 "/** 0111 0001 1000 0000 set1 cy */",
3771 op[0], op[1]); 3770 op[0], op[1]);
3772 } 3771 }
3773 SYNTAX("set1 cy"); 3772 SYNTAX("set1 cy");
3774 #line 1026 "rl78-decode.opc" 3773 #line 1031 "rl78-decode.opc"
3775 ID(mov); DCY(); SC(1); 3774 ID(mov); DCY(); SC(1);
3776 3775
3777 } 3776 }
3778 break; 3777 break;
3779 case 0x81: 3778 case 0x81:
3780 case 0x91: 3779 case 0x91:
3781 case 0xa1: 3780 case 0xa1:
3782 case 0xb1: 3781 case 0xb1:
3783 case 0xc1: 3782 case 0xc1:
3784 case 0xd1: 3783 case 0xd1:
(...skipping 19 matching lines...) Expand all
3804 case 0x82: 3803 case 0x82:
3805 case 0x92: 3804 case 0x92:
3806 case 0xa2: 3805 case 0xa2:
3807 case 0xb2: 3806 case 0xb2:
3808 case 0xc2: 3807 case 0xc2:
3809 case 0xd2: 3808 case 0xd2:
3810 case 0xe2: 3809 case 0xe2:
3811 case 0xf2: 3810 case 0xf2:
3812 { 3811 {
3813 /** 0111 0001 1bit 0010 set1 %e0%0 */ 3812 /** 0111 0001 1bit 0010 set1 %e0%0 */
3814 #line 1020 "rl78-decode.opc" 3813 #line 1025 "rl78-decode.opc"
3815 int bit AU = (op[1] >> 4) & 0x07; 3814 int bit AU = (op[1] >> 4) & 0x07;
3816 if (trace) 3815 if (trace)
3817 { 3816 {
3818 printf ("\033[33m%s\033[0m %02x %02x\n", 3817 printf ("\033[33m%s\033[0m %02x %02x\n",
3819 "/** 0111 0001 1bit 0010 set1 %e0%0 */", 3818 "/** 0111 0001 1bit 0010 set1 %e0%0 */",
3820 op[0], op[1]); 3819 op[0], op[1]);
3821 printf (" bit = 0x%x\n", bit); 3820 printf (" bit = 0x%x\n", bit);
3822 } 3821 }
3823 SYNTAX("set1 %e0%0"); 3822 SYNTAX("set1 %e0%0");
3824 #line 1020 "rl78-decode.opc" 3823 #line 1025 "rl78-decode.opc"
3825 ID(mov); DM(HL, 0); DB(bit); SC(1); 3824 ID(mov); DM(HL, 0); DB(bit); SC(1);
3826 3825
3827 } 3826 }
3828 break; 3827 break;
3829 case 0x83: 3828 case 0x83:
3830 case 0x93: 3829 case 0x93:
3831 case 0xa3: 3830 case 0xa3:
3832 case 0xb3: 3831 case 0xb3:
3833 case 0xc3: 3832 case 0xc3:
3834 case 0xd3: 3833 case 0xd3:
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
3904 case 0x86: 3903 case 0x86:
3905 case 0x96: 3904 case 0x96:
3906 case 0xa6: 3905 case 0xa6:
3907 case 0xb6: 3906 case 0xb6:
3908 case 0xc6: 3907 case 0xc6:
3909 case 0xd6: 3908 case 0xd6:
3910 case 0xe6: 3909 case 0xe6:
3911 case 0xf6: 3910 case 0xf6:
3912 { 3911 {
3913 /** 0111 0001 1bit 0110 or1 cy, %e1%1 */ 3912 /** 0111 0001 1bit 0110 or1 cy, %e1%1 */
3914 #line 943 "rl78-decode.opc" 3913 #line 948 "rl78-decode.opc"
3915 int bit AU = (op[1] >> 4) & 0x07; 3914 int bit AU = (op[1] >> 4) & 0x07;
3916 if (trace) 3915 if (trace)
3917 { 3916 {
3918 printf ("\033[33m%s\033[0m %02x %02x\n", 3917 printf ("\033[33m%s\033[0m %02x %02x\n",
3919 "/** 0111 0001 1bit 0110 or1 cy, %e1% 1 */", 3918 "/** 0111 0001 1bit 0110 or1 cy, %e1% 1 */",
3920 op[0], op[1]); 3919 op[0], op[1]);
3921 printf (" bit = 0x%x\n", bit); 3920 printf (" bit = 0x%x\n", bit);
3922 } 3921 }
3923 SYNTAX("or1 cy, %e1%1"); 3922 SYNTAX("or1 cy, %e1%1");
3924 #line 943 "rl78-decode.opc" 3923 #line 948 "rl78-decode.opc"
3925 ID(or); DCY(); SM(HL, 0); SB(bit); 3924 ID(or); DCY(); SM(HL, 0); SB(bit);
3926 3925
3927 } 3926 }
3928 break; 3927 break;
3929 case 0x87: 3928 case 0x87:
3930 case 0x97: 3929 case 0x97:
3931 case 0xa7: 3930 case 0xa7:
3932 case 0xb7: 3931 case 0xb7:
3933 case 0xc7: 3932 case 0xc7:
3934 case 0xd7: 3933 case 0xd7:
3935 case 0xe7: 3934 case 0xe7:
3936 case 0xf7: 3935 case 0xf7:
3937 { 3936 {
3938 /** 0111 0001 1bit 0111 xor1 cy, %e1%1 */ 3937 /** 0111 0001 1bit 0111 xor1 cy, %e1%1 */
3939 #line 1247 "rl78-decode.opc" 3938 #line 1252 "rl78-decode.opc"
3940 int bit AU = (op[1] >> 4) & 0x07; 3939 int bit AU = (op[1] >> 4) & 0x07;
3941 if (trace) 3940 if (trace)
3942 { 3941 {
3943 printf ("\033[33m%s\033[0m %02x %02x\n", 3942 printf ("\033[33m%s\033[0m %02x %02x\n",
3944 "/** 0111 0001 1bit 0111 xor1 cy, %e1% 1 */", 3943 "/** 0111 0001 1bit 0111 xor1 cy, %e1% 1 */",
3945 op[0], op[1]); 3944 op[0], op[1]);
3946 printf (" bit = 0x%x\n", bit); 3945 printf (" bit = 0x%x\n", bit);
3947 } 3946 }
3948 SYNTAX("xor1 cy, %e1%1"); 3947 SYNTAX("xor1 cy, %e1%1");
3949 #line 1247 "rl78-decode.opc" 3948 #line 1252 "rl78-decode.opc"
3950 ID(xor); DCY(); SM(HL, 0); SB(bit); 3949 ID(xor); DCY(); SM(HL, 0); SB(bit);
3951 3950
3952 } 3951 }
3953 break; 3952 break;
3954 case 0x88: 3953 case 0x88:
3955 { 3954 {
3956 /** 0111 0001 1000 1000 clr1 cy */ 3955 /** 0111 0001 1000 1000 clr1 cy */
3957 if (trace) 3956 if (trace)
3958 { 3957 {
3959 printf ("\033[33m%s\033[0m %02x %02x\n", 3958 printf ("\033[33m%s\033[0m %02x %02x\n",
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
3994 case 0x8a: 3993 case 0x8a:
3995 case 0x9a: 3994 case 0x9a:
3996 case 0xaa: 3995 case 0xaa:
3997 case 0xba: 3996 case 0xba:
3998 case 0xca: 3997 case 0xca:
3999 case 0xda: 3998 case 0xda:
4000 case 0xea: 3999 case 0xea:
4001 case 0xfa: 4000 case 0xfa:
4002 { 4001 {
4003 /** 0111 0001 1bit 1010 set1 %0 */ 4002 /** 0111 0001 1bit 1010 set1 %0 */
4004 #line 1023 "rl78-decode.opc" 4003 #line 1028 "rl78-decode.opc"
4005 int bit AU = (op[1] >> 4) & 0x07; 4004 int bit AU = (op[1] >> 4) & 0x07;
4006 if (trace) 4005 if (trace)
4007 { 4006 {
4008 printf ("\033[33m%s\033[0m %02x %02x\n", 4007 printf ("\033[33m%s\033[0m %02x %02x\n",
4009 "/** 0111 0001 1bit 1010 set1 %0 */", 4008 "/** 0111 0001 1bit 1010 set1 %0 */",
4010 op[0], op[1]); 4009 op[0], op[1]);
4011 printf (" bit = 0x%x\n", bit); 4010 printf (" bit = 0x%x\n", bit);
4012 } 4011 }
4013 SYNTAX("set1 %0"); 4012 SYNTAX("set1 %0");
4014 #line 1023 "rl78-decode.opc" 4013 #line 1028 "rl78-decode.opc"
4015 ID(mov); DR(A); DB(bit); SC(1); 4014 ID(mov); DR(A); DB(bit); SC(1);
4016 4015
4017 } 4016 }
4018 break; 4017 break;
4019 case 0x8b: 4018 case 0x8b:
4020 case 0x9b: 4019 case 0x9b:
4021 case 0xab: 4020 case 0xab:
4022 case 0xbb: 4021 case 0xbb:
4023 case 0xcb: 4022 case 0xcb:
4024 case 0xdb: 4023 case 0xdb:
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
4094 case 0x8e: 4093 case 0x8e:
4095 case 0x9e: 4094 case 0x9e:
4096 case 0xae: 4095 case 0xae:
4097 case 0xbe: 4096 case 0xbe:
4098 case 0xce: 4097 case 0xce:
4099 case 0xde: 4098 case 0xde:
4100 case 0xee: 4099 case 0xee:
4101 case 0xfe: 4100 case 0xfe:
4102 { 4101 {
4103 /** 0111 0001 1bit 1110 or1 cy, %1 */ 4102 /** 0111 0001 1bit 1110 or1 cy, %1 */
4104 #line 946 "rl78-decode.opc" 4103 #line 951 "rl78-decode.opc"
4105 int bit AU = (op[1] >> 4) & 0x07; 4104 int bit AU = (op[1] >> 4) & 0x07;
4106 if (trace) 4105 if (trace)
4107 { 4106 {
4108 printf ("\033[33m%s\033[0m %02x %02x\n", 4107 printf ("\033[33m%s\033[0m %02x %02x\n",
4109 "/** 0111 0001 1bit 1110 or1 cy, %1 */", 4108 "/** 0111 0001 1bit 1110 or1 cy, %1 */",
4110 op[0], op[1]); 4109 op[0], op[1]);
4111 printf (" bit = 0x%x\n", bit); 4110 printf (" bit = 0x%x\n", bit);
4112 } 4111 }
4113 SYNTAX("or1 cy, %1"); 4112 SYNTAX("or1 cy, %1");
4114 #line 946 "rl78-decode.opc" 4113 #line 951 "rl78-decode.opc"
4115 ID(or); DCY(); SR(A); SB(bit); 4114 ID(or); DCY(); SR(A); SB(bit);
4116 4115
4117 } 4116 }
4118 break; 4117 break;
4119 case 0x8f: 4118 case 0x8f:
4120 case 0x9f: 4119 case 0x9f:
4121 case 0xaf: 4120 case 0xaf:
4122 case 0xbf: 4121 case 0xbf:
4123 case 0xcf: 4122 case 0xcf:
4124 case 0xdf: 4123 case 0xdf:
4125 case 0xef: 4124 case 0xef:
4126 case 0xff: 4125 case 0xff:
4127 { 4126 {
4128 /** 0111 0001 1bit 1111 xor1 cy, %1 */ 4127 /** 0111 0001 1bit 1111 xor1 cy, %1 */
4129 #line 1250 "rl78-decode.opc" 4128 #line 1255 "rl78-decode.opc"
4130 int bit AU = (op[1] >> 4) & 0x07; 4129 int bit AU = (op[1] >> 4) & 0x07;
4131 if (trace) 4130 if (trace)
4132 { 4131 {
4133 printf ("\033[33m%s\033[0m %02x %02x\n", 4132 printf ("\033[33m%s\033[0m %02x %02x\n",
4134 "/** 0111 0001 1bit 1111 xor1 cy, %1 */", 4133 "/** 0111 0001 1bit 1111 xor1 cy, %1 */",
4135 op[0], op[1]); 4134 op[0], op[1]);
4136 printf (" bit = 0x%x\n", bit); 4135 printf (" bit = 0x%x\n", bit);
4137 } 4136 }
4138 SYNTAX("xor1 cy, %1"); 4137 SYNTAX("xor1 cy, %1");
4139 #line 1250 "rl78-decode.opc" 4138 #line 1255 "rl78-decode.opc"
4140 ID(xor); DCY(); SR(A); SB(bit); 4139 ID(xor); DCY(); SR(A); SB(bit);
4141 4140
4142 } 4141 }
4143 break; 4142 break;
4143 case 0xc0:
4144 {
4145 /** 0111 0001 1100 0000 not1 cy */
4146 if (trace)
4147 {
4148 printf ("\033[33m%s\033[0m %02x %02x\n",
4149 "/** 0111 0001 1100 0000 not1 cy */",
4150 op[0], op[1]);
4151 }
4152 SYNTAX("not1 cy");
4153 #line 892 "rl78-decode.opc"
4154 ID(xor); DCY(); SC(1);
4155
4156 /*---------------------------------------------------------------- ------*/
4157
4158 }
4159 break;
4144 default: UNSUPPORTED(); break; 4160 default: UNSUPPORTED(); break;
4145 } 4161 }
4146 break; 4162 break;
4147 case 0x78: 4163 case 0x78:
4148 { 4164 {
4149 /** 0111 1000 movw %e0%0, %1 */ 4165 /** 0111 1000 movw %e0%0, %1 */
4150 if (trace) 4166 if (trace)
4151 { 4167 {
4152 printf ("\033[33m%s\033[0m %02x\n", 4168 printf ("\033[33m%s\033[0m %02x\n",
4153 "/** 0111 1000 movw %e0%0, %1 */", 4169 "/** 0111 1000 movw %e0%0, %1 */",
(...skipping 23 matching lines...) Expand all
4177 case 0x7a: 4193 case 0x7a:
4178 { 4194 {
4179 /** 0111 1010 xor %0, #%1 */ 4195 /** 0111 1010 xor %0, #%1 */
4180 if (trace) 4196 if (trace)
4181 { 4197 {
4182 printf ("\033[33m%s\033[0m %02x\n", 4198 printf ("\033[33m%s\033[0m %02x\n",
4183 "/** 0111 1010 xor %0, #%1 */", 4199 "/** 0111 1010 xor %0, #%1 */",
4184 op[0]); 4200 op[0]);
4185 } 4201 }
4186 SYNTAX("xor %0, #%1"); 4202 SYNTAX("xor %0, #%1");
4187 #line 1242 "rl78-decode.opc" 4203 #line 1247 "rl78-decode.opc"
4188 ID(xor); DM(None, SADDR); SC(IMMU(1)); Fz; 4204 ID(xor); DM(None, SADDR); SC(IMMU(1)); Fz;
4189 4205
4190 /*---------------------------------------------------------------------- */ 4206 /*---------------------------------------------------------------------- */
4191 4207
4192 } 4208 }
4193 break; 4209 break;
4194 case 0x7b: 4210 case 0x7b:
4195 { 4211 {
4196 /** 0111 1011 xor %0, %1 */ 4212 /** 0111 1011 xor %0, %1 */
4197 if (trace) 4213 if (trace)
4198 { 4214 {
4199 printf ("\033[33m%s\033[0m %02x\n", 4215 printf ("\033[33m%s\033[0m %02x\n",
4200 "/** 0111 1011 xor %0, %1 */", 4216 "/** 0111 1011 xor %0, %1 */",
4201 op[0]); 4217 op[0]);
4202 } 4218 }
4203 SYNTAX("xor %0, %1"); 4219 SYNTAX("xor %0, %1");
4204 #line 1239 "rl78-decode.opc" 4220 #line 1244 "rl78-decode.opc"
4205 ID(xor); DR(A); SM(None, SADDR); Fz; 4221 ID(xor); DR(A); SM(None, SADDR); Fz;
4206 4222
4207 } 4223 }
4208 break; 4224 break;
4209 case 0x7c: 4225 case 0x7c:
4210 { 4226 {
4211 /** 0111 1100 xor %0, #%1 */ 4227 /** 0111 1100 xor %0, #%1 */
4212 if (trace) 4228 if (trace)
4213 { 4229 {
4214 printf ("\033[33m%s\033[0m %02x\n", 4230 printf ("\033[33m%s\033[0m %02x\n",
4215 "/** 0111 1100 xor %0, #%1 */", 4231 "/** 0111 1100 xor %0, #%1 */",
4216 op[0]); 4232 op[0]);
4217 } 4233 }
4218 SYNTAX("xor %0, #%1"); 4234 SYNTAX("xor %0, #%1");
4219 #line 1230 "rl78-decode.opc" 4235 #line 1235 "rl78-decode.opc"
4220 ID(xor); DR(A); SC(IMMU(1)); Fz; 4236 ID(xor); DR(A); SC(IMMU(1)); Fz;
4221 4237
4222 } 4238 }
4223 break; 4239 break;
4224 case 0x7d: 4240 case 0x7d:
4225 { 4241 {
4226 /** 0111 1101 xor %0, %e1%1 */ 4242 /** 0111 1101 xor %0, %e1%1 */
4227 if (trace) 4243 if (trace)
4228 { 4244 {
4229 printf ("\033[33m%s\033[0m %02x\n", 4245 printf ("\033[33m%s\033[0m %02x\n",
4230 "/** 0111 1101 xor %0, %e1%1 */", 4246 "/** 0111 1101 xor %0, %e1%1 */",
4231 op[0]); 4247 op[0]);
4232 } 4248 }
4233 SYNTAX("xor %0, %e1%1"); 4249 SYNTAX("xor %0, %e1%1");
4234 #line 1218 "rl78-decode.opc" 4250 #line 1223 "rl78-decode.opc"
4235 ID(xor); DR(A); SM(HL, 0); Fz; 4251 ID(xor); DR(A); SM(HL, 0); Fz;
4236 4252
4237 } 4253 }
4238 break; 4254 break;
4239 case 0x7e: 4255 case 0x7e:
4240 { 4256 {
4241 /** 0111 1110 xor %0, %e1%1 */ 4257 /** 0111 1110 xor %0, %e1%1 */
4242 if (trace) 4258 if (trace)
4243 { 4259 {
4244 printf ("\033[33m%s\033[0m %02x\n", 4260 printf ("\033[33m%s\033[0m %02x\n",
4245 "/** 0111 1110 xor %0, %e1%1 */", 4261 "/** 0111 1110 xor %0, %e1%1 */",
4246 op[0]); 4262 op[0]);
4247 } 4263 }
4248 SYNTAX("xor %0, %e1%1"); 4264 SYNTAX("xor %0, %e1%1");
4249 #line 1224 "rl78-decode.opc" 4265 #line 1229 "rl78-decode.opc"
4250 ID(xor); DR(A); SM(HL, IMMU(1)); Fz; 4266 ID(xor); DR(A); SM(HL, IMMU(1)); Fz;
4251 4267
4252 } 4268 }
4253 break; 4269 break;
4254 case 0x7f: 4270 case 0x7f:
4255 { 4271 {
4256 /** 0111 1111 xor %0, %e1%!1 */ 4272 /** 0111 1111 xor %0, %e1%!1 */
4257 if (trace) 4273 if (trace)
4258 { 4274 {
4259 printf ("\033[33m%s\033[0m %02x\n", 4275 printf ("\033[33m%s\033[0m %02x\n",
4260 "/** 0111 1111 xor %0, %e1%!1 */", 4276 "/** 0111 1111 xor %0, %e1%!1 */",
4261 op[0]); 4277 op[0]);
4262 } 4278 }
4263 SYNTAX("xor %0, %e1%!1"); 4279 SYNTAX("xor %0, %e1%!1");
4264 #line 1215 "rl78-decode.opc" 4280 #line 1220 "rl78-decode.opc"
4265 ID(xor); DR(A); SM(None, IMMU(2)); Fz; 4281 ID(xor); DR(A); SM(None, IMMU(2)); Fz;
4266 4282
4267 } 4283 }
4268 break; 4284 break;
4269 case 0x80: 4285 case 0x80:
4270 case 0x81: 4286 case 0x81:
4271 case 0x82: 4287 case 0x82:
4272 case 0x83: 4288 case 0x83:
4273 case 0x84: 4289 case 0x84:
4274 case 0x85: 4290 case 0x85:
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
4970 ID(mov); W(); DM(None, IMMU(2)); SR(AX); 4986 ID(mov); W(); DM(None, IMMU(2)); SR(AX);
4971 4987
4972 } 4988 }
4973 break; 4989 break;
4974 case 0xc0: 4990 case 0xc0:
4975 case 0xc2: 4991 case 0xc2:
4976 case 0xc4: 4992 case 0xc4:
4977 case 0xc6: 4993 case 0xc6:
4978 { 4994 {
4979 /** 1100 0rg0 pop %0 */ 4995 /** 1100 0rg0 pop %0 */
4980 #line 957 "rl78-decode.opc" 4996 #line 962 "rl78-decode.opc"
4981 int rg AU = (op[0] >> 1) & 0x03; 4997 int rg AU = (op[0] >> 1) & 0x03;
4982 if (trace) 4998 if (trace)
4983 { 4999 {
4984 printf ("\033[33m%s\033[0m %02x\n", 5000 printf ("\033[33m%s\033[0m %02x\n",
4985 "/** 1100 0rg0 pop %0 */", 5001 "/** 1100 0rg0 pop %0 */",
4986 op[0]); 5002 op[0]);
4987 printf (" rg = 0x%x\n", rg); 5003 printf (" rg = 0x%x\n", rg);
4988 } 5004 }
4989 SYNTAX("pop %0"); 5005 SYNTAX("pop %0");
4990 #line 957 "rl78-decode.opc" 5006 #line 962 "rl78-decode.opc"
4991 ID(mov); W(); DRW(rg); SPOP(); 5007 ID(mov); W(); DRW(rg); SPOP();
4992 5008
4993 } 5009 }
4994 break; 5010 break;
4995 case 0xc1: 5011 case 0xc1:
4996 case 0xc3: 5012 case 0xc3:
4997 case 0xc5: 5013 case 0xc5:
4998 case 0xc7: 5014 case 0xc7:
4999 { 5015 {
5000 /** 1100 0rg1 push %1 */ 5016 /** 1100 0rg1 push %1 */
5001 #line 965 "rl78-decode.opc" 5017 #line 970 "rl78-decode.opc"
5002 int rg AU = (op[0] >> 1) & 0x03; 5018 int rg AU = (op[0] >> 1) & 0x03;
5003 if (trace) 5019 if (trace)
5004 { 5020 {
5005 printf ("\033[33m%s\033[0m %02x\n", 5021 printf ("\033[33m%s\033[0m %02x\n",
5006 "/** 1100 0rg1 push %1 */", 5022 "/** 1100 0rg1 push %1 */",
5007 op[0]); 5023 op[0]);
5008 printf (" rg = 0x%x\n", rg); 5024 printf (" rg = 0x%x\n", rg);
5009 } 5025 }
5010 SYNTAX("push %1"); 5026 SYNTAX("push %1");
5011 #line 965 "rl78-decode.opc" 5027 #line 970 "rl78-decode.opc"
5012 ID(mov); W(); DPUSH(); SRW(rg); 5028 ID(mov); W(); DPUSH(); SRW(rg);
5013 5029
5014 } 5030 }
5015 break; 5031 break;
5016 case 0xc8: 5032 case 0xc8:
5017 { 5033 {
5018 /** 1100 1000 mov %0, #%1 */ 5034 /** 1100 1000 mov %0, #%1 */
5019 if (trace) 5035 if (trace)
5020 { 5036 {
5021 printf ("\033[33m%s\033[0m %02x\n", 5037 printf ("\033[33m%s\033[0m %02x\n",
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
5230 case 0xd7: 5246 case 0xd7:
5231 { 5247 {
5232 /** 1101 0111 ret */ 5248 /** 1101 0111 ret */
5233 if (trace) 5249 if (trace)
5234 { 5250 {
5235 printf ("\033[33m%s\033[0m %02x\n", 5251 printf ("\033[33m%s\033[0m %02x\n",
5236 "/** 1101 0111 ret */", 5252 "/** 1101 0111 ret */",
5237 op[0]); 5253 op[0]);
5238 } 5254 }
5239 SYNTAX("ret"); 5255 SYNTAX("ret");
5240 #line 973 "rl78-decode.opc" 5256 #line 978 "rl78-decode.opc"
5241 ID(ret); 5257 ID(ret);
5242 5258
5243 } 5259 }
5244 break; 5260 break;
5245 case 0xd8: 5261 case 0xd8:
5246 { 5262 {
5247 /** 1101 1000 mov %0, %1 */ 5263 /** 1101 1000 mov %0, %1 */
5248 if (trace) 5264 if (trace)
5249 { 5265 {
5250 printf ("\033[33m%s\033[0m %02x\n", 5266 printf ("\033[33m%s\033[0m %02x\n",
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
5373 /*---------------------------------------------------------------------- */ 5389 /*---------------------------------------------------------------------- */
5374 5390
5375 } 5391 }
5376 break; 5392 break;
5377 case 0xe0: 5393 case 0xe0:
5378 case 0xe1: 5394 case 0xe1:
5379 case 0xe2: 5395 case 0xe2:
5380 case 0xe3: 5396 case 0xe3:
5381 { 5397 {
5382 /** 1110 00rg oneb %0 */ 5398 /** 1110 00rg oneb %0 */
5383 #line 895 "rl78-decode.opc" 5399 #line 900 "rl78-decode.opc"
5384 int rg AU = op[0] & 0x03; 5400 int rg AU = op[0] & 0x03;
5385 if (trace) 5401 if (trace)
5386 { 5402 {
5387 printf ("\033[33m%s\033[0m %02x\n", 5403 printf ("\033[33m%s\033[0m %02x\n",
5388 "/** 1110 00rg oneb %0 */", 5404 "/** 1110 00rg oneb %0 */",
5389 op[0]); 5405 op[0]);
5390 printf (" rg = 0x%x\n", rg); 5406 printf (" rg = 0x%x\n", rg);
5391 } 5407 }
5392 SYNTAX("oneb %0"); 5408 SYNTAX("oneb %0");
5393 #line 895 "rl78-decode.opc" 5409 #line 900 "rl78-decode.opc"
5394 ID(mov); DRB(rg); SC(1); 5410 ID(mov); DRB(rg); SC(1);
5395 5411
5396 } 5412 }
5397 break; 5413 break;
5398 case 0xe4: 5414 case 0xe4:
5399 { 5415 {
5400 /** 1110 0100 oneb %0 */ 5416 /** 1110 0100 oneb %0 */
5401 if (trace) 5417 if (trace)
5402 { 5418 {
5403 printf ("\033[33m%s\033[0m %02x\n", 5419 printf ("\033[33m%s\033[0m %02x\n",
5404 "/** 1110 0100 oneb %0 */", 5420 "/** 1110 0100 oneb %0 */",
5405 op[0]); 5421 op[0]);
5406 } 5422 }
5407 SYNTAX("oneb %0"); 5423 SYNTAX("oneb %0");
5408 #line 898 "rl78-decode.opc" 5424 #line 903 "rl78-decode.opc"
5409 ID(mov); DM(None, SADDR); SC(1); 5425 ID(mov); DM(None, SADDR); SC(1);
5410 5426
5411 /*---------------------------------------------------------------------- */ 5427 /*---------------------------------------------------------------------- */
5412 5428
5413 } 5429 }
5414 break; 5430 break;
5415 case 0xe5: 5431 case 0xe5:
5416 { 5432 {
5417 /** 1110 0101 oneb %e0%!0 */ 5433 /** 1110 0101 oneb %e0%!0 */
5418 if (trace) 5434 if (trace)
5419 { 5435 {
5420 printf ("\033[33m%s\033[0m %02x\n", 5436 printf ("\033[33m%s\033[0m %02x\n",
5421 "/** 1110 0101 oneb %e0%!0 */", 5437 "/** 1110 0101 oneb %e0%!0 */",
5422 op[0]); 5438 op[0]);
5423 } 5439 }
5424 SYNTAX("oneb %e0%!0"); 5440 SYNTAX("oneb %e0%!0");
5425 #line 892 "rl78-decode.opc" 5441 #line 897 "rl78-decode.opc"
5426 ID(mov); DM(None, IMMU(2)); SC(1); 5442 ID(mov); DM(None, IMMU(2)); SC(1);
5427 5443
5428 } 5444 }
5429 break; 5445 break;
5430 case 0xe6: 5446 case 0xe6:
5431 { 5447 {
5432 /** 1110 0110 onew %0 */ 5448 /** 1110 0110 onew %0 */
5433 if (trace) 5449 if (trace)
5434 { 5450 {
5435 printf ("\033[33m%s\033[0m %02x\n", 5451 printf ("\033[33m%s\033[0m %02x\n",
5436 "/** 1110 0110 onew %0 */", 5452 "/** 1110 0110 onew %0 */",
5437 op[0]); 5453 op[0]);
5438 } 5454 }
5439 SYNTAX("onew %0"); 5455 SYNTAX("onew %0");
5440 #line 903 "rl78-decode.opc" 5456 #line 908 "rl78-decode.opc"
5441 ID(mov); DR(AX); SC(1); 5457 ID(mov); DR(AX); SC(1);
5442 5458
5443 } 5459 }
5444 break; 5460 break;
5445 case 0xe7: 5461 case 0xe7:
5446 { 5462 {
5447 /** 1110 0111 onew %0 */ 5463 /** 1110 0111 onew %0 */
5448 if (trace) 5464 if (trace)
5449 { 5465 {
5450 printf ("\033[33m%s\033[0m %02x\n", 5466 printf ("\033[33m%s\033[0m %02x\n",
5451 "/** 1110 0111 onew %0 */", 5467 "/** 1110 0111 onew %0 */",
5452 op[0]); 5468 op[0]);
5453 } 5469 }
5454 SYNTAX("onew %0"); 5470 SYNTAX("onew %0");
5455 #line 906 "rl78-decode.opc" 5471 #line 911 "rl78-decode.opc"
5456 ID(mov); DR(BC); SC(1); 5472 ID(mov); DR(BC); SC(1);
5457 5473
5458 /*---------------------------------------------------------------------- */ 5474 /*---------------------------------------------------------------------- */
5459 5475
5460 } 5476 }
5461 break; 5477 break;
5462 case 0xe8: 5478 case 0xe8:
5463 { 5479 {
5464 /** 1110 1000 mov %0, %1 */ 5480 /** 1110 1000 mov %0, %1 */
5465 if (trace) 5481 if (trace)
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
5718 "/** 1111 1111 brk1 */", 5734 "/** 1111 1111 brk1 */",
5719 op[0]); 5735 op[0]);
5720 } 5736 }
5721 SYNTAX("brk1"); 5737 SYNTAX("brk1");
5722 #line 364 "rl78-decode.opc" 5738 #line 364 "rl78-decode.opc"
5723 ID(break); 5739 ID(break);
5724 5740
5725 } 5741 }
5726 break; 5742 break;
5727 } 5743 }
5728 #line 1261 "rl78-decode.opc" 5744 #line 1266 "rl78-decode.opc"
5729 5745
5730 return rl78->n_bytes; 5746 return rl78->n_bytes;
5731 } 5747 }
OLDNEW
« no previous file with comments | « opcodes/ppc-opc.c ('k') | opcodes/rl78-decode.opc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698