Remove unnecessary column in opcodes.lst
authorHugo Villeneuve <hugo@hugovil.com>
Wed, 12 Feb 2014 04:30:16 +0000 (23:30 -0500)
committerHugo Villeneuve <hugo@hugovil.com>
Thu, 13 Feb 2014 05:25:18 +0000 (00:25 -0500)
Begin to cleanup Perl code

src/common/opcode2c.pl
src/common/opcodes.lst

index d79dc6d..599c234 100755 (executable)
@@ -54,61 +54,79 @@ write_header(DISASM_H);
 print DISASM_H "#ifndef DISASM_H\n";
 print DISASM_H "#define DISASM_H 1\n\n";
 
+# Column indexes in opcodes.lst table
+use constant COL_OPCODE => 0;
+use constant COL_INSTR  => 1;
+use constant COL_ARGS   => 2;
+
+use constant COL_COUNT_NO_ARGS => 4;
+
 $nbinst=0;
 $nbaddr=0;
 $nbargs=0;
 $instnumb=0;
 
-$ligne=<OPCODELST>;
-$ligne=<OPCODELST>;
+# Discard first two lines, which are comments
+$ligne = <OPCODELST>;
+$ligne = <OPCODELST>;
+
 while($ligne=<OPCODELST>) {
     chop $ligne;
-    if (length $ligne < 2) {next;}
-    @wordlist=split ' ',$ligne;
-    $nbword=@wordlist;
-    $instruction=$wordlist[2];
-    for($i=3;$i<($nbword-2);$i++) {$instruction="$instruction $wordlist[$i]";}
-
-    $a_instruction[$instnumb]=$instruction;
-    $a_bytes[$instnumb]=$wordlist[$nbword-2];
-    $a_cycles[$instnumb]=$wordlist[$nbword-1];
-    $a_opcodehex[$instnumb]=$wordlist[1];
-    $a_opcodebin[$instnumb]=$wordlist[0];
-
-    $instfunction[$instnumb]="CPU8051::OP_$wordlist[1]";
-
-    $instargs[$instnumb << 2]=$instargs[($instnumb << 2) + 1]=$instargs[($instnumb << 2) + 2]=$instargs[($instnumb << 2) + 3]=0;
-    if ($nbword > 5) {
-       @argslist=split /\,/,$wordlist[3];
-       $argslistsize=@argslist;
-       $instargs[$instnumb << 2]=$argslistsize;
-       for ($i=0;$i<$argslistsize;$i++) {
+
+    if (length $ligne < 2) {
+        next;
+    }
+
+    @wordlist = split ' ',$ligne;
+    $nbword = @wordlist;
+    $instruction = $wordlist[COL_INSTR];
+
+    for ($i = (COL_INSTR + 1); $i < ($nbword - 2); $i++) {
+        $instruction = "$instruction $wordlist[$i]";
+    }
+
+    $a_instruction[$instnumb] = $instruction;
+    $a_bytes[$instnumb] = $wordlist[$nbword - 2];
+    $a_cycles[$instnumb] = $wordlist[$nbword - 1];
+    $a_opcodehex[$instnumb] = $wordlist[COL_OPCODE];
+
+    $instfunction[$instnumb]="CPU8051::OP_$wordlist[COL_OPCODE]";
+
+    $instargs[$instnumb << 2] = $instargs[($instnumb << 2) + 1] =
+        $instargs[($instnumb << 2) + 2] = $instargs[($instnumb << 2) + 3] = 0;
+
+    if ($nbword > COL_COUNT_NO_ARGS) {
+       @argslist = split /\,/,$wordlist[COL_ARGS];
+       $argslistsize = @argslist;
+       $instargs[$instnumb << 2] = $argslistsize;
+       for ($i = 0; $i < $argslistsize; $i++) {
            if (not exists $argstypes{$argslist[$i]}) {
-               $argstypes[$nbargs]=$argslist[$i];
-               $argstypes{$argslist[$i]}=$nbargs++;
+               $argstypes[$nbargs] = $argslist[$i];
+               $argstypes{$argslist[$i]} = $nbargs++;
            }
-           $instargs[($instnumb << 2) + $i + 1]=$argstypes{$argslist[$i]};
+           $instargs[($instnumb << 2) + $i + 1] = $argstypes{$argslist[$i]};
        }
     }
 
-    if (not exists $insttext{$wordlist[2]}) {
-       $insttext[$nbinst]=$wordlist[2];
-       $insttext{$wordlist[2]}=$nbinst++;
+    if (not exists $insttext{$wordlist[COL_INSTR]}) {
+       $insttext[$nbinst] = $wordlist[COL_INSTR];
+       $insttext{$wordlist[COL_INSTR]} = $nbinst++;
     }
 
-    $insttype[$instnumb]=$insttext{$wordlist[2]};
+    $insttype[$instnumb] = $insttext{$wordlist[COL_INSTR]};
 
-    if ( not exists $addrmode{$wordlist[3]}) {
-       $addrmode[$nbaddr]=$wordlist[3];
-       $addrmode{$wordlist[3]}=$nbaddr++;
+    if ( not exists $addrmode{$wordlist[COL_ARGS]}) {
+       $addrmode[$nbaddr] = $wordlist[COL_ARGS];
+       $addrmode{$wordlist[COL_ARGS]} = $nbaddr++;
     }
 
-    $nbbytes[$instnumb]=$wordlist[$nbword-2];
+    $nbbytes[$instnumb] = $wordlist[$nbword - 2];
 
-    $instaddr[$instnumb]=$addrmode{$wordlist[3]};
+    $instaddr[$instnumb] = $addrmode{$wordlist[COL_ARGS]};
 
     $instnumb++;
 }
+
 # ------------------------------------------------------------------------------
 print DISASM_H "/*\n";
 print DISASM_H " * For all 256 opcodes, the value in this table gives the instruction type\n";
index 1494258..abe6e53 100644 (file)
-Opcode(bin)    Opcode  Instruction             Bytes   Cycles
---------------------------------------------------------------
-00000000       00      NOP                     1       1
-00000001       01      AJMP addr11             2       2
-00000010       02      LJMP addr16             3       2
-00000011       03      RR A                    1       1
-00000100       04      INC A                   1       1
-00000101       05      INC direct              2       1
-00000110       06      INC @R0                 1       1
-00000111       07      INC @R1                 1       1
-00001000       08      INC R0                  1       1
-00001001       09      INC R1                  1       1
-00001010       0A      INC R2                  1       1
-00001011       0B      INC R3                  1       1
-00001100       0C      INC R4                  1       1
-00001101       0D      INC R5                  1       1
-00001110       0E      INC R6                  1       1
-00001111       0F      INC R7                  1       1
-00010000       10      JBC bitaddr,reladdr     3       2
-00010001       11      ACALL addr11            2       2
-00010010       12      LCALL addr16            3       2
-00010011       13      RRC A                   1       1
-00010100       14      DEC A                   1       1
-00010101       15      DEC direct              2       1
-00010110       16      DEC @R0                 1       1
-00010111       17      DEC @R1                 1       1
-00011000       18      DEC R0                  1       1
-00011001       19      DEC R1                  1       1
-00011010       1A      DEC R2                  1       1
-00011011       1B      DEC R3                  1       1
-00011100       1C      DEC R4                  1       1
-00011101       1D      DEC R5                  1       1
-00011110       1E      DEC R6                  1       1
-00011111       1F      DEC R7                  1       1
-00100000       20      JB bitaddr,reladdr      3       2
-00100001       21      AJMP addr11             2       2       
-00100010       22      RET                     1       2
-00100011       23      RL A                    1       1
-00100100       24      ADD A,#data             2       1
-00100101       25      ADD A,direct            2       1
-00100110       26      ADD A,@R0               1       1
-00100111       27      ADD A,@R1               1       1
-00101000       28      ADD A,R0                1       1
-00101001       29      ADD A,R1                1       1
-00101010       2A      ADD A,R2                1       1
-00101011       2B      ADD A,R3                1       1
-00101100       2C      ADD A,R4                1       1
-00101101       2D      ADD A,R5                1       1
-00101110       2E      ADD A,R6                1       1
-00101111       2F      ADD A,R7                1       1
-00110000       30      JNB bitaddr,reladdr     3       2
-00110001       31      ACALL addr11            2       2
-00110010       32      RETI                    1       2
-00110011       33      RLC A                   1       1
-00110100       34      ADDC A,#data            2       1
-00110101       35      ADDC A,direct           2       1
-00110110       36      ADDC A,@R0              1       1
-00110111       37      ADDC A,@R1              1       1
-00111000       38      ADDC A,R0               1       1
-00111001       39      ADDC A,R1               1       1
-00111010       3A      ADDC A,R2               1       1
-00111011       3B      ADDC A,R3               1       1
-00111100       3C      ADDC A,R4               1       1
-00111101       3D      ADDC A,R5               1       1
-00111110       3E      ADDC A,R6               1       1
-00111111       3F      ADDC A,R7               1       1
-01000000       40      JC reladdr              2       2
-01000001       41      AJMP addr11             2       2       
-01000010       42      ORL direct,A            2       1
-01000011       43      ORL direct,#data        3       2
-01000100       44      ORL A,#data             2       1
-01000101       45      ORL A,direct            2       1
-01000110       46      ORL A,@R0               1       1
-01000111       47      ORL A,@R1               1       1
-01001000       48      ORL A,R0                1       1
-01001001       49      ORL A,R1                1       1
-01001010       4A      ORL A,R2                1       1
-01001011       4B      ORL A,R3                1       1
-01001100       4C      ORL A,R4                1       1
-01001101       4D      ORL A,R5                1       1
-01001110       4E      ORL A,R6                1       1
-01001111       4F      ORL A,R7                1       1
-01010000       50      JNC reladdr             2       2
-01010001       51      ACALL addr11            2       2
-01010010       52      ANL direct,A            2       1
-01010011       53      ANL direct,#data        3       2
-01010100       54      ANL A,#data             2       1
-01010101       55      ANL A,direct            2       1
-01010110       56      ANL A,@R0               1       1
-01010111       57      ANL A,@R1               1       1
-01011000       58      ANL A,R0                1       1
-01011001       59      ANL A,R1                1       1
-01011010       5A      ANL A,R2                1       1
-01011011       5B      ANL A,R3                1       1
-01011100       5C      ANL A,R4                1       1
-01011101       5D      ANL A,R5                1       1
-01011110       5E      ANL A,R6                1       1
-01011111       5F      ANL A,R7                1       1
-01100000       60      JZ reladdr              2       2
-01100001       61      AJMP addr11             2       2       
-01100010       62      XRL direct,A            2       1
-01100011       63      XRL direct,#data        3       2
-01100100       64      XRL A,#data             2       1
-01100101       65      XRL A,direct            2       1
-01100110       66      XRL A,@R0               1       1
-01100111       67      XRL A,@R1               1       1
-01101000       68      XRL A,R0                1       1
-01101001       69      XRL A,R1                1       1
-01101010       6A      XRL A,R2                1       1
-01101011       6B      XRL A,R3                1       1
-01101100       6C      XRL A,R4                1       1
-01101101       6D      XRL A,R5                1       1
-01101110       6E      XRL A,R6                1       1
-01101111       6F      XRL A,R7                1       1
-01110000       70      JNZ reladdr             2       2
-01110001       71      ACALL addr11            2       2
-01110010       72      ORL C,bitaddr           2       2
-01110011       73      JMP @A+DPTR             1       2
-01110100       74      MOV A,#data             2       1
-01110101       75      MOV direct,#data        3       2
-01110110       76      MOV @R0,#data           2       1
-01110111       77      MOV @R1,#data           2       1
-01111000       78      MOV R0,#data            2       1
-01111001       79      MOV R1,#data            2       1
-01111010       7A      MOV R2,#data            2       1
-01111011       7B      MOV R3,#data            2       1
-01111100       7C      MOV R4,#data            2       1
-01111101       7D      MOV R5,#data            2       1
-01111110       7E      MOV R6,#data            2       1
-01111111       7F      MOV R7,#data            2       1
-10000000       80      SJMP reladdr            2       2
-10000001       81      AJMP addr11             2       2
-10000010       82      ANL C,bitaddr           2       1
-10000011       83      MOVC A,@A+PC            1       1
-10000100       84      DIV AB                  1       4
-10000101       85      MOV direct,direct       3       1
-10000110       86      MOV direct,@R0          2       2
-10000111       87      MOV direct,@R1          2       2
-10001000       88      MOV direct,R0           2       2
-10001001       89      MOV direct,R1           2       2
-10001010       8A      MOV direct,R2           2       2
-10001011       8B      MOV direct,R3           2       2
-10001100       8C      MOV direct,R4           2       2
-10001101       8D      MOV direct,R5           2       2
-10001110       8E      MOV direct,R6           2       2
-10001111       8F      MOV direct,R7           2       2
-10010000       90      MOV DPTR,#data16        3       2
-10010001       91      ACALL addr11            2       2
-10010010       92      MOV bitaddr,C           2       2
-10010011       93      MOVC A,@A+DPTR          1       2
-10010100       94      SUBB A,#data            2       1
-10010101       95      SUBB A,direct           2       1
-10010110       96      SUBB A,@R0              1       1
-10010111       97      SUBB A,@R1              1       1
-10011000       98      SUBB A,R0               1       1
-10011001       99      SUBB A,R1               1       1
-10011010       9A      SUBB A,R2               1       1
-10011011       9B      SUBB A,R3               1       1
-10011100       9C      SUBB A,R4               1       1
-10011101       9D      SUBB A,R5               1       1
-10011110       9E      SUBB A,R6               1       1
-10011111       9F      SUBB A,R7               1       1
-10100000       A0      ORL C,/bitaddr          2       1
-10100001       A1      AJMP addr11             2       2
-10100010       A2      MOV C,bitaddr           2       1
-10100011       A3      INC DPTR                1       2
-10100100       A4      MUL AB                  1       4
-10100101       A5      INVALID                 1       1
-10100110       A6      MOV @R0,direct          2       2
-10100111       A7      MOV @R1,direct          2       2
-10101000       A8      MOV R0,direct           2       2
-10101001       A9      MOV R1,direct           2       2
-10101010       AA      MOV R2,direct           2       2
-10101011       AB      MOV R3,direct           2       2
-10101100       AC      MOV R4,direct           2       2
-10101101       AD      MOV R5,direct           2       2
-10101110       AE      MOV R6,direct           2       2
-10101111       AF      MOV R7,direct           2       2
-10110000       B0      ANL C,/bitaddr          2       1
-10110001       B1      ACALL addr11            2       2
-10110010       B2      CPL bitaddr             2       1
-10110011       B3      CPL C                   1       1
-10110100       B4      CJNE A,#data,reladdr    3       2
-10110101       B5      CJNE A,direct,reladdr   3       2
-10110110       B6      CJNE @R0,#data,reladdr  3       2
-10110111       B7      CJNE @R1,#data,reladdr  3       2
-10111000       B8      CJNE R0,#data,reladdr   3       2
-10111001       B9      CJNE R1,#data,reladdr   3       2
-10111010       BA      CJNE R2,#data,reladdr   3       2
-10111011       BB      CJNE R3,#data,reladdr   3       2
-10111100       BC      CJNE R4,#data,reladdr   3       2
-10111101       BD      CJNE R5,#data,reladdr   3       2
-10111110       BE      CJNE R6,#data,reladdr   3       2
-10111111       BF      CJNE R7,#data,reladdr   3       2
-11000000       C0      PUSH direct             2       2
-11000001       C1      AJMP addr11             2       2       
-11000010       C2      CLR bitaddr             2       1
-11000011       C3      CLR C                   1       1
-11000100       C4      SWAP A                  1       1
-11000101       C5      XCH A,direct            2       1
-11000110       C6      XCH A,@R0               1       1
-11000111       C7      XCH A,@R1               1       1
-11001000       C8      XCH A,R0                1       1
-11001001       C9      XCH A,R1                1       1
-11001010       CA      XCH A,R2                1       1
-11001011       CB      XCH A,R3                1       1
-11001100       CC      XCH A,R4                1       1
-11001101       CD      XCH A,R5                1       1
-11001110       CE      XCH A,R6                1       1
-11001111       CF      XCH A,R7                1       1
-11010000       D0      POP direct              2       2
-11010001       D1      ACALL addr11            2       2
-11010010       D2      SETB bitaddr            2       1
-11010011       D3      SETB C                  1       1
-11010100       D4      DA A                    1       1
-11010101       D5      DJNZ direct,reladdr     3       2
-11010110       D6      XCHD A,@R0              1       1
-11010111       D7      XCHD A,@R1              1       1
-11011000       D8      DJNZ R0,reladdr         2       2
-11011001       D9      DJNZ R1,reladdr         2       2
-11011010       DA      DJNZ R2,reladdr         2       2
-11011011       DB      DJNZ R3,reladdr         2       2
-11011100       DC      DJNZ R4,reladdr         2       2
-11011101       DD      DJNZ R5,reladdr         2       2
-11011110       DE      DJNZ R6,reladdr         2       2
-11011111       DF      DJNZ R7,reladdr         2       2
-11100000       E0      MOVX A,@DPTR            1       2
-11100001       E1      AJMP addr11             2       2       
-11100010       E2      MOVX A,@R0              1       2
-11100011       E3      MOVX A,@R1              1       2
-11100100       E4      CLR A                   1       1
-11100101       E5      MOV A,direct            2       1
-11100110       E6      MOV A,@R0               1       1
-11100111       E7      MOV A,@R1               1       1
-11101000       E8      MOV A,R0                1       1
-11101001       E9      MOV A,R1                1       1
-11101010       EA      MOV A,R2                1       1
-11101011       EB      MOV A,R3                1       1
-11101100       EC      MOV A,R4                1       1
-11101101       ED      MOV A,R5                1       1
-11101110       EE      MOV A,R6                1       1
-11101111       EF      MOV A,R7                1       1
-11110000       F0      MOVX @DPTR,A            1       2
-11110001       F1      ACALL addr11            2       2
-11110010       F2      MOVX @R0,A              1       2
-11110011       F3      MOVX @R1,A              1       2
-11110100       F4      CPL A                   1       1
-11110101       F5      MOV direct,A            2       1
-11110110       F6      MOV @R0,A               1       1
-11110111       F7      MOV @R1,A               1       1
-11111000       F8      MOV R0,A                1       1
-11111001       F9      MOV R1,A                1       1
-11111010       FA      MOV R2,A                1       1
-11111011       FB      MOV R3,A                1       1
-11111100       FC      MOV R4,A                1       1
-11111101       FD      MOV R5,A                1       1
-11111110       FE      MOV R6,A                1       1
-11111111       FF      MOV R7,A                1       1
+Opcode Instruction             Bytes   Cycles
+----------------------------------------------
+00     NOP                     1       1
+01     AJMP addr11             2       2
+02     LJMP addr16             3       2
+03     RR A                    1       1
+04     INC A                   1       1
+05     INC direct              2       1
+06     INC @R0                 1       1
+07     INC @R1                 1       1
+08     INC R0                  1       1
+09     INC R1                  1       1
+0A     INC R2                  1       1
+0B     INC R3                  1       1
+0C     INC R4                  1       1
+0D     INC R5                  1       1
+0E     INC R6                  1       1
+0F     INC R7                  1       1
+10     JBC bitaddr,reladdr     3       2
+11     ACALL addr11            2       2
+12     LCALL addr16            3       2
+13     RRC A                   1       1
+14     DEC A                   1       1
+15     DEC direct              2       1
+16     DEC @R0                 1       1
+17     DEC @R1                 1       1
+18     DEC R0                  1       1
+19     DEC R1                  1       1
+1A     DEC R2                  1       1
+1B     DEC R3                  1       1
+1C     DEC R4                  1       1
+1D     DEC R5                  1       1
+1E     DEC R6                  1       1
+1F     DEC R7                  1       1
+20     JB bitaddr,reladdr      3       2
+21     AJMP addr11             2       2
+22     RET                     1       2
+23     RL A                    1       1
+24     ADD A,#data             2       1
+25     ADD A,direct            2       1
+26     ADD A,@R0               1       1
+27     ADD A,@R1               1       1
+28     ADD A,R0                1       1
+29     ADD A,R1                1       1
+2A     ADD A,R2                1       1
+2B     ADD A,R3                1       1
+2C     ADD A,R4                1       1
+2D     ADD A,R5                1       1
+2E     ADD A,R6                1       1
+2F     ADD A,R7                1       1
+30     JNB bitaddr,reladdr     3       2
+31     ACALL addr11            2       2
+32     RETI                    1       2
+33     RLC A                   1       1
+34     ADDC A,#data            2       1
+35     ADDC A,direct           2       1
+36     ADDC A,@R0              1       1
+37     ADDC A,@R1              1       1
+38     ADDC A,R0               1       1
+39     ADDC A,R1               1       1
+3A     ADDC A,R2               1       1
+3B     ADDC A,R3               1       1
+3C     ADDC A,R4               1       1
+3D     ADDC A,R5               1       1
+3E     ADDC A,R6               1       1
+3F     ADDC A,R7               1       1
+40     JC reladdr              2       2
+41     AJMP addr11             2       2
+42     ORL direct,A            2       1
+43     ORL direct,#data        3       2
+44     ORL A,#data             2       1
+45     ORL A,direct            2       1
+46     ORL A,@R0               1       1
+47     ORL A,@R1               1       1
+48     ORL A,R0                1       1
+49     ORL A,R1                1       1
+4A     ORL A,R2                1       1
+4B     ORL A,R3                1       1
+4C     ORL A,R4                1       1
+4D     ORL A,R5                1       1
+4E     ORL A,R6                1       1
+4F     ORL A,R7                1       1
+50     JNC reladdr             2       2
+51     ACALL addr11            2       2
+52     ANL direct,A            2       1
+53     ANL direct,#data        3       2
+54     ANL A,#data             2       1
+55     ANL A,direct            2       1
+56     ANL A,@R0               1       1
+57     ANL A,@R1               1       1
+58     ANL A,R0                1       1
+59     ANL A,R1                1       1
+5A     ANL A,R2                1       1
+5B     ANL A,R3                1       1
+5C     ANL A,R4                1       1
+5D     ANL A,R5                1       1
+5E     ANL A,R6                1       1
+5F     ANL A,R7                1       1
+60     JZ reladdr              2       2
+61     AJMP addr11             2       2
+62     XRL direct,A            2       1
+63     XRL direct,#data        3       2
+64     XRL A,#data             2       1
+65     XRL A,direct            2       1
+66     XRL A,@R0               1       1
+67     XRL A,@R1               1       1
+68     XRL A,R0                1       1
+69     XRL A,R1                1       1
+6A     XRL A,R2                1       1
+6B     XRL A,R3                1       1
+6C     XRL A,R4                1       1
+6D     XRL A,R5                1       1
+6E     XRL A,R6                1       1
+6F     XRL A,R7                1       1
+70     JNZ reladdr             2       2
+71     ACALL addr11            2       2
+72     ORL C,bitaddr           2       2
+73     JMP @A+DPTR             1       2
+74     MOV A,#data             2       1
+75     MOV direct,#data        3       2
+76     MOV @R0,#data           2       1
+77     MOV @R1,#data           2       1
+78     MOV R0,#data            2       1
+79     MOV R1,#data            2       1
+7A     MOV R2,#data            2       1
+7B     MOV R3,#data            2       1
+7C     MOV R4,#data            2       1
+7D     MOV R5,#data            2       1
+7E     MOV R6,#data            2       1
+7F     MOV R7,#data            2       1
+80     SJMP reladdr            2       2
+81     AJMP addr11             2       2
+82     ANL C,bitaddr           2       1
+83     MOVC A,@A+PC            1       1
+84     DIV AB                  1       4
+85     MOV direct,direct       3       1
+86     MOV direct,@R0          2       2
+87     MOV direct,@R1          2       2
+88     MOV direct,R0           2       2
+89     MOV direct,R1           2       2
+8A     MOV direct,R2           2       2
+8B     MOV direct,R3           2       2
+8C     MOV direct,R4           2       2
+8D     MOV direct,R5           2       2
+8E     MOV direct,R6           2       2
+8F     MOV direct,R7           2       2
+90     MOV DPTR,#data16        3       2
+91     ACALL addr11            2       2
+92     MOV bitaddr,C           2       2
+93     MOVC A,@A+DPTR          1       2
+94     SUBB A,#data            2       1
+95     SUBB A,direct           2       1
+96     SUBB A,@R0              1       1
+97     SUBB A,@R1              1       1
+98     SUBB A,R0               1       1
+99     SUBB A,R1               1       1
+9A     SUBB A,R2               1       1
+9B     SUBB A,R3               1       1
+9C     SUBB A,R4               1       1
+9D     SUBB A,R5               1       1
+9E     SUBB A,R6               1       1
+9F     SUBB A,R7               1       1
+A0     ORL C,/bitaddr          2       1
+A1     AJMP addr11             2       2
+A2     MOV C,bitaddr           2       1
+A3     INC DPTR                1       2
+A4     MUL AB                  1       4
+A5     INVALID                 1       1
+A6     MOV @R0,direct          2       2
+A7     MOV @R1,direct          2       2
+A8     MOV R0,direct           2       2
+A9     MOV R1,direct           2       2
+AA     MOV R2,direct           2       2
+AB     MOV R3,direct           2       2
+AC     MOV R4,direct           2       2
+AD     MOV R5,direct           2       2
+AE     MOV R6,direct           2       2
+AF     MOV R7,direct           2       2
+B0     ANL C,/bitaddr          2       1
+B1     ACALL addr11            2       2
+B2     CPL bitaddr             2       1
+B3     CPL C                   1       1
+B4     CJNE A,#data,reladdr    3       2
+B5     CJNE A,direct,reladdr   3       2
+B6     CJNE @R0,#data,reladdr  3       2
+B7     CJNE @R1,#data,reladdr  3       2
+B8     CJNE R0,#data,reladdr   3       2
+B9     CJNE R1,#data,reladdr   3       2
+BA     CJNE R2,#data,reladdr   3       2
+BB     CJNE R3,#data,reladdr   3       2
+BC     CJNE R4,#data,reladdr   3       2
+BD     CJNE R5,#data,reladdr   3       2
+BE     CJNE R6,#data,reladdr   3       2
+BF     CJNE R7,#data,reladdr   3       2
+C0     PUSH direct             2       2
+C1     AJMP addr11             2       2
+C2     CLR bitaddr             2       1
+C3     CLR C                   1       1
+C4     SWAP A                  1       1
+C5     XCH A,direct            2       1
+C6     XCH A,@R0               1       1
+C7     XCH A,@R1               1       1
+C8     XCH A,R0                1       1
+C9     XCH A,R1                1       1
+CA     XCH A,R2                1       1
+CB     XCH A,R3                1       1
+CC     XCH A,R4                1       1
+CD     XCH A,R5                1       1
+CE     XCH A,R6                1       1
+CF     XCH A,R7                1       1
+D0     POP direct              2       2
+D1     ACALL addr11            2       2
+D2     SETB bitaddr            2       1
+D3     SETB C                  1       1
+D4     DA A                    1       1
+D5     DJNZ direct,reladdr     3       2
+D6     XCHD A,@R0              1       1
+D7     XCHD A,@R1              1       1
+D8     DJNZ R0,reladdr         2       2
+D9     DJNZ R1,reladdr         2       2
+DA     DJNZ R2,reladdr         2       2
+DB     DJNZ R3,reladdr         2       2
+DC     DJNZ R4,reladdr         2       2
+DD     DJNZ R5,reladdr         2       2
+DE     DJNZ R6,reladdr         2       2
+DF     DJNZ R7,reladdr         2       2
+E0     MOVX A,@DPTR            1       2
+E1     AJMP addr11             2       2
+E2     MOVX A,@R0              1       2
+E3     MOVX A,@R1              1       2
+E4     CLR A                   1       1
+E5     MOV A,direct            2       1
+E6     MOV A,@R0               1       1
+E7     MOV A,@R1               1       1
+E8     MOV A,R0                1       1
+E9     MOV A,R1                1       1
+EA     MOV A,R2                1       1
+EB     MOV A,R3                1       1
+EC     MOV A,R4                1       1
+ED     MOV A,R5                1       1
+EE     MOV A,R6                1       1
+EF     MOV A,R7                1       1
+F0     MOVX @DPTR,A            1       2
+F1     ACALL addr11            2       2
+F2     MOVX @R0,A              1       2
+F3     MOVX @R1,A              1       2
+F4     CPL A                   1       1
+F5     MOV direct,A            2       1
+F6     MOV @R0,A               1       1
+F7     MOV @R1,A               1       1
+F8     MOV R0,A                1       1
+F9     MOV R1,A                1       1
+FA     MOV R2,A                1       1
+FB     MOV R3,A                1       1
+FC     MOV R4,A                1       1
+FD     MOV R5,A                1       1
+FE     MOV R6,A                1       1
+FF     MOV R7,A                1       1