From 1d394c78b9cb38f3d269be5ba9482f1fb6951f4b Mon Sep 17 00:00:00 2001 From: Hugo Villeneuve Date: Tue, 11 Feb 2014 23:30:16 -0500 Subject: [PATCH] Remove unnecessary column in opcodes.lst Begin to cleanup Perl code --- src/common/opcode2c.pl | 86 ++++--- src/common/opcodes.lst | 516 ++++++++++++++++++++--------------------- 2 files changed, 310 insertions(+), 292 deletions(-) diff --git a/src/common/opcode2c.pl b/src/common/opcode2c.pl index d79dc6d..599c234 100755 --- a/src/common/opcode2c.pl +++ b/src/common/opcode2c.pl @@ -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=; -$ligne=; +# Discard first two lines, which are comments +$ligne = ; +$ligne = ; + while($ligne=) { 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"; diff --git a/src/common/opcodes.lst b/src/common/opcodes.lst index 1494258..abe6e53 100644 --- a/src/common/opcodes.lst +++ b/src/common/opcodes.lst @@ -1,258 +1,258 @@ -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 -- 2.20.1