|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Diag Processor Firmware |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Diag Processor Firmware Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 8192 (0x2000) Description: Bits:30003041 Rational 1000/400, DIPROC-01, (MEM32) Diagnostic Processor Types: Integrated Circuit
0000 RESET: 0000 c2 bb | | CLR IP.PT1 0002 c2 88 | | CLR TCON.IT0 0004 75 d0 10 |u | MOV PSW,#0x10 0007 75 81 06 |u | MOV SP,#0x06 000a 75 89 11 |u | MOV TMOD,#0x11 000d 75 a0 ff |u | MOV P2,#0xff 0010 75 04 05 |u | MOV diag_status,#0x05 0013 d1 78 | x | ACALL SET_DIAG_ADDR() ; Flow C 0x678 0015 21 98 |! | AJMP 0x198 ; Flow J 0x198 0017 ff ff ff ff | | .XXX[0x4] 001b ff ff ff ff ff ff ff ff | | .XXX[0x8] 0023 RI_TI: 0023 c1 b7 | | AJMP SERIAL_INTERRUPT() ; Flow J 0x6b7 0025 ; -------------------------------------------------------------------------------------- 0025 ; REPEAT imm |0 0 0| imm | 0025 ; -------------------------------------------------------------------------------------- 0025 92 e0 | | MOV ACC.0,C 0027 f5 05 | | MOV diag_loop_cnt,A 0029 88 06 | | MOV diag_loop_top,R0 002b a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 002d ; -------------------------------------------------------------------------------------- 002d ; REPEAT imm |0 0 0 0 0 0 0|m| imm | 002d ; -------------------------------------------------------------------------------------- 002d 86 05 | | MOV diag_loop_cnt,@R0 002f 08 | | INC R0 0030 88 06 | | MOV diag_loop_top,R0 0032 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0034 ; -------------------------------------------------------------------------------------- 0034 ; UNTIL - |0 0 0 1 0 1 1|m| 0034 ; -------------------------------------------------------------------------------------- 0034 d5 05 02 | | DJNZ diag_loop_cnt,0x39 ; Flow C 0x39 0037 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0039 a8 06 | | MOV R0,diag_loop_top 003b a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 003d ; -------------------------------------------------------------------------------------- 003d ; CALL PT,subr,>CC |0 0 0 1 1 1| x | 003d ; -------------------------------------------------------------------------------------- 003d 20 b9 1b | | JB IP.PT0,0x5b ; Flow J cc=(IP.PT0==1) 0x5b ; Flow J cc=!(IP.PT0==1) 0x40 0040 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0042 ; -------------------------------------------------------------------------------------- 0042 ; CALL PX,subr,>CC |0 0 1 0 0 0| x | 0042 ; -------------------------------------------------------------------------------------- 0042 20 b8 16 | | JB IP.PX0,0x5b ; Flow J cc=(IP.PX0==1) 0x5b ; Flow J cc=!(IP.PX0==1) 0x45 0045 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0047 ; -------------------------------------------------------------------------------------- 0047 ; CALL DFLG,subr,>CC |1 1 1 0 0 1| x | 0047 ; -------------------------------------------------------------------------------------- 0047 20 b7 11 | | JB P3._RD,0x5b ; Flow J cc=(P3._RD==1) 0x5b ; Flow J cc=!(P3._RD==1) 0x4a 004a a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 004c ; -------------------------------------------------------------------------------------- 004c ; CALL NPT,subr,>CC |0 0 1 0 0 1| x | 004c ; -------------------------------------------------------------------------------------- 004c 30 b9 0c |0 | JNB IP.PT0,0x5b ; Flow J cc=(IP.PT0==0) 0x5b ; Flow J cc=!(IP.PT0==0) 0x4f 004f a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0051 ; -------------------------------------------------------------------------------------- 0051 ; CALL NPX,subr,>CC |0 0 1 0 1 0| x | 0051 ; -------------------------------------------------------------------------------------- 0051 30 b8 07 |0 | JNB IP.PX0,0x5b ; Flow J cc=(IP.PX0==0) 0x5b ; Flow J cc=!(IP.PX0==0) 0x54 0054 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0056 ; -------------------------------------------------------------------------------------- 0056 ; CALL NDFLG,subr,>CC |1 1 1 0 1 0| x | 0056 ; -------------------------------------------------------------------------------------- 0056 30 b7 02 |0 | JNB P3._RD,0x5b ; Flow J cc=(P3._RD==0) 0x5b ; Flow J cc=!(P3._RD==0) 0x59 0059 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 005b ; -------------------------------------------------------------------------------------- 005b ; CALL subr,>C |0 0 0 1 1 0| x | 005b ; -------------------------------------------------------------------------------------- 005b c0 10 | | PUSH exp_PC 005d 92 e0 | | MOV ACC.0,C 005f 54 03 |T | ANL A,#0x03 0061 24 18 |$ | ADD A,#0x18 0063 f9 | | MOV R1,A 0064 87 10 | | MOV exp_PC,@R1 0066 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0068 ; -------------------------------------------------------------------------------------- 0068 ; JMP PT,dst,>JC |0 0 1 1 1 0 0|m| dst | 0068 ; -------------------------------------------------------------------------------------- 0068 20 b9 21 | ! | JB IP.PT0,0x8c ; Flow J cc=(IP.PT0==1) 0x8c ; Flow J cc=!(IP.PT0==1) 0x6b 006b 08 | | INC R0 006c a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 006e ; -------------------------------------------------------------------------------------- 006e ; JMP PX,dst,>JC |0 0 1 1 1 0 1|m| dst | 006e ; -------------------------------------------------------------------------------------- 006e 20 b8 1b | | JB IP.PX0,0x8c ; Flow J cc=(IP.PX0==1) 0x8c ; Flow J cc=!(IP.PX0==1) 0x71 0071 08 | | INC R0 0072 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0074 ; -------------------------------------------------------------------------------------- 0074 ; JMP DFLG,dst,>JC |1 1 1 1 0 0 0|m| dst | 0074 ; -------------------------------------------------------------------------------------- 0074 20 b7 15 | | JB P3._RD,0x8c ; Flow J cc=(P3._RD==1) 0x8c ; Flow J cc=!(P3._RD==1) 0x77 0077 08 | | INC R0 0078 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 007a ; -------------------------------------------------------------------------------------- 007a ; JMP NPT,dst,>JC |0 0 1 1 1 1 0|m| dst | 007a ; -------------------------------------------------------------------------------------- 007a 30 b9 0f |0 | JNB IP.PT0,0x8c ; Flow J cc=(IP.PT0==0) 0x8c ; Flow J cc=!(IP.PT0==0) 0x7d 007d 08 | | INC R0 007e a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0080 ; -------------------------------------------------------------------------------------- 0080 ; JMP NPX,dst,>JC |0 0 1 1 1 1 1|m| dst | 0080 ; -------------------------------------------------------------------------------------- 0080 30 b8 09 |0 | JNB IP.PX0,0x8c ; Flow J cc=(IP.PX0==0) 0x8c ; Flow J cc=!(IP.PX0==0) 0x83 0083 08 | | INC R0 0084 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0086 ; -------------------------------------------------------------------------------------- 0086 ; JMP NDFLG,dst,>JC |1 1 1 1 0 0 1|m| dst | 0086 ; -------------------------------------------------------------------------------------- 0086 30 b7 03 |0 | JNB P3._RD,0x8c ; Flow J cc=(P3._RD==0) 0x8c ; Flow J cc=!(P3._RD==0) 0x89 0089 08 | | INC R0 008a a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 008c ; -------------------------------------------------------------------------------------- 008c ; JMP dst,>J |0 0 1 1 0 1 1|m| dst | 008c ; -------------------------------------------------------------------------------------- 008c 86 10 | | MOV exp_PC,@R0 008e a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0090 ; -------------------------------------------------------------------------------------- 0090 ; RET PT,>RC |0 0 1 0 1 1 1|m| 0090 ; -------------------------------------------------------------------------------------- 0090 20 b9 1b | | JB IP.PT0,0xae ; Flow J cc=(IP.PT0==1) 0xae ; Flow J cc=!(IP.PT0==1) 0x93 0093 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0095 ; -------------------------------------------------------------------------------------- 0095 ; RET PX,>RC |0 0 1 1 0 0 0|m| 0095 ; -------------------------------------------------------------------------------------- 0095 20 b8 16 | | JB IP.PX0,0xae ; Flow J cc=(IP.PX0==1) 0xae ; Flow J cc=!(IP.PX0==1) 0x98 0098 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 009a 20 b7 11 | | JB P3._RD,0xae ; Flow J cc=(P3._RD==1) 0xae ; Flow J cc=!(P3._RD==1) 0x9d 009d a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 009f ; -------------------------------------------------------------------------------------- 009f ; RET NPT,>RC |0 0 1 1 0 0 1|m| 009f ; -------------------------------------------------------------------------------------- 009f 30 b9 0c |0 | JNB IP.PT0,0xae ; Flow J cc=(IP.PT0==0) 0xae ; Flow J cc=!(IP.PT0==0) 0xa2 00a2 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00a4 ; -------------------------------------------------------------------------------------- 00a4 ; RET NPX,>RC |0 0 1 1 0 1 0|m| 00a4 ; -------------------------------------------------------------------------------------- 00a4 30 b8 07 |0 | JNB IP.PX0,0xae ; Flow J cc=(IP.PX0==0) 0xae ; Flow J cc=!(IP.PX0==0) 0xa7 00a7 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00a9 ; -------------------------------------------------------------------------------------- 00a9 ; RET DFLG,>RC |1 1 1 0 1 1 1|m| 00a9 ; -------------------------------------------------------------------------------------- 00a9 30 b7 02 |0 | JNB P3._RD,0xae ; Flow J cc=(P3._RD==0) 0xae ; Flow J cc=!(P3._RD==0) 0xac 00ac a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00ae ; -------------------------------------------------------------------------------------- 00ae ; RET >R |0 0 1 0 1 1 0|m| 00ae ; -------------------------------------------------------------------------------------- 00ae d0 10 | | POP exp_PC 00b0 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00b2 ; -------------------------------------------------------------------------------------- 00b2 ; JMP GT,var,var2,dst,>JC |0 1 0 0 0 0 0 0| var | var2 | dst | 00b2 ; JMP LT,var,var2,dst,>JC |0 1 0 0 0 0 0 1| var | var2 | dst | 00b2 ; -------------------------------------------------------------------------------------- 00b2 86 11 | | MOV R1_,@R0 00b4 08 | | INC R0 00b5 e7 | | MOV A,@R1 00b6 86 11 | | MOV R1_,@R0 00b8 08 | | INC R0 00b9 87 15 | | MOV R5_,@R1 00bb 50 01 |P | JNC 0xbe ; Flow J cc=None 0xbe ; Flow J cc=!None 0xbd 00bd cd | | XCH A,R5 00be b5 15 00 | | CJNE A,R5_,0xc1 ; Flow J cc=NE 0xc1 ; Flow J cc=!NE 0xc1 00c1 40 48 |@H | JC 0x10b ; Flow J cc=None 0x10b ; Flow J cc=!None 0xc3 00c3 08 | | INC R0 00c4 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00c6 ; -------------------------------------------------------------------------------------- 00c6 ; TEST NZ,imm,var,dst,>JC |0 1 0 0 0 0 1 1| imm | var | dst | 00c6 ; TEST Z,imm,var,dst,>JC |0 1 0 0 0 0 1 0| imm | var | dst | 00c6 ; -------------------------------------------------------------------------------------- 00c6 e6 | | MOV A,@R0 00c7 08 | | INC R0 00c8 86 11 | | MOV R1_,@R0 00ca 08 | | INC R0 00cb 57 |W | ANL A,@R1 00cc 40 0f |@ | JC 0xdd ; Flow J cc=None 0xdd ; Flow J cc=!None 0xce 00ce 01 d4 | | AJMP 0xd4 ; Flow J 0xd4 00d0 ; -------------------------------------------------------------------------------------- 00d0 ; JMP Z,var,dst,>JC |0 1 0 0 0 1 0|m| var | dst | 00d0 ; -------------------------------------------------------------------------------------- 00d0 86 11 | | MOV R1_,@R0 00d2 08 | | INC R0 00d3 e7 | | MOV A,@R1 00d4 60 35 |`5 | JZ 0x10b ; Flow J cc=None 0x10b ; Flow J cc=!None 0xd6 00d6 08 | | INC R0 00d7 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00d9 ; -------------------------------------------------------------------------------------- 00d9 ; JMP NZ,var,dst,>JC |0 1 0 0 0 1 1|m| var | dst | 00d9 ; -------------------------------------------------------------------------------------- 00d9 86 11 | | MOV R1_,@R0 00db 08 | | INC R0 00dc e7 | | MOV A,@R1 00dd 70 2c |p, | JNZ 0x10b ; Flow J cc=None 0x10b ; Flow J cc=!None 0xdf 00df 08 | | INC R0 00e0 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00e2 ; -------------------------------------------------------------------------------------- 00e2 ; JMP EQ,imm,var,dst,>JC |0 1 0 0 1 1 0 1| imm | var | dst | 00e2 ; JMP EQ,var,var2,dst,>JC |0 1 0 0 1 1 0 0| var | var2 | dst | 00e2 ; -------------------------------------------------------------------------------------- 00e2 e6 | | MOV A,@R0 00e3 40 02 |@ | JC 0xe7 ; Flow J cc=None 0xe7 ; Flow J cc=!None 0xe5 00e5 f9 | | MOV R1,A 00e6 e7 | | MOV A,@R1 00e7 08 | | INC R0 00e8 86 11 | | MOV R1_,@R0 00ea 08 | | INC R0 00eb 67 |g | XRL A,@R1 00ec 60 1d |` | JZ 0x10b ; Flow J cc=None 0x10b ; Flow J cc=!None 0xee 00ee 08 | | INC R0 00ef a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 00f1 ; -------------------------------------------------------------------------------------- 00f1 ; JMP NE,imm,var,dst,>JC |0 1 0 0 1 1 1 1| imm | var | dst | 00f1 ; JMP NE,var,var2,dst,>JC |0 1 0 0 1 1 1 0| var | var2 | dst | 00f1 ; -------------------------------------------------------------------------------------- 00f1 e6 | | MOV A,@R0 00f2 40 02 |@ | JC 0xf6 ; Flow J cc=None 0xf6 ; Flow J cc=!None 0xf4 00f4 f9 | | MOV R1,A 00f5 e7 | | MOV A,@R1 00f6 08 | | INC R0 00f7 86 11 | | MOV R1_,@R0 00f9 08 | | INC R0 00fa 67 |g | XRL A,@R1 00fb 70 0e |p | JNZ 0x10b ; Flow J cc=None 0x10b ; Flow J cc=!None 0xfd 00fd 08 | | INC R0 00fe a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0100 ; -------------------------------------------------------------------------------------- 0100 ; JMP.W Z,var,dst,>JC |0 1 0 0 1 0 0|m| var | dst | 0100 ; -------------------------------------------------------------------------------------- 0100 7f 02 | | MOV R7,#0x02 0102 86 11 | | MOV R1_,@R0 0104 08 | | INC R0 0105 SUB_03c2_00: 0105 e7 | | MOV A,@R1 0106 70 12 |p | JNZ 0x11a ; Flow J cc=None 0x11a ; Flow J cc=!None 0x108 0108 09 | | INC R1 0109 df fa | | DJNZ R7,SUB_03c2_00 ; Flow C 0x105 010b 86 10 | | MOV exp_PC,@R0 010d a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 010f ; -------------------------------------------------------------------------------------- 010f ; JMP.W NZ,var,dst,>JC |0 1 0 0 1 0 1|m| var | dst | 010f ; -------------------------------------------------------------------------------------- 010f 7f 02 | | MOV R7,#0x02 0111 86 11 | | MOV R1_,@R0 0113 08 | | INC R0 0114 SUB_03c2_02: 0114 e7 | | MOV A,@R1 0115 70 f4 |p | JNZ 0x10b ; Flow J cc=None 0x10b ; Flow J cc=!None 0x117 0117 09 | | INC R1 0118 df fa | | DJNZ R7,SUB_03c2_02 ; Flow C 0x114 011a 08 | | INC R0 011b a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 011d ; -------------------------------------------------------------------------------------- 011d ; JMP.W EQ,var,var2,dst,>JC |0 1 0 1 0 0 0 0| var | var2 | dst | 011d ; JMP.W EQ,wimm,var,dst,>JC |0 1 0 1 0 0 0 1| imm | imm2 | var | dst | 011d ; -------------------------------------------------------------------------------------- 011d 7f 02 | | MOV R7,#0x02 011f 86 14 | | MOV R4_,@R0 0121 50 03 |P | JNC 0x126 ; Flow J cc=None 0x126 ; Flow J cc=!None 0x123 0123 88 14 | | MOV R4_,R0 0125 08 | | INC R0 0126 08 | | INC R0 0127 86 15 | | MOV R5_,@R0 0129 08 | | INC R0 012a SUB_03eb_00: 012a 8c 11 | | MOV R1_,R4 012c e7 | | MOV A,@R1 012d 8d 11 | | MOV R1_,R5 012f 67 |g | XRL A,@R1 0130 70 e8 |p | JNZ 0x11a ; Flow J cc=None 0x11a ; Flow J cc=!None 0x132 0132 0c | | INC R4 0133 0d | | INC R5 0134 df f4 | | DJNZ R7,SUB_03eb_00 ; Flow C 0x12a 0136 21 0b |! | AJMP 0x10b ; Flow J 0x10b 0138 ; -------------------------------------------------------------------------------------- 0138 ; JMP.W NE,var,var2,dst,>JC |0 1 0 1 0 0 1 0| var | var2 | dst | 0138 ; JMP.W NE,wimm,var,dst,>JC |0 1 0 1 0 0 1 1| imm | imm2 | var | dst | 0138 ; -------------------------------------------------------------------------------------- 0138 7f 02 | | MOV R7,#0x02 013a 86 14 | | MOV R4_,@R0 013c 50 03 |P | JNC 0x141 ; Flow J cc=None 0x141 ; Flow J cc=!None 0x13e 013e 88 14 | | MOV R4_,R0 0140 08 | | INC R0 0141 08 | | INC R0 0142 86 15 | | MOV R5_,@R0 0144 08 | | INC R0 0145 SUB_03eb_02: 0145 8c 11 | | MOV R1_,R4 0147 e7 | | MOV A,@R1 0148 8d 11 | | MOV R1_,R5 014a 67 |g | XRL A,@R1 014b 70 be |p | JNZ 0x10b ; Flow J cc=None 0x10b ; Flow J cc=!None 0x14d 014d 0c | | INC R4 014e 0d | | INC R5 014f df f4 | | DJNZ R7,SUB_03eb_02 ; Flow C 0x145 0151 08 | | INC R0 0152 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0154 ; -------------------------------------------------------------------------------------- 0154 ; DJNZ var,dst,>JC |0 1 0 1 0 1 0|m| var | dst | 0154 ; -------------------------------------------------------------------------------------- 0154 86 11 | | MOV R1_,@R0 0156 08 | | INC R0 0157 17 | | DEC @R1 0158 21 66 |!f | AJMP 0x166 ; Flow J 0x166 015a ; -------------------------------------------------------------------------------------- 015a ; DJNZ.W var,dst,>JC |0 1 0 1 0 1 1|m| var | dst | 015a ; -------------------------------------------------------------------------------------- 015a 86 11 | | MOV R1_,@R0 015c 08 | | INC R0 015d 09 | | INC R1 015e e7 | | MOV A,@R1 015f 17 | | DEC @R1 0160 19 | | DEC R1 0161 60 23 |`# | JZ 0x186 ; Flow J cc=None 0x186 ; Flow J cc=!None 0x163 0163 14 | | DEC A 0164 70 21 |p! | JNZ 0x187 ; Flow J cc=None 0x187 ; Flow J cc=!None 0x166 0166 e7 | | MOV A,@R1 0167 70 1e |p | JNZ 0x187 ; Flow J cc=None 0x187 ; Flow J cc=!None 0x169 0169 08 | | INC R0 016a a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 016c ; -------------------------------------------------------------------------------------- 016c ; DJNN var,dst,>JC |0 1 0 1 1 0 0|m| var | dst | 016c ; -------------------------------------------------------------------------------------- 016c 86 11 | | MOV R1_,@R0 016e 08 | | INC R0 016f e7 | | MOV A,@R1 0170 70 14 |p | JNZ 0x186 ; Flow J cc=None 0x186 ; Flow J cc=!None 0x172 0172 21 7e |!~ | AJMP 0x17e ; Flow J 0x17e 0174 ; -------------------------------------------------------------------------------------- 0174 ; DJNN.W var,dst,>JC |0 1 0 1 1 0 1|m| var | dst | 0174 ; -------------------------------------------------------------------------------------- 0174 86 11 | | MOV R1_,@R0 0176 08 | | INC R0 0177 e7 | | MOV A,@R1 0178 09 | | INC R1 0179 70 06 |p | JNZ 0x181 ; Flow J cc=None 0x181 ; Flow J cc=!None 0x17b 017b e7 | | MOV A,@R1 017c 70 03 |p | JNZ 0x181 ; Flow J cc=None 0x181 ; Flow J cc=!None 0x17e 017e 08 | | INC R0 017f a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0181 e7 | | MOV A,@R1 0182 70 02 |p | JNZ 0x186 ; Flow J cc=None 0x186 ; Flow J cc=!None 0x184 0184 17 | | DEC @R1 0185 19 | | DEC R1 0186 17 | | DEC @R1 0187 86 10 | | MOV exp_PC,@R0 0189 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 018b ; -------------------------------------------------------------------------------------- 018b ; PAUSE - |0 1 1 0 0 0 0|m| 018b ; -------------------------------------------------------------------------------------- 018b 75 04 03 |u | MOV diag_status,#0x03 018e 21 9d |! | AJMP 0x19d ; Flow J 0x19d 0190 ; -------------------------------------------------------------------------------------- 0190 ; WP1_FSM R2,fsm |1 0 1 1 1 1 1 1| fsm | 0190 ; WP1_FSM var,fsm |1 0 1 1 1 1 1 0| var | fsm | 0190 ; WP12_FSM R2,fsm |1 1 0 0 0 0 1 1| fsm | 0190 ; WP12_FSM var,fsm |1 1 0 0 0 0 1 0| var | fsm | 0190 ; WFSM.L imm,fsm |1 1 0 0 0 1 0|m| imm | fsm | 0190 ; WFSM.W wimm,fsm |1 1 0 0 1 0 0|m| imm | imm2 | fsm | 0190 ; RFSM.L fsm,R3 |1 1 0 0 1 0 1 1| fsm | 0190 ; RFSM.L fsm,var |1 1 0 0 1 0 1 0| fsm | var | 0190 ; RFSM.W fsm,R3 |1 1 0 0 1 1 1 1| fsm | 0190 ; RFSM.W fsm,var |1 1 0 0 1 1 1 0| fsm | var | 0190 ; -------------------------------------------------------------------------------------- 0190 BAD_INS: 0190 75 04 04 |u | MOV diag_status,#0x04 0193 21 98 |! | AJMP 0x198 ; Flow J 0x198 0195 ; -------------------------------------------------------------------------------------- 0195 ; END >R |0 1 0 1 1 1 0|m| 0195 ; -------------------------------------------------------------------------------------- 0195 75 04 01 |u | MOV diag_status,#0x01 0198 75 81 06 |u | MOV SP,#0x06 019b c2 8a | | CLR TCON.IT1 019d e5 04 | | MOV A,diag_status 019f b4 06 fb | | CJNE A,#0x06,0x19d ; Flow J cc=NE 0x19d ; Flow J cc=!NE 0x1a2 01a2 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01a4 ; -------------------------------------------------------------------------------------- 01a4 ; LOOPE imm,dst,>JC |0 1 0 1 1 1 1|m| imm | dst | 01a4 ; -------------------------------------------------------------------------------------- 01a4 e6 | | MOV A,@R0 01a5 08 | | INC R0 01a6 60 13 |` | JZ 0x1bb ; Flow J cc=None 0x1bb ; Flow J cc=!None 0x1a8 01a8 20 8a 07 | | JB TCON.IT1,0x1b2 ; Flow J cc=(TCON.IT1==1) 0x1b2 ; Flow J cc=!(TCON.IT1==1) 0x1ab 01ab d2 8a | | SETB TCON.IT1 01ad 75 04 02 |u | MOV diag_status,#0x02 01b0 01 8c | | AJMP 0x8c ; Flow J 0x8c 01b2 e5 04 | | MOV A,diag_status 01b4 b4 02 02 | | CJNE A,#0x02,0x1b9 ; Flow J cc=NE 0x1b9 ; Flow J cc=!NE 0x1b7 01b7 01 8c | | AJMP 0x8c ; Flow J 0x8c 01b9 c2 8a | | CLR TCON.IT1 01bb 08 | | INC R0 01bc a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01be ; -------------------------------------------------------------------------------------- 01be ; DELAY imm |0 1 1 0 0 0 1|m| imm | 01be ; -------------------------------------------------------------------------------------- 01be e6 | | MOV A,@R0 01bf 08 | | INC R0 01c0 75 f0 2a |u * | MOV B,#0x2a 01c3 a4 | | MUL AB 01c4 f4 | | CPL A 01c5 63 f0 ff |c | XRL B,#0xff 01c8 f5 8a | | MOV TL0,A 01ca 85 f0 8c | | MOV TH0,B 01cd c2 8d | | CLR TCON.TF0 01cf d2 8c | | SETB TCON.TR0 01d1 30 8d fd |0 | JNB TCON.TF0,0x1d1 ; Flow J cc=(TCON.TF0==0) 0x1d1 ; Flow J cc=!(TCON.TF0==0) 0x1d4 01d4 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01d6 ; -------------------------------------------------------------------------------------- 01d6 ; SET PT |0 1 1 0 0 1 0|m| 01d6 ; -------------------------------------------------------------------------------------- 01d6 d2 b9 | | SETB IP.PT0 01d8 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01da ; -------------------------------------------------------------------------------------- 01da ; SET PX |0 1 1 0 0 1 1|m| 01da ; -------------------------------------------------------------------------------------- 01da d2 b8 | | SETB IP.PX0 01dc a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01de ; -------------------------------------------------------------------------------------- 01de ; CLR PT |0 1 1 0 1 0 0|m| 01de ; -------------------------------------------------------------------------------------- 01de c2 b9 | | CLR IP.PT0 01e0 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01e2 ; -------------------------------------------------------------------------------------- 01e2 ; CLR PX |0 1 1 0 1 0 1|m| 01e2 ; -------------------------------------------------------------------------------------- 01e2 c2 b8 | | CLR IP.PX0 01e4 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01e6 ; -------------------------------------------------------------------------------------- 01e6 ; INV PT |0 1 1 0 1 1 0|m| 01e6 ; -------------------------------------------------------------------------------------- 01e6 b2 b9 | | CPL IP.PT0 01e8 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01ea ; -------------------------------------------------------------------------------------- 01ea ; INV PX |0 1 1 0 1 1 1|m| 01ea ; -------------------------------------------------------------------------------------- 01ea b2 b8 | | CPL IP.PX0 01ec a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01ee ; -------------------------------------------------------------------------------------- 01ee ; LD R2,var |0 1 1 1 0 0 0|m| var | 01ee ; -------------------------------------------------------------------------------------- 01ee 86 12 | | MOV R2_,@R0 01f0 08 | | INC R0 01f1 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01f3 ; -------------------------------------------------------------------------------------- 01f3 ; LD R3,var |0 1 1 1 0 0 1|m| var | 01f3 ; -------------------------------------------------------------------------------------- 01f3 86 13 | | MOV R3_,@R0 01f5 08 | | INC R0 01f6 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01f8 ; -------------------------------------------------------------------------------------- 01f8 ; INC R2 |0 1 1 1 0 1 0|m| 01f8 ; -------------------------------------------------------------------------------------- 01f8 0a | | INC R2 01f9 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01fb ; -------------------------------------------------------------------------------------- 01fb ; INC R3 |0 1 1 1 0 1 1|m| 01fb ; -------------------------------------------------------------------------------------- 01fb 0b | | INC R3 01fc a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 01fe ; -------------------------------------------------------------------------------------- 01fe ; DEC R2 |0 1 1 1 1 0 0|m| 01fe ; -------------------------------------------------------------------------------------- 01fe 1a | | DEC R2 01ff a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0201 ; -------------------------------------------------------------------------------------- 0201 ; DEC R3 |0 1 1 1 1 0 1|m| 0201 ; -------------------------------------------------------------------------------------- 0201 1b | | DEC R3 0202 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0204 ; -------------------------------------------------------------------------------------- 0204 ; ADD R2,imm |0 1 1 1 1 1 0|m| imm | 0204 ; -------------------------------------------------------------------------------------- 0204 ea | | MOV A,R2 0205 26 |& | ADD A,@R0 0206 fa | | MOV R2,A 0207 08 | | INC R0 0208 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 020a ; -------------------------------------------------------------------------------------- 020a ; ADD R3,imm |0 1 1 1 1 1 1|m| imm | 020a ; -------------------------------------------------------------------------------------- 020a eb | | MOV A,R3 020b 26 |& | ADD A,@R0 020c fb | | MOV R3,A 020d 08 | | INC R0 020e a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0210 ; -------------------------------------------------------------------------------------- 0210 ; XHG R2,R3 |1 0 0 0 0 0 0|m| 0210 ; -------------------------------------------------------------------------------------- 0210 ea | | MOV A,R2 0211 8b 12 | | MOV R2_,R3 0213 fb | | MOV R3,A 0214 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0216 ; -------------------------------------------------------------------------------------- 0216 ; MOV imm,var |1 0 0 0 1 1 1 1| imm | var | 0216 ; MOV var,var2 |1 0 0 0 1 1 1 0| var | var2 | 0216 ; -------------------------------------------------------------------------------------- 0216 e6 | | MOV A,@R0 0217 40 02 |@ | JC 0x21b ; Flow J cc=None 0x21b ; Flow J cc=!None 0x219 0219 f9 | | MOV R1,A 021a e7 | | MOV A,@R1 021b 08 | | INC R0 021c 86 11 | | MOV R1_,@R0 021e 08 | | INC R0 021f f7 | | MOV @R1,A 0220 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0222 ; -------------------------------------------------------------------------------------- 0222 ; INC var |1 0 0 0 0 0 1|m| var | 0222 ; -------------------------------------------------------------------------------------- 0222 86 11 | | MOV R1_,@R0 0224 08 | | INC R0 0225 07 | | INC @R1 0226 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0228 ; -------------------------------------------------------------------------------------- 0228 ; DEC var |1 0 0 0 0 1 1|m| var | 0228 ; -------------------------------------------------------------------------------------- 0228 86 11 | | MOV R1_,@R0 022a 08 | | INC R0 022b 17 | | DEC @R1 022c a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 022e ; -------------------------------------------------------------------------------------- 022e ; INV var |1 0 0 0 1 0 1|m| var | 022e ; -------------------------------------------------------------------------------------- 022e 86 11 | | MOV R1_,@R0 0230 08 | | INC R0 0231 e7 | | MOV A,@R1 0232 f4 | | CPL A 0233 f7 | | MOV @R1,A 0234 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0236 ; -------------------------------------------------------------------------------------- 0236 ; ADD imm,var |1 0 0 1 0 0 1 1| imm | var | 0236 ; ADD var,var2 |1 0 0 1 0 0 1 0| var | var2 | 0236 ; -------------------------------------------------------------------------------------- 0236 e6 | | MOV A,@R0 0237 40 02 |@ | JC 0x23b ; Flow J cc=None 0x23b ; Flow J cc=!None 0x239 0239 f9 | | MOV R1,A 023a e7 | | MOV A,@R1 023b 08 | | INC R0 023c 86 11 | | MOV R1_,@R0 023e 08 | | INC R0 023f 27 |' | ADD A,@R1 0240 f7 | | MOV @R1,A 0241 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0243 ; -------------------------------------------------------------------------------------- 0243 ; AND imm,var |1 0 0 1 0 1 1 1| imm | var | 0243 ; AND var,var2 |1 0 0 1 0 1 1 0| var | var2 | 0243 ; -------------------------------------------------------------------------------------- 0243 e6 | | MOV A,@R0 0244 40 02 |@ | JC 0x248 ; Flow J cc=None 0x248 ; Flow J cc=!None 0x246 0246 f9 | | MOV R1,A 0247 e7 | | MOV A,@R1 0248 08 | | INC R0 0249 86 11 | | MOV R1_,@R0 024b 08 | | INC R0 024c 57 |W | ANL A,@R1 024d f7 | | MOV @R1,A 024e a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0250 ; -------------------------------------------------------------------------------------- 0250 ; OR imm,var2 |1 0 0 1 1 0 1 1| imm | var2 | 0250 ; OR var,var2 |1 0 0 1 1 0 1 0| var | var2 | 0250 ; -------------------------------------------------------------------------------------- 0250 e6 | | MOV A,@R0 0251 40 02 |@ | JC 0x255 ; Flow J cc=None 0x255 ; Flow J cc=!None 0x253 0253 f9 | | MOV R1,A 0254 e7 | | MOV A,@R1 0255 08 | | INC R0 0256 86 11 | | MOV R1_,@R0 0258 08 | | INC R0 0259 47 |G | ORL A,@R1 025a f7 | | MOV @R1,A 025b a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 025d ; -------------------------------------------------------------------------------------- 025d ; XOR imm,var |1 0 0 1 1 1 1 1| imm | var | 025d ; XOR var,var2 |1 0 0 1 1 1 1 0| var | var2 | 025d ; -------------------------------------------------------------------------------------- 025d e6 | | MOV A,@R0 025e 40 02 |@ | JC 0x262 ; Flow J cc=None 0x262 ; Flow J cc=!None 0x260 0260 f9 | | MOV R1,A 0261 e7 | | MOV A,@R1 0262 08 | | INC R0 0263 86 11 | | MOV R1_,@R0 0265 08 | | INC R0 0266 67 |g | XRL A,@R1 0267 f7 | | MOV @R1,A 0268 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 026a ; -------------------------------------------------------------------------------------- 026a ; INC.W var |1 0 0 0 0 1 0|m| var | 026a ; -------------------------------------------------------------------------------------- 026a 7f 02 | | MOV R7,#0x02 026c 86 11 | | MOV R1_,@R0 026e 08 | | INC R0 026f SUB_03c2_04: 026f e9 | | MOV A,R1 0270 2f |/ | ADD A,R7 0271 f9 | | MOV R1,A 0272 19 | | DEC R1 0273 07 | | INC @R1 0274 b7 00 02 | | CJNE @R1,#0x00,0x279 ; Flow J cc=NE 0x279 ; Flow J cc=!NE 0x277 0277 df f9 | | DJNZ R7,0x272 ; Flow C 0x272 0279 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 027b ; -------------------------------------------------------------------------------------- 027b ; DEC.W var |1 0 0 0 1 0 0|m| var | 027b ; -------------------------------------------------------------------------------------- 027b 7f 02 | | MOV R7,#0x02 027d 86 11 | | MOV R1_,@R0 027f 08 | | INC R0 0280 SUB_03c2_06: 0280 e9 | | MOV A,R1 0281 2f |/ | ADD A,R7 0282 f9 | | MOV R1,A 0283 19 | | DEC R1 0284 17 | | DEC @R1 0285 b7 ff 02 | | CJNE @R1,#0xff,0x28a ; Flow J cc=NE 0x28a ; Flow J cc=!NE 0x288 0288 df f9 | | DJNZ R7,0x283 ; Flow C 0x283 028a a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 028c ; -------------------------------------------------------------------------------------- 028c ; INV.W var |1 0 0 0 1 1 0|m| var | 028c ; -------------------------------------------------------------------------------------- 028c 7f 02 | | MOV R7,#0x02 028e 86 11 | | MOV R1_,@R0 0290 08 | | INC R0 0291 SUB_03c2_08: 0291 e7 | | MOV A,@R1 0292 f4 | | CPL A 0293 f7 | | MOV @R1,A 0294 09 | | INC R1 0295 df fa | | DJNZ R7,SUB_03c2_08 ; Flow C 0x291 0297 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0299 ; -------------------------------------------------------------------------------------- 0299 ; MOV.W var,var2 |1 0 0 1 0 0 0 0| var | var2 | 0299 ; MOV.W wimm,var |1 0 0 1 0 0 0 1| imm | imm2 | var | 0299 ; -------------------------------------------------------------------------------------- 0299 7f 02 | | MOV R7,#0x02 029b 86 14 | | MOV R4_,@R0 029d 50 03 |P | JNC 0x2a2 ; Flow J cc=None 0x2a2 ; Flow J cc=!None 0x29f 029f 88 14 | | MOV R4_,R0 02a1 08 | | INC R0 02a2 08 | | INC R0 02a3 86 15 | | MOV R5_,@R0 02a5 08 | | INC R0 02a6 SUB_03eb_04: 02a6 8c 11 | | MOV R1_,R4 02a8 0c | | INC R4 02a9 e7 | | MOV A,@R1 02aa 8d 11 | | MOV R1_,R5 02ac 0d | | INC R5 02ad f7 | | MOV @R1,A 02ae df f6 | | DJNZ R7,SUB_03eb_04 ; Flow C 0x2a6 02b0 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 02b2 ; -------------------------------------------------------------------------------------- 02b2 ; ADD.W var,var2 |1 0 0 1 0 1 0 0| var | var2 | 02b2 ; ADD.W wimm,var |1 0 0 1 0 1 0 1| imm | imm2 | var | 02b2 ; -------------------------------------------------------------------------------------- 02b2 7f 02 | | MOV R7,#0x02 02b4 86 14 | | MOV R4_,@R0 02b6 50 03 |P | JNC 0x2bb ; Flow J cc=None 0x2bb ; Flow J cc=!None 0x2b8 02b8 88 14 | | MOV R4_,R0 02ba 08 | | INC R0 02bb 08 | | INC R0 02bc 86 15 | | MOV R5_,@R0 02be 08 | | INC R0 02bf SUB_03eb_06: 02bf ec | | MOV A,R4 02c0 2f |/ | ADD A,R7 02c1 fc | | MOV R4,A 02c2 ed | | MOV A,R5 02c3 2f |/ | ADD A,R7 02c4 fd | | MOV R5,A 02c5 c3 | | CLR C 02c6 1c | | DEC R4 02c7 8c 11 | | MOV R1_,R4 02c9 e7 | | MOV A,@R1 02ca 1d | | DEC R5 02cb 8d 11 | | MOV R1_,R5 02cd 37 |7 | ADDC A,@R1 02ce f7 | | MOV @R1,A 02cf df f5 | | DJNZ R7,0x2c6 ; Flow C 0x2c6 02d1 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 02d3 ; -------------------------------------------------------------------------------------- 02d3 ; AND.W var,var2 |1 0 0 1 1 0 0 0| var | var2 | 02d3 ; AND.W wimm,var |1 0 0 1 1 0 0 1| imm | imm2 | var | 02d3 ; -------------------------------------------------------------------------------------- 02d3 7f 02 | | MOV R7,#0x02 02d5 86 14 | | MOV R4_,@R0 02d7 50 03 |P | JNC 0x2dc ; Flow J cc=None 0x2dc ; Flow J cc=!None 0x2d9 02d9 88 14 | | MOV R4_,R0 02db 08 | | INC R0 02dc 08 | | INC R0 02dd 86 15 | | MOV R5_,@R0 02df 08 | | INC R0 02e0 SUB_03eb_08: 02e0 8c 11 | | MOV R1_,R4 02e2 e7 | | MOV A,@R1 02e3 8d 11 | | MOV R1_,R5 02e5 57 |W | ANL A,@R1 02e6 f7 | | MOV @R1,A 02e7 0c | | INC R4 02e8 0d | | INC R5 02e9 df f5 | | DJNZ R7,SUB_03eb_08 ; Flow C 0x2e0 02eb a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 02ed ; -------------------------------------------------------------------------------------- 02ed ; OR.W var,var2 |1 0 0 1 1 1 0 0| var | var2 | 02ed ; OR.W wimm,var |1 0 0 1 1 1 0 1| imm | imm2 | var | 02ed ; -------------------------------------------------------------------------------------- 02ed 7f 02 | | MOV R7,#0x02 02ef 86 14 | | MOV R4_,@R0 02f1 50 03 |P | JNC 0x2f6 ; Flow J cc=None 0x2f6 ; Flow J cc=!None 0x2f3 02f3 88 14 | | MOV R4_,R0 02f5 08 | | INC R0 02f6 08 | | INC R0 02f7 86 15 | | MOV R5_,@R0 02f9 08 | | INC R0 02fa SUB_03eb_0a: 02fa 8c 11 | | MOV R1_,R4 02fc e7 | | MOV A,@R1 02fd 8d 11 | | MOV R1_,R5 02ff 47 |G | ORL A,@R1 0300 f7 | | MOV @R1,A 0301 0c | | INC R4 0302 0d | | INC R5 0303 df f5 | | DJNZ R7,SUB_03eb_0a ; Flow C 0x2fa 0305 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0307 ; -------------------------------------------------------------------------------------- 0307 ; XOR.W var,var2 |1 0 1 0 0 0 0 0| var | var2 | 0307 ; XOR.W wimm,var |1 0 1 0 0 0 0 1| imm | imm2 | var | 0307 ; -------------------------------------------------------------------------------------- 0307 7f 02 | | MOV R7,#0x02 0309 86 14 | | MOV R4_,@R0 030b 50 03 |P | JNC 0x310 ; Flow J cc=None 0x310 ; Flow J cc=!None 0x30d 030d 88 14 | | MOV R4_,R0 030f 08 | | INC R0 0310 08 | | INC R0 0311 86 15 | | MOV R5_,@R0 0313 08 | | INC R0 0314 SUB_03eb_0c: 0314 8c 11 | | MOV R1_,R4 0316 e7 | | MOV A,@R1 0317 8d 11 | | MOV R1_,R5 0319 67 |g | XRL A,@R1 031a f7 | | MOV @R1,A 031b 0c | | INC R4 031c 0d | | INC R5 031d df f5 | | DJNZ R7,SUB_03eb_0c ; Flow C 0x314 031f a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0321 ; -------------------------------------------------------------------------------------- 0321 ; VADD vec,imm,R3 |1 0 1 0 0 0 1 1| vec | imm | 0321 ; VADD vec,imm,var |1 0 1 0 0 0 1 0| vec | imm | var | 0321 ; -------------------------------------------------------------------------------------- 0321 86 17 | | MOV R7_,@R0 0323 08 | | INC R0 0324 86 16 | | MOV R6_,@R0 0326 08 | | INC R0 0327 eb | | MOV A,R3 0328 40 02 |@ | JC 0x32c ; Flow J cc=None 0x32c ; Flow J cc=!None 0x32a 032a e6 | | MOV A,@R0 032b 08 | | INC R0 032c 2f |/ | ADD A,R7 032d f9 | | MOV R1,A 032e c3 | | CLR C 032f 19 | | DEC R1 0330 e7 | | MOV A,@R1 0331 3e |> | ADDC A,R6 0332 f7 | | MOV @R1,A 0333 7e 00 |~ | MOV R6,#0x00 0335 df f8 | | DJNZ R7,0x32f ; Flow C 0x32f 0337 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0339 ; -------------------------------------------------------------------------------------- 0339 ; VSUB vec,imm,R3 |1 0 1 0 0 1 0 1| vec | imm | 0339 ; VSUB vec,imm,var |1 0 1 0 0 1 0 0| vec | imm | var | 0339 ; -------------------------------------------------------------------------------------- 0339 86 17 | | MOV R7_,@R0 033b 08 | | INC R0 033c 86 16 | | MOV R6_,@R0 033e 08 | | INC R0 033f eb | | MOV A,R3 0340 40 02 |@ | JC 0x344 ; Flow J cc=None 0x344 ; Flow J cc=!None 0x342 0342 e6 | | MOV A,@R0 0343 08 | | INC R0 0344 2f |/ | ADD A,R7 0345 f9 | | MOV R1,A 0346 c3 | | CLR C 0347 19 | | DEC R1 0348 e7 | | MOV A,@R1 0349 9e | | SUBB A,R6 034a f7 | | MOV @R1,A 034b 7e 00 |~ | MOV R6,#0x00 034d df f8 | | DJNZ R7,0x347 ; Flow C 0x347 034f a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0351 ; -------------------------------------------------------------------------------------- 0351 ; SR.1 rot,R3,vec |1 0 1 0 1 1 0 1| rot | vec | 0351 ; SR.1 rot,var,vec |1 0 1 0 1 1 0 0| rot | vec | var | 0351 ; -------------------------------------------------------------------------------------- 0351 d2 ba | | SETB IP.PX1 0353 61 57 |aW | AJMP 0x357 ; Flow J 0x357 0355 ; -------------------------------------------------------------------------------------- 0355 ; SR.0 rot,R3,vec |1 0 1 0 1 0 0 1| rot | vec | 0355 ; SR.0 rot,var,vec |1 0 1 0 1 0 0 0| rot | vec | var | 0355 ; -------------------------------------------------------------------------------------- 0355 c2 ba | | CLR IP.PX1 0357 e6 | | MOV A,@R0 0358 08 | | INC R0 0359 fc | | MOV R4,A 035a 53 14 1f |S | ANL R4_,#0x1f 035d c4 | | SWAP A 035e 03 | | RR A 035f 54 07 |T | ANL A,#0x07 0361 04 | | INC A 0362 fe | | MOV R6,A 0363 eb | | MOV A,R3 0364 40 02 |@ | JC 0x368 ; Flow J cc=None 0x368 ; Flow J cc=!None 0x366 0366 e6 | | MOV A,@R0 0367 08 | | INC R0 0368 fd | | MOV R5,A 0369 2c |, | ADD A,R4 036a f9 | | MOV R1,A 036b c3 | | CLR C 036c 30 ba 03 |0 | JNB IP.PX1,0x372 ; Flow J cc=(IP.PX1==0) 0x372 ; Flow J cc=!(IP.PX1==0) 0x36f 036f 19 | | DEC R1 0370 e7 | | MOV A,@R1 0371 13 | | RRC A 0372 8d 11 | | MOV R1_,R5 0374 8c 17 | | MOV R7_,R4 0376 e7 | | MOV A,@R1 0377 13 | | RRC A 0378 f7 | | MOV @R1,A 0379 09 | | INC R1 037a df fa | | DJNZ R7,0x376 ; Flow C 0x376 037c de ed | | DJNZ R6,0x36b ; Flow C 0x36b 037e a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0380 ; -------------------------------------------------------------------------------------- 0380 ; RIGHT.1 rot,R3,vec |1 0 1 0 1 0 1 1| rot | vec | 0380 ; RIGHT.1 rot,var,vec |1 0 1 0 1 0 1 0| rot | vec | var | 0380 ; -------------------------------------------------------------------------------------- 0380 d2 ba | | SETB IP.PX1 0382 61 86 |a | AJMP 0x386 ; Flow J 0x386 0384 ; -------------------------------------------------------------------------------------- 0384 ; LEFT.0 rot,R3,vec |1 0 1 0 0 1 1 1| rot | vec | 0384 ; LEFT.0 rot,var,vec |1 0 1 0 0 1 1 0| rot | vec | var | 0384 ; -------------------------------------------------------------------------------------- 0384 c2 ba | | CLR IP.PX1 0386 e6 | | MOV A,@R0 0387 08 | | INC R0 0388 fc | | MOV R4,A 0389 53 14 1f |S | ANL R4_,#0x1f 038c c4 | | SWAP A 038d 03 | | RR A 038e 54 07 |T | ANL A,#0x07 0390 04 | | INC A 0391 fe | | MOV R6,A 0392 eb | | MOV A,R3 0393 40 02 |@ | JC 0x397 ; Flow J cc=None 0x397 ; Flow J cc=!None 0x395 0395 e6 | | MOV A,@R0 0396 08 | | INC R0 0397 f9 | | MOV R1,A 0398 2c |, | ADD A,R4 0399 fd | | MOV R5,A 039a c3 | | CLR C 039b 30 ba 02 |0 | JNB IP.PX1,0x3a0 ; Flow J cc=(IP.PX1==0) 0x3a0 ; Flow J cc=!(IP.PX1==0) 0x39e 039e e7 | | MOV A,@R1 039f 33 |3 | RLC A 03a0 8d 11 | | MOV R1_,R5 03a2 8c 17 | | MOV R7_,R4 03a4 19 | | DEC R1 03a5 e7 | | MOV A,@R1 03a6 33 |3 | RLC A 03a7 f7 | | MOV @R1,A 03a8 df fa | | DJNZ R7,0x3a4 ; Flow C 0x3a4 03aa de ee | | DJNZ R6,0x39a ; Flow C 0x39a 03ac a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 03ae ; -------------------------------------------------------------------------------------- 03ae ; BAD_INS - |1 0 1 0 1 1 1|m| 03ae ; VDEC vec,R3 |1 0 1 0 1 1 1|1|0 1 1|vec | 03ae ; VDEC vec,var |1 0 1 0 1 1 1|0|0 1 1|vec | var | 03ae ; VINC vec,R3 |1 0 1 0 1 1 1|1|0 1 0|vec | 03ae ; VINC vec,var |1 0 1 0 1 1 1|0|0 1 0|vec | var | 03ae ; VINV vec,R3 |1 0 1 0 1 1 1|1|1 0 0|vec | 03ae ; VINV vec,var |1 0 1 0 1 1 1|0|1 0 0|vec | var | 03ae ; VJMP NZ,vec,R3,dst,>JC |1 0 1 0 1 1 1|1|0 0 1|vec | dst | 03ae ; VJMP NZ,vec,var,dst,>JC |1 0 1 0 1 1 1|0|0 0 1|vec | var | dst | 03ae ; VJMP Z,vec,R3,dst,>JC |1 0 1 0 1 1 1|1|0 0 0|vec | dst | 03ae ; VJMP Z,vec,var,dst,>JC |1 0 1 0 1 1 1|0|0 0 0|vec | var | dst | 03ae ; -------------------------------------------------------------------------------------- 03ae e6 | | MOV A,@R0 03af 08 | | INC R0 03b0 8b 11 | | MOV R1_,R3 03b2 40 03 |@ | JC 0x3b7 ; Flow J cc=None 0x3b7 ; Flow J cc=!None 0x3b4 03b4 86 11 | | MOV R1_,@R0 03b6 08 | | INC R0 03b7 ff | | MOV R7,A 03b8 53 17 1f |S | ANL R7_,#0x1f 03bb c4 | | SWAP A 03bc 54 0e |T | ANL A,#0x0e 03be 90 03 c2 | | MOV DPTR,0x3c2 03c1 73 |s | JMP @A+DPTR ; Flow J cc=A=0x00 0x3c2 ; Flow J cc=A=0x02 0x3c4 ; Flow J cc=A=0x04 0x3c6 ; Flow J cc=A=0x06 0x3c8 ; Flow J cc=A=0x08 0x3ca ; Flow J cc=A=0x0a 0x3cc ; Flow J cc=A=0x0c 0x3ce ; Flow J cc=A=0x0e 0x3d0 03c2 21 05 |! | AJMP SUB_03c2_00 ; Flow J 0x105 03c4 21 14 |! | AJMP SUB_03c2_02 ; Flow J 0x114 03c6 41 6f |Ao | AJMP SUB_03c2_04 ; Flow J 0x26f 03c8 41 80 |A | AJMP SUB_03c2_06 ; Flow J 0x280 03ca 41 91 |A | AJMP SUB_03c2_08 ; Flow J 0x291 03cc 21 90 |! | AJMP BAD_INS ; Flow J 0x190 03ce 21 90 |! | AJMP BAD_INS ; Flow J 0x190 03d0 21 90 |! | AJMP BAD_INS ; Flow J 0x190 03d2 ; -------------------------------------------------------------------------------------- 03d2 ; BAD_INS - |1 0 1 1 0 0 0|m| 03d2 ; VADD vec,R2,R3 |1 0 1 1 0 0 0 1|0 1 1| vec | 03d2 ; VADD vec,var,var2 |1 0 1 1 0 0 0 0|0 1 1| vec | var | var2 | 03d2 ; VAND vec,R2,R3 |1 0 1 1 0 0 0 1|1 0 0| vec | 03d2 ; VAND vec,var,var2 |1 0 1 1 0 0 0 0|1 0 0| vec | var | var2 | 03d2 ; VJMP EQ,vec,R2,R3,dst,>JC |1 0 1 1 0 0 0 1|0 0 0| vec | dst | 03d2 ; VJMP EQ,vec,var,var2,dst,>JC |1 0 1 1 0 0 0 0|0 0 0| vec | var | var2 | dst | 03d2 ; VJMP NE,vec,R2,R3,dst,>JC |1 0 1 1 0 0 0 1|0 0 1| vec | dst | 03d2 ; VJMP NE,vec,var,var2,dst,>JC |1 0 1 1 0 0 0 0|0 0 1| vec | var | var2 | dst | 03d2 ; VMOV vec,@R2,@R3 |1 0 1 1 0 0 0 1|0 1 0| vec | 03d2 ; VMOV vec,var,var2 |1 0 1 1 0 0 0 0|0 1 0| vec | var | var2 | 03d2 ; VOR vec,R2,R3 |1 0 1 1 0 0 0 1|1 0 1| vec | 03d2 ; VOR vec,var,var2 |1 0 1 1 0 0 0 0|1 0 1| vec | var | var2 | 03d2 ; VXOR vec,R2,R3 |1 0 1 1 0 0 0 1|1 1 0| vec | 03d2 ; VXOR vec,var,var2 |1 0 1 1 0 0 0 0|1 1 0| vec | var | var2 | 03d2 ; -------------------------------------------------------------------------------------- 03d2 e6 | | MOV A,@R0 03d3 08 | | INC R0 03d4 8a 14 | | MOV R4_,R2 03d6 8b 15 | | MOV R5_,R3 03d8 40 06 |@ | JC 0x3e0 ; Flow J cc=None 0x3e0 ; Flow J cc=!None 0x3da 03da 86 14 | | MOV R4_,@R0 03dc 08 | | INC R0 03dd 86 15 | | MOV R5_,@R0 03df 08 | | INC R0 03e0 ff | | MOV R7,A 03e1 53 17 1f |S | ANL R7_,#0x1f 03e4 c4 | | SWAP A 03e5 54 0e |T | ANL A,#0x0e 03e7 90 03 eb | | MOV DPTR,0x3eb 03ea 73 |s | JMP @A+DPTR ; Flow J cc=A=0x00 0x3eb ; Flow J cc=A=0x02 0x3ed ; Flow J cc=A=0x04 0x3ef ; Flow J cc=A=0x06 0x3f1 ; Flow J cc=A=0x08 0x3f3 ; Flow J cc=A=0x0a 0x3f5 ; Flow J cc=A=0x0c 0x3f7 ; Flow J cc=A=0x0e 0x3f9 03eb 21 2a |!* | AJMP SUB_03eb_00 ; Flow J 0x12a 03ed 21 45 |!E | AJMP SUB_03eb_02 ; Flow J 0x145 03ef 41 a6 |A | AJMP SUB_03eb_04 ; Flow J 0x2a6 03f1 41 bf |A | AJMP SUB_03eb_06 ; Flow J 0x2bf 03f3 41 e0 |A | AJMP SUB_03eb_08 ; Flow J 0x2e0 03f5 41 fa |A | AJMP SUB_03eb_0a ; Flow J 0x2fa 03f7 61 14 |a | AJMP SUB_03eb_0c ; Flow J 0x314 03f9 21 90 |! | AJMP BAD_INS ; Flow J 0x190 03fb ; -------------------------------------------------------------------------------------- 03fb ; xB2 var,imm,imm2 |1 0 1 1 0 0 1|m| var | imm | imm2 | 03fb ; -------------------------------------------------------------------------------------- 03fb 86 11 | | MOV R1_,@R0 03fd 08 | | INC R0 03fe e6 | | MOV A,@R0 03ff 08 | | INC R0 0400 57 |W | ANL A,@R1 0401 09 | | INC R1 0402 a2 d0 | | MOV C,PSW.P 0404 e6 | | MOV A,@R0 0405 08 | | INC R0 0406 57 |W | ANL A,@R1 0407 30 d0 01 |0 | JNB PSW.P,0x40b ; Flow J cc=(PSW.P==0) 0x40b ; Flow J cc=!(PSW.P==0) 0x40a 040a b3 | | CPL C 040b e7 | | MOV A,@R1 040c 33 |3 | RLC A 040d f7 | | MOV @R1,A 040e 19 | | DEC R1 040f e7 | | MOV A,@R1 0410 33 |3 | RLC A 0411 f7 | | MOV @R1,A 0412 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0414 ; -------------------------------------------------------------------------------------- 0414 ; IDENT var |1 0 1 1 1 0 0|m| var | 0414 ; -------------------------------------------------------------------------------------- 0414 86 11 | | MOV R1_,@R0 0416 08 | | INC R0 0417 e7 | | MOV A,@R1 0418 54 07 |T | ANL A,#0x07 041a c4 | | SWAP A 041b 20 90 02 | | JB P1.0,0x420 ; Flow J cc=(bit=0x90==1) 0x420 ; Flow J cc=!(bit=0x90==1) 0x41e 041e d2 e7 | | SETB ACC.7 0420 f7 | | MOV @R1,A 0421 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0423 ; -------------------------------------------------------------------------------------- 0423 ; EVNPAR [0x8],var,var2 |1 0 1 1 0 1 0 0| var | var2 | 0423 ; ODDPAR [0x8],var,var2 |1 0 1 1 0 1 0 1| var | var2 | 0423 ; -------------------------------------------------------------------------------------- 0423 86 11 | | MOV R1_,@R0 0425 08 | | INC R0 0426 7f 08 | | MOV R7,#0x08 0428 e7 | | MOV A,@R1 0429 09 | | INC R1 042a a2 d0 | | MOV C,PSW.P 042c ee | | MOV A,R6 042d 33 |3 | RLC A 042e fe | | MOV R6,A 042f df f7 | | DJNZ R7,0x428 ; Flow C 0x428 0431 86 11 | | MOV R1_,@R0 0433 08 | | INC R0 0434 f7 | | MOV @R1,A 0435 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0437 ; -------------------------------------------------------------------------------------- 0437 ; EVNPAR imm,var,imm2 |1 0 1 1 0 1 1 0| imm | var | imm2 | 0437 ; ODDPAR imm,var,imm2 |1 0 1 1 0 1 1 1| imm | var | imm2 | 0437 ; -------------------------------------------------------------------------------------- 0437 86 17 | | MOV R7_,@R0 0439 08 | | INC R0 043a 86 14 | | MOV R4_,@R0 043c 08 | | INC R0 043d 8c 11 | | MOV R1_,R4 043f e7 | | MOV A,@R1 0440 09 | | INC R1 0441 30 d0 01 |0 | JNB PSW.P,0x445 ; Flow J cc=(PSW.P==0) 0x445 ; Flow J cc=!(PSW.P==0) 0x444 0444 b3 | | CPL C 0445 df f8 | | DJNZ R7,0x43f ; Flow C 0x43f 0447 50 11 |P | JNC 0x45a ; Flow J cc=None 0x45a ; Flow J cc=!None 0x449 0449 e6 | | MOV A,@R0 044a 75 f0 08 |u | MOV B,#0x08 044d 84 | | DIV AB 044e 2c |, | ADD A,R4 044f f9 | | MOV R1,A 0450 e4 | | CLR A 0451 d3 | | SETB C 0452 05 f0 | | INC B 0454 13 | | RRC A 0455 d5 f0 fc | | DJNZ B,0x454 ; Flow C 0x454 0458 67 |g | XRL A,@R1 0459 f7 | | MOV @R1,A 045a 08 | | INC R0 045b a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 045d 86 90 08 81 8c 86 90 08 | | .XXX[0x8] 0465 ; -------------------------------------------------------------------------------------- 0465 ; WFSM.H imm,fsm |1 1 0 0 0 1 1|m| imm | fsm | 0465 ; -------------------------------------------------------------------------------------- 0465 86 a0 | | MOV P2,@R0 0467 08 | | INC R0 0468 81 8c | | AJMP 0x48c ; Flow J 0x48c 046a 8a 11 40 03 | @ | .XXX[0x4] 046e 86 11 08 87 90 81 8c | | .XXX[0x7] 0475 ; -------------------------------------------------------------------------------------- 0475 ; WP2_FSM R2,fsm |1 1 0 0 0 0 0 1| fsm | 0475 ; WP2_FSM var,fsm |1 1 0 0 0 0 0 0| var | fsm | 0475 ; -------------------------------------------------------------------------------------- 0475 8a 11 | | MOV R1_,R2 0477 40 03 |@ | JC 0x47c ; Flow J cc=None 0x47c ; Flow J cc=!None 0x479 0479 86 11 | | MOV R1_,@R0 047b 08 | | INC R0 047c 87 a0 | | MOV P2,@R1 047e 81 8c | | AJMP 0x48c ; Flow J 0x48c 0480 8a 11 40 03 86 11 08 87 90 | @ | .XXX[0x9] 0489 09 87 a0 | | .XXX[0x3] 048c e6 | | MOV A,@R0 048d 08 | | INC R0 048e f2 | | MOVX @R0,A 048f 20 b3 fd | | JB P3._INT1,0x48f ; Flow J cc=(P3._INT1==1) 0x48f ; Flow J cc=!(P3._INT1==1) 0x492 0492 75 a0 ff |u | MOV P2,#0xff 0495 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0497 e6 08 8b 11 | | .XXX[0x4] 049b 40 03 86 11 08 c2 94 f2 20 |@ | .XXX[0x9] 04a4 b3 fd a7 90 a1 26 | & | .XXX[0x6] 04aa ; -------------------------------------------------------------------------------------- 04aa ; RFSM.H fsm,@R3 |1 1 0 0 1 1 0 1| fsm | 04aa ; RFSM.H fsm,var |1 1 0 0 1 1 0 0| fsm | var | 04aa ; -------------------------------------------------------------------------------------- 04aa e6 | | MOV A,@R0 04ab 08 | | INC R0 04ac 8b 11 | | MOV R1_,R3 04ae 40 03 |@ | JC 0x4b3 ; Flow J cc=None 0x4b3 ; Flow J cc=!None 0x4b0 04b0 86 11 | | MOV R1_,@R0 04b2 08 | | INC R0 04b3 c2 94 | | CLR P1.4 04b5 f2 | | MOVX @R0,A 04b6 20 b3 fd | | JB P3._INT1,0x4b6 ; Flow J cc=(P3._INT1==1) 0x4b6 ; Flow J cc=!(P3._INT1==1) 0x4b9 04b9 a7 a0 | | MOV @R1,P2 04bb a1 26 | & | AJMP 0x526 ; Flow J 0x526 04bd e6 08 | | .XXX[0x2] 04bf 8b 11 40 03 86 11 08 f2 20 | @ | .XXX[0x12] 04c8 b3 fd a7 90 09 a7 a0 a1 26 | &| 04d1 ; -------------------------------------------------------------------------------------- 04d1 ; FSM_8X imm,fsm |1 1 0 1 0 0 1|m| imm | fsm | 04d1 ; -------------------------------------------------------------------------------------- 04d1 86 16 | | MOV R6_,@R0 04d3 81 d9 | | AJMP 0x4d9 ; Flow J 0x4d9 04d5 ; -------------------------------------------------------------------------------------- 04d5 ; FSM_8X var,fsm |1 1 0 1 0 0 0 0| var | fsm | 04d5 ; -------------------------------------------------------------------------------------- 04d5 86 11 | | MOV R1_,@R0 04d7 87 16 | | MOV R6_,@R1 04d9 08 | | INC R0 04da 7f 08 | | MOV R7,#0x08 04dc ee | | MOV A,R6 04dd 13 | | RRC A 04de fe | | MOV R6,A 04df 75 a0 ff |u | MOV P2,#0xff 04e2 40 03 |@ | JC 0x4e7 ; Flow J cc=None 0x4e7 ; Flow J cc=!None 0x4e4 04e4 75 a0 00 |u | MOV P2,#0x00 04e7 e6 | | MOV A,@R0 04e8 f2 | | MOVX @R0,A 04e9 20 b3 fd | | JB P3._INT1,0x4e9 ; Flow J cc=(P3._INT1==1) 0x4e9 ; Flow J cc=!(P3._INT1==1) 0x4ec 04ec df ee | | DJNZ R7,0x4dc ; Flow C 0x4dc 04ee 75 a0 ff |u | MOV P2,#0xff 04f1 08 | | INC R0 04f2 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 04f4 ; -------------------------------------------------------------------------------------- 04f4 ; RCV_P1 imm,fsm,var |1 1 0 1 0 1 0 0| imm | fsm | var | 04f4 ; RCV_P2 imm,fsm,var |1 1 0 1 0 1 0 1| imm | fsm | var | 04f4 ; -------------------------------------------------------------------------------------- 04f4 92 ba | | MOV IP.PX1,C 04f6 86 11 | | MOV R1_,@R0 04f8 08 | | INC R0 04f9 e6 | | MOV A,@R0 04fa 7f 08 | | MOV R7,#0x08 04fc c2 94 | | CLR P1.4 04fe f2 | | MOVX @R0,A 04ff 20 b3 fd | | JB P3._INT1,0x4ff ; Flow J cc=(P3._INT1==1) 0x4ff ; Flow J cc=!(P3._INT1==1) 0x502 0502 e5 90 | | MOV A,P1 0504 30 ba 02 |0 | JNB IP.PX1,0x509 ; Flow J cc=(IP.PX1==0) 0x509 ; Flow J cc=!(IP.PX1==0) 0x507 0507 e5 a0 | | MOV A,P2 0509 59 |Y | ANL A,R1 050a c3 | | CLR C 050b 60 01 |` | JZ 0x50e ; Flow J cc=None 0x50e ; Flow J cc=!None 0x50d 050d d3 | | SETB C 050e ee | | MOV A,R6 050f 13 | | RRC A 0510 fe | | MOV R6,A 0511 e6 | | MOV A,@R0 0512 24 80 |$ | ADD A,#0x80 0514 df e8 | | DJNZ R7,0x4fe ; Flow C 0x4fe 0516 08 | | INC R0 0517 86 11 | | MOV R1_,@R0 0519 08 | | INC R0 051a a7 16 | | MOV @R1,R6_ 051c a1 26 | & | AJMP 0x526 ; Flow J 0x526 051e ; -------------------------------------------------------------------------------------- 051e ; FSM fsm |1 0 1 1 1 1 0|m| fsm | 051e ; -------------------------------------------------------------------------------------- 051e e6 | | MOV A,@R0 051f 08 | | INC R0 0520 a1 28 | ( | AJMP 0x528 ; Flow J 0x528 0522 ; -------------------------------------------------------------------------------------- 0522 ; FSM8 - |1 1 0 1 0 1 1|m| 0522 ; -------------------------------------------------------------------------------------- 0522 74 01 |t | MOV A,#0x01 0524 a1 28 | ( | AJMP 0x528 ; Flow J 0x528 0526 ; -------------------------------------------------------------------------------------- 0526 ; FSM2 - |1 1 0 1 1 0 0|m| 0526 ; -------------------------------------------------------------------------------------- 0526 74 80 |t | MOV A,#0x80 0528 f2 | | MOVX @R0,A 0529 20 b3 fd | | JB P3._INT1,0x529 ; Flow J cc=(P3._INT1==1) 0x529 ; Flow J cc=!(P3._INT1==1) 0x52c 052c d2 94 | | SETB P1.4 052e a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0530 ; -------------------------------------------------------------------------------------- 0530 ; xBA var,var2 |1 0 1 1 1 0 1 0| var | var2 | 0530 ; -------------------------------------------------------------------------------------- 0530 02 0c 20 | | LJMP 0xc20 ; Flow J 0xc20 0533 ; -------------------------------------------------------------------------------------- 0533 ; CHN_CMP EQ,@R2,chn,dst,>JC |1 1 0 1 1 0 1|m| chn |0 1 0|1| fsm | dst | 0533 ; CHN_CMP EQ,var,chn,dst,>JC |1 1 0 1 1 0 1|m| chn |0 1 0|0| var | fsm | dst | 0533 ; CHN_CMP NE,@R2,chn,dst,>JC |1 1 0 1 1 0 1|m| chn |0 1 1|1| fsm | dst | 0533 ; CHN_CMP NE,var,chn,dst,>JC |1 1 0 1 1 0 1|m| chn |0 1 1|0| var | fsm | dst | 0533 ; CHN_QQQ -,>R |1 1 0 1 1 0 1|m| 0533 ; CHN_RCV chn,@R3 |1 1 0 1 1 0 1|m| chn |0 0 1|1| fsm | 0533 ; CHN_RCV chn,var |1 1 0 1 1 0 1|m| chn |0 0 1|0| var | fsm | 0533 ; CHN_SND @R2,chn |1 1 0 1 1 0 1|m| chn |0 0 0|1| fsm | 0533 ; CHN_SND var,chn |1 1 0 1 1 0 1|m| chn |0 0 0|0| var | fsm | 0533 ; CHN_TST ??,chn,dst,>JC |1 1 0 1 1 0 1|m| chn |1|y|x|1| fsm | dst | 0533 ; CHN_TST NZ,chn,dst,>JC |1 1 0 1 1 0 1|m| chn |1 0 0 1| fsm | dst | 0533 ; CHN_TST Z,chn,dst,>JC |1 1 0 1 1 0 1|m| chn |1 1 0 1| fsm | dst | 0533 ; -------------------------------------------------------------------------------------- 0533 02 10 00 | | LJMP 0x1000 ; Flow J 0x1000 0536 ; -------------------------------------------------------------------------------------- 0536 ; RD_P1 var |1 1 0 1 1 1 0|m| var | 0536 ; -------------------------------------------------------------------------------------- 0536 86 11 | | MOV R1_,@R0 0538 08 | | INC R0 0539 a7 90 | | MOV @R1,P1 053b a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 053d ; -------------------------------------------------------------------------------------- 053d ; RD_P2 var |1 1 0 1 1 1 1|m| var | 053d ; -------------------------------------------------------------------------------------- 053d 86 11 | | MOV R1_,@R0 053f 08 | | INC R0 0540 a7 a0 | | MOV @R1,P2 0542 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0544 ; -------------------------------------------------------------------------------------- 0544 ; P1_RS imm,imm2 |1 1 1 0 0 0 0 1| imm | imm2 | 0544 ; P1_RS imm,var |1 1 1 0 0 0 0 0| imm | var | 0544 ; -------------------------------------------------------------------------------------- 0544 86 16 | | MOV R6_,@R0 0546 08 | | INC R0 0547 86 11 | | MOV R1_,@R0 0549 40 02 |@ | JC 0x54d ; Flow J cc=None 0x54d ; Flow J cc=!None 0x54b 054b 87 11 | | MOV R1_,@R1 054d 08 | | INC R0 054e ee | | MOV A,R6 054f f4 | | CPL A 0550 49 |I | ORL A,R1 0551 52 90 |R | ANL P1,A 0553 ee | | MOV A,R6 0554 59 |Y | ANL A,R1 0555 42 90 |B | ORL P1,A 0557 a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 0559 ; -------------------------------------------------------------------------------------- 0559 ; P2_RS imm,imm2 |1 1 1 0 0 0 1 1| imm | imm2 | 0559 ; P2_RS imm,var |1 1 1 0 0 0 1 0| imm | var | 0559 ; -------------------------------------------------------------------------------------- 0559 86 16 | | MOV R6_,@R0 055b 08 | | INC R0 055c 86 11 | | MOV R1_,@R0 055e 40 02 |@ | JC 0x562 ; Flow J cc=None 0x562 ; Flow J cc=!None 0x560 0560 87 11 | | MOV R1_,@R1 0562 08 | | INC R0 0563 ee | | MOV A,R6 0564 f4 | | CPL A 0565 49 |I | ORL A,R1 0566 52 a0 |R | ANL P2,A 0568 ee | | MOV A,R6 0569 59 |Y | ANL A,R1 056a 42 a0 |B | ORL P2,A 056c a1 6e | n | AJMP EXECUTE ; Flow J 0x56e 056e EXECUTE: 056e e6 | | MOV A,@R0 056f 08 | | INC R0 0570 a2 e0 | | MOV C,ACC.0 0572 c2 e0 | | CLR ACC.0 0574 90 05 78 | x | MOV DPTR,0x578 0577 73 |s | JMP @A+DPTR ; Flow J cc=A=0x00 0x578 ; Flow J cc=A=0x02 0x57a ; Flow J cc=A=0x04 0x57c ; Flow J cc=A=0x06 0x57e ; Flow J cc=A=0x08 0x580 ; Flow J cc=A=0x0a 0x582 ; Flow J cc=A=0x0c 0x584 ; Flow J cc=A=0x0e 0x586 ; Flow J cc=A=0x10 0x588 ; Flow J cc=A=0x12 0x58a ; Flow J cc=A=0x14 0x58c ; Flow J cc=A=0x16 0x58e ; Flow J cc=A=0x18 0x590 ; Flow J cc=A=0x1a 0x592 ; Flow J cc=A=0x1c 0x594 ; Flow J cc=A=0x1e 0x596 ; Flow J cc=A=0x20 0x598 ; Flow J cc=A=0x22 0x59a ; Flow J cc=A=0x24 0x59c ; Flow J cc=A=0x26 0x59e ; Flow J cc=A=0x28 0x5a0 ; Flow J cc=A=0x2a 0x5a2 ; Flow J cc=A=0x2c 0x5a4 ; Flow J cc=A=0x2e 0x5a6 ; Flow J cc=A=0x30 0x5a8 ; Flow J cc=A=0x32 0x5aa ; Flow J cc=A=0x34 0x5ac ; Flow J cc=A=0x36 0x5ae ; Flow J cc=A=0x38 0x5b0 ; Flow J cc=A=0x3a 0x5b2 ; Flow J cc=A=0x3c 0x5b4 ; Flow J cc=A=0x3e 0x5b6 ; Flow J cc=A=0x40 0x5b8 ; Flow J cc=A=0x42 0x5ba ; Flow J cc=A=0x44 0x5bc ; Flow J cc=A=0x46 0x5be ; Flow J cc=A=0x48 0x5c0 ; Flow J cc=A=0x4a 0x5c2 ; Flow J cc=A=0x4c 0x5c4 ; Flow J cc=A=0x4e 0x5c6 ; Flow J cc=A=0x50 0x5c8 ; Flow J cc=A=0x52 0x5ca ; Flow J cc=A=0x54 0x5cc ; Flow J cc=A=0x56 0x5ce ; Flow J cc=A=0x58 0x5d0 ; Flow J cc=A=0x5a 0x5d2 ; Flow J cc=A=0x5c 0x5d4 ; Flow J cc=A=0x5e 0x5d6 ; Flow J cc=A=0x60 0x5d8 ; Flow J cc=A=0x62 0x5da ; Flow J cc=A=0x64 0x5dc ; Flow J cc=A=0x66 0x5de ; Flow J cc=A=0x68 0x5e0 ; Flow J cc=A=0x6a 0x5e2 ; Flow J cc=A=0x6c 0x5e4 ; Flow J cc=A=0x6e 0x5e6 ; Flow J cc=A=0x70 0x5e8 ; Flow J cc=A=0x72 0x5ea ; Flow J cc=A=0x74 0x5ec ; Flow J cc=A=0x76 0x5ee ; Flow J cc=A=0x78 0x5f0 ; Flow J cc=A=0x7a 0x5f2 ; Flow J cc=A=0x7c 0x5f4 ; Flow J cc=A=0x7e 0x5f6 ; Flow J cc=A=0x80 0x5f8 ; Flow J cc=A=0x82 0x5fa ; Flow J cc=A=0x84 0x5fc ; Flow J cc=A=0x86 0x5fe ; Flow J cc=A=0x88 0x600 ; Flow J cc=A=0x8a 0x602 ; Flow J cc=A=0x8c 0x604 ; Flow J cc=A=0x8e 0x606 ; Flow J cc=A=0x90 0x608 ; Flow J cc=A=0x92 0x60a ; Flow J cc=A=0x94 0x60c ; Flow J cc=A=0x96 0x60e ; Flow J cc=A=0x98 0x610 ; Flow J cc=A=0x9a 0x612 ; Flow J cc=A=0x9c 0x614 ; Flow J cc=A=0x9e 0x616 ; Flow J cc=A=0xa0 0x618 ; Flow J cc=A=0xa2 0x61a ; Flow J cc=A=0xa4 0x61c ; Flow J cc=A=0xa6 0x61e ; Flow J cc=A=0xa8 0x620 ; Flow J cc=A=0xaa 0x622 ; Flow J cc=A=0xac 0x624 ; Flow J cc=A=0xae 0x626 ; Flow J cc=A=0xb0 0x628 ; Flow J cc=A=0xb2 0x62a ; Flow J cc=A=0xb4 0x62c ; Flow J cc=A=0xb6 0x62e ; Flow J cc=A=0xb8 0x630 ; Flow J cc=A=0xba 0x632 ; Flow J cc=A=0xbc 0x634 ; Flow J cc=A=0xbe 0x636 ; Flow J cc=A=0xc0 0x638 ; Flow J cc=A=0xc2 0x63a ; Flow J cc=A=0xc4 0x63c ; Flow J cc=A=0xc6 0x63e ; Flow J cc=A=0xc8 0x640 ; Flow J cc=A=0xca 0x642 ; Flow J cc=A=0xcc 0x644 ; Flow J cc=A=0xce 0x646 ; Flow J cc=A=0xd0 0x648 ; Flow J cc=A=0xd2 0x64a ; Flow J cc=A=0xd4 0x64c ; Flow J cc=A=0xd6 0x64e ; Flow J cc=A=0xd8 0x650 ; Flow J cc=A=0xda 0x652 ; Flow J cc=A=0xdc 0x654 ; Flow J cc=A=0xde 0x656 ; Flow J cc=A=0xe0 0x658 ; Flow J cc=A=0xe2 0x65a ; Flow J cc=A=0xe4 0x65c ; Flow J cc=A=0xe6 0x65e ; Flow J cc=A=0xe8 0x660 ; Flow J cc=A=0xea 0x662 ; Flow J cc=A=0xec 0x664 ; Flow J cc=A=0xee 0x666 ; Flow J cc=A=0xf0 0x668 ; Flow J cc=A=0xf2 0x66a ; Flow J cc=A=0xf4 0x66c ; Flow J cc=A=0xf6 0x66e ; Flow J cc=A=0xf8 0x670 ; Flow J cc=A=0xfa 0x672 ; Flow J cc=A=0xfc 0x674 ; Flow J cc=A=0xfe 0x676 0578 01 2d | - | AJMP 0x2d ; Flow J 0x2d 057a 01 25 | % | AJMP 0x25 ; Flow J 0x25 057c 01 25 | % | AJMP 0x25 ; Flow J 0x25 057e 01 25 | % | AJMP 0x25 ; Flow J 0x25 0580 01 25 | % | AJMP 0x25 ; Flow J 0x25 0582 01 25 | % | AJMP 0x25 ; Flow J 0x25 0584 01 25 | % | AJMP 0x25 ; Flow J 0x25 0586 01 25 | % | AJMP 0x25 ; Flow J 0x25 0588 01 25 | % | AJMP 0x25 ; Flow J 0x25 058a 01 25 | % | AJMP 0x25 ; Flow J 0x25 058c 01 25 | % | AJMP 0x25 ; Flow J 0x25 058e 01 34 | 4 | AJMP 0x34 ; Flow J 0x34 0590 01 5b | [ | AJMP 0x5b ; Flow J 0x5b 0592 01 5b | [ | AJMP 0x5b ; Flow J 0x5b 0594 01 3d | = | AJMP 0x3d ; Flow J 0x3d 0596 01 3d | = | AJMP 0x3d ; Flow J 0x3d 0598 01 42 | B | AJMP 0x42 ; Flow J 0x42 059a 01 42 | B | AJMP 0x42 ; Flow J 0x42 059c 01 4c | L | AJMP 0x4c ; Flow J 0x4c 059e 01 4c | L | AJMP 0x4c ; Flow J 0x4c 05a0 01 51 | Q | AJMP 0x51 ; Flow J 0x51 05a2 01 51 | Q | AJMP 0x51 ; Flow J 0x51 05a4 01 ae | | AJMP 0xae ; Flow J 0xae 05a6 01 90 | | AJMP 0x90 ; Flow J 0x90 05a8 01 95 | | AJMP 0x95 ; Flow J 0x95 05aa 01 9f | | AJMP 0x9f ; Flow J 0x9f 05ac 01 a4 | | AJMP 0xa4 ; Flow J 0xa4 05ae 01 8c | | AJMP 0x8c ; Flow J 0x8c 05b0 01 68 | h | AJMP 0x68 ; Flow J 0x68 05b2 01 6e | n | AJMP 0x6e ; Flow J 0x6e 05b4 01 7a | z | AJMP 0x7a ; Flow J 0x7a 05b6 01 80 | | AJMP 0x80 ; Flow J 0x80 05b8 01 b2 | | AJMP 0xb2 ; Flow J 0xb2 05ba 01 c6 | | AJMP 0xc6 ; Flow J 0xc6 05bc 01 d0 | | AJMP 0xd0 ; Flow J 0xd0 05be 01 d9 | | AJMP 0xd9 ; Flow J 0xd9 05c0 21 00 |! | AJMP 0x100 ; Flow J 0x100 05c2 21 0f |! | AJMP 0x10f ; Flow J 0x10f 05c4 01 e2 | | AJMP 0xe2 ; Flow J 0xe2 05c6 01 f1 | | AJMP 0xf1 ; Flow J 0xf1 05c8 21 1d |! | AJMP 0x11d ; Flow J 0x11d 05ca 21 38 |!8 | AJMP 0x138 ; Flow J 0x138 05cc 21 54 |!T | AJMP 0x154 ; Flow J 0x154 05ce 21 5a |!Z | AJMP 0x15a ; Flow J 0x15a 05d0 21 6c |!l | AJMP 0x16c ; Flow J 0x16c 05d2 21 74 |!t | AJMP 0x174 ; Flow J 0x174 05d4 21 95 |! | AJMP 0x195 ; Flow J 0x195 05d6 21 a4 |! | AJMP 0x1a4 ; Flow J 0x1a4 05d8 21 8b |! | AJMP 0x18b ; Flow J 0x18b 05da 21 be |! | AJMP 0x1be ; Flow J 0x1be 05dc 21 d6 |! | AJMP 0x1d6 ; Flow J 0x1d6 05de 21 da |! | AJMP 0x1da ; Flow J 0x1da 05e0 21 de |! | AJMP 0x1de ; Flow J 0x1de 05e2 21 e2 |! | AJMP 0x1e2 ; Flow J 0x1e2 05e4 21 e6 |! | AJMP 0x1e6 ; Flow J 0x1e6 05e6 21 ea |! | AJMP 0x1ea ; Flow J 0x1ea 05e8 21 ee |! | AJMP 0x1ee ; Flow J 0x1ee 05ea 21 f3 |! | AJMP 0x1f3 ; Flow J 0x1f3 05ec 21 f8 |! | AJMP 0x1f8 ; Flow J 0x1f8 05ee 21 fb |! | AJMP 0x1fb ; Flow J 0x1fb 05f0 21 fe |! | AJMP 0x1fe ; Flow J 0x1fe 05f2 41 01 |A | AJMP 0x201 ; Flow J 0x201 05f4 41 04 |A | AJMP 0x204 ; Flow J 0x204 05f6 41 0a |A | AJMP 0x20a ; Flow J 0x20a 05f8 41 10 |A | AJMP 0x210 ; Flow J 0x210 05fa 41 22 |A" | AJMP 0x222 ; Flow J 0x222 05fc 41 6a |Aj | AJMP 0x26a ; Flow J 0x26a 05fe 41 28 |A( | AJMP 0x228 ; Flow J 0x228 0600 41 7b |A{ | AJMP 0x27b ; Flow J 0x27b 0602 41 2e |A. | AJMP 0x22e ; Flow J 0x22e 0604 41 8c |A | AJMP 0x28c ; Flow J 0x28c 0606 41 16 |A | AJMP 0x216 ; Flow J 0x216 0608 41 99 |A | AJMP 0x299 ; Flow J 0x299 060a 41 36 |A6 | AJMP 0x236 ; Flow J 0x236 060c 41 b2 |A | AJMP 0x2b2 ; Flow J 0x2b2 060e 41 43 |AC | AJMP 0x243 ; Flow J 0x243 0610 41 d3 |A | AJMP 0x2d3 ; Flow J 0x2d3 0612 41 50 |AP | AJMP 0x250 ; Flow J 0x250 0614 41 ed |A | AJMP 0x2ed ; Flow J 0x2ed 0616 41 5d |A] | AJMP 0x25d ; Flow J 0x25d 0618 61 07 |a | AJMP 0x307 ; Flow J 0x307 061a 61 21 |a! | AJMP 0x321 ; Flow J 0x321 061c 61 39 |a9 | AJMP 0x339 ; Flow J 0x339 061e 61 84 |a | AJMP 0x384 ; Flow J 0x384 0620 61 55 |aU | AJMP 0x355 ; Flow J 0x355 0622 61 80 |a | AJMP 0x380 ; Flow J 0x380 0624 61 51 |aQ | AJMP 0x351 ; Flow J 0x351 0626 61 ae |a | AJMP 0x3ae ; Flow J 0x3ae 0628 61 d2 |a | AJMP 0x3d2 ; Flow J 0x3d2 062a 61 fb |a | AJMP 0x3fb ; Flow J 0x3fb 062c 81 23 | # | AJMP 0x423 ; Flow J 0x423 062e 81 37 | 7 | AJMP 0x437 ; Flow J 0x437 0630 81 14 | | AJMP 0x414 ; Flow J 0x414 0632 a1 30 | 0 | AJMP 0x530 ; Flow J 0x530 0634 a1 1e | | AJMP 0x51e ; Flow J 0x51e 0636 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0638 81 75 | u | AJMP 0x475 ; Flow J 0x475 063a 21 90 |! | AJMP BAD_INS ; Flow J 0x190 063c 21 90 |! | AJMP BAD_INS ; Flow J 0x190 063e 81 65 | e | AJMP 0x465 ; Flow J 0x465 0640 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0642 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0644 81 aa | | AJMP 0x4aa ; Flow J 0x4aa 0646 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0648 81 d5 | | AJMP 0x4d5 ; Flow J 0x4d5 064a 81 d1 | | AJMP 0x4d1 ; Flow J 0x4d1 064c 81 f4 | | AJMP 0x4f4 ; Flow J 0x4f4 064e a1 22 | " | AJMP 0x522 ; Flow J 0x522 0650 a1 26 | & | AJMP 0x526 ; Flow J 0x526 0652 a1 33 | 3 | AJMP 0x533 ; Flow J 0x533 0654 a1 36 | 6 | AJMP 0x536 ; Flow J 0x536 0656 a1 3d | = | AJMP 0x53d ; Flow J 0x53d 0658 a1 44 | D | AJMP 0x544 ; Flow J 0x544 065a a1 59 | Y | AJMP 0x559 ; Flow J 0x559 065c 01 47 | G | AJMP 0x47 ; Flow J 0x47 065e 01 47 | G | AJMP 0x47 ; Flow J 0x47 0660 01 56 | V | AJMP 0x56 ; Flow J 0x56 0662 01 56 | V | AJMP 0x56 ; Flow J 0x56 0664 01 9a | | AJMP 0x9a ; Flow J 0x9a 0666 01 a9 | | AJMP 0xa9 ; Flow J 0xa9 0668 01 74 | t | AJMP 0x74 ; Flow J 0x74 066a 01 86 | | AJMP 0x86 ; Flow J 0x86 066c 21 90 |! | AJMP BAD_INS ; Flow J 0x190 066e 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0670 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0672 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0674 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0676 21 90 |! | AJMP BAD_INS ; Flow J 0x190 0678 SET_DIAG_ADDR(): 0678 75 98 b0 |u | MOV SCON,#0xb0 067b d2 b4 | | SETB P3.T0 067d 20 bb 11 | | JB IP.PT1,0x691 ; Flow J cc=(IP.PT1==1) 0x691 ; Flow J cc=!(IP.PT1==1) 0x680 0680 74 00 |t | MOV A,#0x00 0682 f2 | | MOVX @R0,A 0683 c2 92 | | CLR P1.2 0685 d2 94 | | SETB P1.4 0687 c2 93 | | CLR P1.3 0689 e5 a0 | | MOV A,P2 068b f4 | | CPL A 068c c4 | | SWAP A 068d 54 0f |T | ANL A,#0x0f 068f f5 03 | | MOV diag_address,A 0691 d2 93 | | SETB P1.3 0693 74 80 |t | MOV A,#0x80 0695 f2 | | MOVX @R0,A 0696 d2 94 | | SETB P1.4 0698 75 b8 00 |u | MOV IP,#0x00 069b 75 a8 90 |u | MOV IE,#0x90 069e 22 |" | RET ; Flow R 069f SERIAL_RX_BYTE(): 069f 30 98 fd |0 | JNB SCON.RI,SERIAL_RX_BYTE(); Flow J cc=(SCON.RI==0) 0x69f ; Flow J cc=!(SCON.RI==0) 0x6a2 06a2 e5 99 | | MOV A,SBUF 06a4 2a |* | ADD A,R2 06a5 fa | | MOV R2,A 06a6 e5 99 | | MOV A,SBUF 06a8 c2 98 | | CLR SCON.RI 06aa 22 |" | RET ; Flow R 06ab SERIAL_TX_BYTE(): 06ab c2 b4 | | CLR P3.T0 06ad f5 99 | | MOV SBUF,A 06af 30 99 fd |0 | JNB SCON.TI,0x6af ; Flow J cc=(SCON.TI==0) 0x6af ; Flow J cc=!(SCON.TI==0) 0x6b2 06b2 c2 99 | | CLR SCON.TI 06b4 d2 b4 | | SETB P3.T0 06b6 22 |" | RET ; Flow R 06b7 SERIAL_INTERRUPT(): 06b7 20 98 03 | | JB SCON.RI,0x6bd ; Flow J cc=(SCON.RI==1) 0x6bd ; Flow J cc=!(SCON.RI==1) 0x6ba 06ba c2 99 | | CLR SCON.TI 06bc 32 |2 | RETI ; Flow R 06bd c0 e0 | | PUSH ACC 06bf 92 d5 | | MOV PSW.F0,C 06c1 c2 d4 | | CLR PSW.RS1 06c3 e5 99 | | MOV A,SBUF 06c5 c2 98 | | CLR SCON.RI 06c7 c2 9d | | CLR SCON.SM2 06c9 f8 | | MOV R0,A 06ca 54 1f |T | ANL A,#0x1f 06cc b5 03 02 | | CJNE A,diag_address,0x6d1 ; Flow J cc=NE 0x6d1 ; Flow J cc=!NE 0x6cf 06cf 80 33 | 3 | SJMP DIAG_DO_CMD_R0 ; Flow J 0x704 06d1 b4 05 02 | | CJNE A,#0x05,0x6d6 ; Flow J cc=NE 0x6d6 ; Flow J cc=!NE 0x6d4 06d4 80 2e | . | SJMP DIAG_DO_CMD_R0 ; Flow J 0x704 06d6 30 e3 20 |0 | JNB ACC.3,0x6f9 ; Flow J cc=(ACC.3==0) 0x6f9 ; Flow J cc=!(ACC.3==0) 0x6d9 06d9 20 e2 1d | | JB ACC.2,0x6f9 ; Flow J cc=(ACC.2==1) 0x6f9 ; Flow J cc=!(ACC.2==1) 0x6dc 06dc 20 e1 0e | | JB ACC.1,0x6ed ; Flow J cc=(ACC.1==1) 0x6ed ; Flow J cc=!(ACC.1==1) 0x6df 06df e5 03 | | MOV A,diag_address 06e1 20 e3 20 | | JB ACC.3,DIAG_DO_CMD_R0 ; Flow J cc=(ACC.3==1) 0x704 ; Flow J cc=!(ACC.3==1) 0x6e4 06e4 c8 | | XCH A,R0 06e5 30 e0 11 |0 | JNB ACC.0,0x6f9 ; Flow J cc=(ACC.0==0) 0x6f9 ; Flow J cc=!(ACC.0==0) 0x6e8 06e8 b8 03 0e | | CJNE R0,#0x03,0x6f9 ; Flow J cc=NE 0x6f9 ; Flow J cc=!NE 0x6eb 06eb 80 18 | | SJMP DIAG_DO_CMD_A ; Flow J 0x705 06ed e5 03 | | MOV A,diag_address 06ef 20 e3 07 | | JB ACC.3,0x6f9 ; Flow J cc=(ACC.3==1) 0x6f9 ; Flow J cc=!(ACC.3==1) 0x6f2 06f2 c8 | | XCH A,R0 06f3 20 e0 0f | | JB ACC.0,DIAG_DO_CMD_A ; Flow J cc=(ACC.0==1) 0x705 ; Flow J cc=!(ACC.0==1) 0x6f6 06f6 b8 03 0c | | CJNE R0,#0x03,DIAG_DO_CMD_A ; Flow J cc=NE 0x705 ; Flow J cc=!NE 0x6f9 06f9 d2 9d | | SETB SCON.SM2 06fb c2 98 | | CLR SCON.RI 06fd d0 e0 | | POP ACC 06ff a2 d5 | | MOV C,PSW.F0 0701 d2 d4 | | SETB PSW.RS1 0703 32 |2 | RETI ; Flow R 0704 DIAG_DO_CMD_R0: 0704 e8 | | MOV A,R0 0705 DIAG_DO_CMD_A: 0705 54 e0 |T | ANL A,#0xe0 0707 b4 60 04 | ` | CJNE A,#0x60,0x70e ; Flow J cc=NE 0x70e ; Flow J cc=!NE 0x70a 070a DIAG_CMD_6_ENABLE: 070a c2 88 | | CLR TCON.IT0 070c c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 070e 20 88 e8 | | JB TCON.IT0,0x6f9 ; Flow J cc=(TCON.IT0==1) 0x6f9 ; Flow J cc=!(TCON.IT0==1) 0x711 0711 b4 00 11 | | CJNE A,#0x00,0x725 ; Flow J cc=NE 0x725 ; Flow J cc=!NE 0x714 0714 DIAG_CMD_0_STATUS: 0714 e5 04 | | MOV A,diag_status 0716 a2 b2 | | MOV C,P3._INT0 0718 b3 | | CPL C 0719 92 e7 | | MOV ACC.7,C 071b a2 8e | | MOV C,TCON.TR1 071d 92 e6 | | MOV ACC.6,C 071f d1 ab | | ACALL SERIAL_TX_BYTE() ; Flow C 0x6ab 0721 c2 8e | | CLR TCON.TR1 0723 c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 0725 b4 a0 2f | / | CJNE A,#0xa0,0x757 ; Flow J cc=NE 0x757 ; Flow J cc=!NE 0x728 0728 DIAG_CMD_A_DOWNLOAD: 0728 e5 04 | | MOV A,diag_status 072a b4 06 02 | | CJNE A,#0x06,0x72f ; Flow J cc=NE 0x72f ; Flow J cc=!NE 0x72d 072d e1 53 | S | AJMP 0x753 ; Flow J 0x753 072f 7a 00 |z | MOV R2,#0x00 0731 d1 9f | | ACALL SERIAL_RX_BYTE() ; Flow C 0x69f 0733 f9 | | MOV R1,A 0734 78 10 |x | MOV R0,#0x10 0736 d1 9f | | ACALL SERIAL_RX_BYTE() ; Flow C 0x69f 0738 f6 | | MOV @R0,A 0739 08 | | INC R0 073a d9 fa | | DJNZ R1,0x736 ; Flow C 0x736 073c 30 98 fd |0 | JNB SCON.RI,0x73c ; Flow J cc=(SCON.RI==0) 0x73c ; Flow J cc=!(SCON.RI==0) 0x73f 073f e5 99 | | MOV A,SBUF 0741 c2 98 | | CLR SCON.RI 0743 b5 02 0d | | CJNE A,0x2,0x753 ; Flow J cc=NE 0x753 ; Flow J cc=!NE 0x746 0746 e5 11 | | MOV A,R1_ 0748 13 | | RRC A 0749 92 b8 | | MOV IP.PX0,C 074b 13 | | RRC A 074c 92 b9 | | MOV IP.PT0,C 074e 75 04 06 |u | MOV diag_status,#0x06 0751 c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 0753 d2 8e | | SETB TCON.TR1 0755 c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 0757 b4 20 1b | | CJNE A,#0x20,0x775 ; Flow J cc=NE 0x775 ; Flow J cc=!NE 0x75a 075a DIAG_CMD_2_UPLOAD: 075a d1 9f | | ACALL SERIAL_RX_BYTE() ; Flow C 0x69f 075c f8 | | MOV R0,A 075d d1 9f | | ACALL SERIAL_RX_BYTE() ; Flow C 0x69f 075f f9 | | MOV R1,A 0760 e5 b8 | | MOV A,IP 0762 fa | | MOV R2,A 0763 d1 ab | | ACALL SERIAL_TX_BYTE() ; Flow C 0x6ab 0765 e9 | | MOV A,R1 0766 60 08 |` | JZ 0x770 ; Flow J cc=None 0x770 ; Flow J cc=!None 0x768 0768 e6 | | MOV A,@R0 0769 d1 ab | | ACALL SERIAL_TX_BYTE() ; Flow C 0x6ab 076b 2a |* | ADD A,R2 076c fa | | MOV R2,A 076d 08 | | INC R0 076e d9 f8 | | DJNZ R1,0x768 ; Flow C 0x768 0770 ea | | MOV A,R2 0771 d1 ab | | ACALL SERIAL_TX_BYTE() ; Flow C 0x6ab 0773 c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 0775 b4 c0 0a | | CJNE A,#0xc0,0x782 ; Flow J cc=NE 0x782 ; Flow J cc=!NE 0x778 0778 DIAG_CMD_C_UNPAUSE: 0778 e5 04 | | MOV A,diag_status 077a b4 03 10 | | CJNE A,#0x03,0x78d ; Flow J cc=NE 0x78d ; Flow J cc=!NE 0x77d 077d 75 04 06 |u | MOV diag_status,#0x06 0780 c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 0782 b4 e0 0a | | CJNE A,#0xe0,0x78f ; Flow J cc=NE 0x78f ; Flow J cc=!NE 0x785 0785 DIAG_CMD_E_UNLOOP: 0785 e5 04 | | MOV A,diag_status 0787 b4 02 03 | | CJNE A,#0x02,0x78d ; Flow J cc=NE 0x78d ; Flow J cc=!NE 0x78a 078a 75 04 06 |u | MOV diag_status,#0x06 078d c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 078f b4 40 04 | @ | CJNE A,#0x40,DIAG_CMD_8_RESET; Flow J cc=NE 0x796 ; Flow J cc=!NE 0x792 0792 DIAG_CMD_4_DISABLE: 0792 d2 88 | | SETB TCON.IT0 0794 c1 f9 | | AJMP 0x6f9 ; Flow J 0x6f9 0796 DIAG_CMD_8_RESET: 0796 c2 af | | CLR IE.EA 0798 f1 9e | | ACALL 0x79e ; Flow C 0x79e 079a d2 bb | | SETB IP.PT1 079c 01 04 | | AJMP 0x4 ; Flow J 0x4 079e 32 |2 | RETI ; Flow R 079f ff ff | | .XXX[0x2] 07a1 ff ff ff ff ff ff ff ff ff | | .BLANK ff[0x5a] 07fb ff ff ff ff ff | | .XXX[0x5] 0800 BITSPEC_0800: 0800 1f 1f 1f 1f 1f 1f 1f e9 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x09.0, 0xff 0809 1f 1f 1f 1f 1f 1f 1f c9 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x09.1, 0xff 0812 1f 1f 1f 1f 1f 1f 1f a9 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x09.2, 0xff 081b 1f 1f 1f 1f 1f 1f 1f 89 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x09.3, 0xff 0824 e1 e2 e3 e4 86 87 c8 69 ff | i | .BITPOS +0x01.0, +0x02.0, +0x03.0, +0x04.0, +0x06.3, +0x07.3, +0x08.1, +0x09.4, 0xff 082d c1 c2 c3 c4 66 67 a8 49 ff | fg I | .BITPOS +0x01.1, +0x02.1, +0x03.1, +0x04.1, +0x06.4, +0x07.4, +0x08.2, +0x09.5, 0xff 0836 a1 a2 a3 a4 46 47 88 29 ff | FG ) | .BITPOS +0x01.2, +0x02.2, +0x03.2, +0x04.2, +0x06.5, +0x07.5, +0x08.3, +0x09.6, 0xff 083f 81 82 83 84 26 27 68 09 ff | &'h | .BITPOS +0x01.3, +0x02.3, +0x03.3, +0x04.3, +0x06.6, +0x07.6, +0x08.4, +0x09.7, 0xff 0848 61 62 63 64 06 07 48 e0 ff |abcd H | .BITPOS +0x01.4, +0x02.4, +0x03.4, +0x04.4, +0x06.7, +0x07.7, +0x08.5, +0x00.0, 0xff 0851 41 42 43 44 e5 e6 e7 c0 ff |ABCD | .BITPOS +0x01.5, +0x02.5, +0x03.5, +0x04.5, +0x05.0, +0x06.0, +0x07.0, +0x00.1, 0xff 085a 21 22 23 24 c5 c6 c7 a0 ff |!"#$ | .BITPOS +0x01.6, +0x02.6, +0x03.6, +0x04.6, +0x05.1, +0x06.1, +0x07.1, +0x00.2, 0xff 0863 01 02 03 04 a5 a6 a7 e8 ff | | .BITPOS +0x01.7, +0x02.7, +0x03.7, +0x04.7, +0x05.2, +0x06.2, +0x07.2, +0x08.0, 0xff 086c ff | | .CONST 0xff 086d BITSPEC_086d: 086d e1 e2 e3 e4 86 87 c8 1f ff | | .BITPOS +0x01.0, +0x02.0, +0x03.0, +0x04.0, +0x06.3, +0x07.3, +0x08.1, NOP , 0xff 0876 c1 c2 c3 c4 66 67 a8 1f ff | fg | .BITPOS +0x01.1, +0x02.1, +0x03.1, +0x04.1, +0x06.4, +0x07.4, +0x08.2, NOP , 0xff 087f a1 a2 a3 a4 46 47 88 1f ff | FG | .BITPOS +0x01.2, +0x02.2, +0x03.2, +0x04.2, +0x06.5, +0x07.5, +0x08.3, NOP , 0xff 0888 81 82 83 84 26 27 68 1f ff | &'h | .BITPOS +0x01.3, +0x02.3, +0x03.3, +0x04.3, +0x06.6, +0x07.6, +0x08.4, NOP , 0xff 0891 61 62 63 64 06 07 48 1f ff |abcd H | .BITPOS +0x01.4, +0x02.4, +0x03.4, +0x04.4, +0x06.7, +0x07.7, +0x08.5, NOP , 0xff 089a 41 42 43 44 e5 e6 e7 1f ff |ABCD | .BITPOS +0x01.5, +0x02.5, +0x03.5, +0x04.5, +0x05.0, +0x06.0, +0x07.0, NOP , 0xff 08a3 21 22 23 24 c5 c6 c7 1f ff |!"#$ | .BITPOS +0x01.6, +0x02.6, +0x03.6, +0x04.6, +0x05.1, +0x06.1, +0x07.1, NOP , 0xff 08ac 01 02 03 04 a5 a6 a7 1f ff | | .BITPOS +0x01.7, +0x02.7, +0x03.7, +0x04.7, +0x05.2, +0x06.2, +0x07.2, NOP , 0xff 08b5 1f 1f 1f 1f 1f 1f 1f e0 01 | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x00.0, 0x01 08be 1f 1f 1f 1f 1f 1f 1f c0 01 | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x00.1, 0x01 08c7 1f 1f 1f 1f 1f 1f 1f a0 01 | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x00.2, 0x01 08d0 1f 1f 1f 1f 1f 1f 1f e8 01 | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.0, 0x01 08d9 ff | | .CONST 0xff 08da BITSPEC_MEM32_DREG_FULL: 08da 1f 1f 1f 1f 1f 52 f2 f0 ff | R | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x12.5, +0x12.0, +0x10.0, 0xff 08e3 1f 1f 1f 1f 1f 32 d2 d0 ff | 2 | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x12.6, +0x12.1, +0x10.1, 0xff 08ec 1f 1f 1f 1f 1f 12 b2 b0 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x12.7, +0x12.2, +0x10.2, 0xff 08f5 1f 1f 1f 1f 1f f1 92 90 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x11.0, +0x12.3, +0x10.3, 0xff 08fe 1f 1f 1f 1f 1f f1 72 70 ff | rp | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x11.0, +0x12.4, +0x10.4, 0xff 0907 1f 1f 1f 1f 1f f1 f1 50 ff | P | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x11.0, +0x11.0, +0x10.5, 0xff 0910 1f 1f 1f 1f 1f f1 f1 30 ff | 0 | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x11.0, +0x11.0, +0x10.6, 0xff 0919 1f 1f 1f 1f 1f f1 f1 10 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x11.0, +0x11.0, +0x10.7, 0xff 0922 e8 e9 ea eb ec ed ee ef ff | | .BITPOS +0x08.0, +0x09.0, +0x0a.0, +0x0b.0, +0x0c.0, +0x0d.0, +0x0e.0, +0x0f.0, 0xff 092b c8 c9 ca cb cc cd ce cf ff | | .BITPOS +0x08.1, +0x09.1, +0x0a.1, +0x0b.1, +0x0c.1, +0x0d.1, +0x0e.1, +0x0f.1, 0xff 0934 a8 a9 aa ab ac ad ae af ff | | .BITPOS +0x08.2, +0x09.2, +0x0a.2, +0x0b.2, +0x0c.2, +0x0d.2, +0x0e.2, +0x0f.2, 0xff 093d 88 89 8a 8b 8c 8d 8e 8f ff | | .BITPOS +0x08.3, +0x09.3, +0x0a.3, +0x0b.3, +0x0c.3, +0x0d.3, +0x0e.3, +0x0f.3, 0xff 0946 68 69 6a 6b 6c 6d 6e 6f ff |hijklmno | .BITPOS +0x08.4, +0x09.4, +0x0a.4, +0x0b.4, +0x0c.4, +0x0d.4, +0x0e.4, +0x0f.4, 0xff 094f 48 49 4a 4b 4c 4d 4e 4f ff |HIJKLMNO | .BITPOS +0x08.5, +0x09.5, +0x0a.5, +0x0b.5, +0x0c.5, +0x0d.5, +0x0e.5, +0x0f.5, 0xff 0958 28 29 2a 2b 2c 2d 2e 2f ff |()*+,-./ | .BITPOS +0x08.6, +0x09.6, +0x0a.6, +0x0b.6, +0x0c.6, +0x0d.6, +0x0e.6, +0x0f.6, 0xff 0961 08 09 0a 0b 0c 0d 0e 0f ff | | .BITPOS +0x08.7, +0x09.7, +0x0a.7, +0x0b.7, +0x0c.7, +0x0d.7, +0x0e.7, +0x0f.7, 0xff 096a e0 e1 e2 e3 e4 e5 e6 e7 ff | | .BITPOS +0x00.0, +0x01.0, +0x02.0, +0x03.0, +0x04.0, +0x05.0, +0x06.0, +0x07.0, 0xff 0973 c0 c1 c2 c3 c4 c5 c6 c7 ff | | .BITPOS +0x00.1, +0x01.1, +0x02.1, +0x03.1, +0x04.1, +0x05.1, +0x06.1, +0x07.1, 0xff 097c a0 a1 a2 a3 a4 a5 a6 a7 ff | | .BITPOS +0x00.2, +0x01.2, +0x02.2, +0x03.2, +0x04.2, +0x05.2, +0x06.2, +0x07.2, 0xff 0985 80 81 82 83 84 85 86 87 ff | | .BITPOS +0x00.3, +0x01.3, +0x02.3, +0x03.3, +0x04.3, +0x05.3, +0x06.3, +0x07.3, 0xff 098e 60 61 62 63 64 65 66 67 ff |`abcdefg | .BITPOS +0x00.4, +0x01.4, +0x02.4, +0x03.4, +0x04.4, +0x05.4, +0x06.4, +0x07.4, 0xff 0997 40 41 42 43 44 45 46 47 ff |@ABCDEFG | .BITPOS +0x00.5, +0x01.5, +0x02.5, +0x03.5, +0x04.5, +0x05.5, +0x06.5, +0x07.5, 0xff 09a0 20 21 22 23 24 25 26 27 ff | !"#$%&' | .BITPOS +0x00.6, +0x01.6, +0x02.6, +0x03.6, +0x04.6, +0x05.6, +0x06.6, +0x07.6, 0xff 09a9 00 01 02 03 04 05 06 07 ff | | .BITPOS +0x00.7, +0x01.7, +0x02.7, +0x03.7, +0x04.7, +0x05.7, +0x06.7, +0x07.7, 0xff 09b2 ff | | .CONST 0xff 09b3 BITSPEC_09b3: 09b3 e8 e9 ea eb ec 52 f2 f0 ff | R | .BITPOS +0x08.0, +0x09.0, +0x0a.0, +0x0b.0, +0x0c.0, +0x12.5, +0x12.0, +0x10.0, 0xff 09bc c8 c9 ca cb cc 32 d2 d0 ff | 2 | .BITPOS +0x08.1, +0x09.1, +0x0a.1, +0x0b.1, +0x0c.1, +0x12.6, +0x12.1, +0x10.1, 0xff 09c5 a8 a9 aa ab ac 12 b2 b0 ff | | .BITPOS +0x08.2, +0x09.2, +0x0a.2, +0x0b.2, +0x0c.2, +0x12.7, +0x12.2, +0x10.2, 0xff 09ce 88 89 8a 8b 8c f1 92 90 ff | | .BITPOS +0x08.3, +0x09.3, +0x0a.3, +0x0b.3, +0x0c.3, +0x11.0, +0x12.3, +0x10.3, 0xff 09d7 68 69 6a 6b 6c 1f 72 70 ff |hijkl rp | .BITPOS +0x08.4, +0x09.4, +0x0a.4, +0x0b.4, +0x0c.4, NOP , +0x12.4, +0x10.4, 0xff 09e0 48 49 4a 4b 4c 1f 1f 50 ff |HIJKL P | .BITPOS +0x08.5, +0x09.5, +0x0a.5, +0x0b.5, +0x0c.5, NOP , NOP , +0x10.5, 0xff 09e9 28 29 2a 2b 2c 1f 1f 30 ff |()*+, 0 | .BITPOS +0x08.6, +0x09.6, +0x0a.6, +0x0b.6, +0x0c.6, NOP , NOP , +0x10.6, 0xff 09f2 08 09 0a 0b 0c 1f 1f 10 ff | | .BITPOS +0x08.7, +0x09.7, +0x0a.7, +0x0b.7, +0x0c.7, NOP , NOP , +0x10.7, 0xff 09fb e0 e1 e2 e3 e4 ed ee ef ff | | .BITPOS +0x00.0, +0x01.0, +0x02.0, +0x03.0, +0x04.0, +0x0d.0, +0x0e.0, +0x0f.0, 0xff 0a04 c0 c1 c2 c3 c4 cd ce cf ff | | .BITPOS +0x00.1, +0x01.1, +0x02.1, +0x03.1, +0x04.1, +0x0d.1, +0x0e.1, +0x0f.1, 0xff 0a0d a0 a1 a2 a3 a4 ad ae af ff | | .BITPOS +0x00.2, +0x01.2, +0x02.2, +0x03.2, +0x04.2, +0x0d.2, +0x0e.2, +0x0f.2, 0xff 0a16 80 81 82 83 84 8d 8e 8f ff | | .BITPOS +0x00.3, +0x01.3, +0x02.3, +0x03.3, +0x04.3, +0x0d.3, +0x0e.3, +0x0f.3, 0xff 0a1f 60 61 62 63 64 6d 6e 6f ff |`abcdmno | .BITPOS +0x00.4, +0x01.4, +0x02.4, +0x03.4, +0x04.4, +0x0d.4, +0x0e.4, +0x0f.4, 0xff 0a28 40 41 42 43 44 4d 4e 4f ff |@ABCDMNO | .BITPOS +0x00.5, +0x01.5, +0x02.5, +0x03.5, +0x04.5, +0x0d.5, +0x0e.5, +0x0f.5, 0xff 0a31 20 21 22 23 24 2d 2e 2f ff | !"#$-./ | .BITPOS +0x00.6, +0x01.6, +0x02.6, +0x03.6, +0x04.6, +0x0d.6, +0x0e.6, +0x0f.6, 0xff 0a3a 00 01 02 03 04 0d 0e 0f ff | | .BITPOS +0x00.7, +0x01.7, +0x02.7, +0x03.7, +0x04.7, +0x0d.7, +0x0e.7, +0x0f.7, 0xff 0a43 1f 1f 1f 1f 1f e5 e6 e7 07 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.0, +0x06.0, +0x07.0, 0x07 0a4c 1f 1f 1f 1f 1f c5 c6 c7 07 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.1, +0x06.1, +0x07.1, 0x07 0a55 1f 1f 1f 1f 1f a5 a6 a7 07 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.2, +0x06.2, +0x07.2, 0x07 0a5e 1f 1f 1f 1f 1f 85 86 87 07 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.3, +0x06.3, +0x07.3, 0x07 0a67 1f 1f 1f 1f 1f 65 66 67 07 | efg | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.4, +0x06.4, +0x07.4, 0x07 0a70 1f 1f 1f 1f 1f 45 46 47 07 | EFG | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.5, +0x06.5, +0x07.5, 0x07 0a79 1f 1f 1f 1f 1f 25 26 27 07 | %&' | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.6, +0x06.6, +0x07.6, 0x07 0a82 1f 1f 1f 1f 1f 05 06 07 07 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.7, +0x06.7, +0x07.7, 0x07 0a8b ff | | .CONST 0xff 0a8c BITSPEC_MEM32_DREG_VAL_PAR: 0a8c 1f 1f 1f 1f 1f 1f 1f e8 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.0, 0xff 0a95 1f 1f 1f 1f 1f 1f 1f c8 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.1, 0xff 0a9e 1f 1f 1f 1f 1f 1f 1f a8 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.2, 0xff 0aa7 1f 1f 1f 1f 1f 1f 1f 88 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.3, 0xff 0ab0 1f 1f 1f 1f 1f 1f 1f 68 ff | h | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.4, 0xff 0ab9 1f 1f 1f 1f 1f 1f 1f 48 ff | H | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.5, 0xff 0ac2 1f 1f 1f 1f 1f 1f 1f 28 ff | ( | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.6, 0xff 0acb 1f 1f 1f 1f 1f 1f 1f 08 ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , +0x08.7, 0xff 0ad4 e0 e1 e2 e3 e4 e5 e6 e7 ff | | .BITPOS +0x00.0, +0x01.0, +0x02.0, +0x03.0, +0x04.0, +0x05.0, +0x06.0, +0x07.0, 0xff 0add c0 c1 c2 c3 c4 c5 c6 c7 ff | | .BITPOS +0x00.1, +0x01.1, +0x02.1, +0x03.1, +0x04.1, +0x05.1, +0x06.1, +0x07.1, 0xff 0ae6 a0 a1 a2 a3 a4 a5 a6 a7 ff | | .BITPOS +0x00.2, +0x01.2, +0x02.2, +0x03.2, +0x04.2, +0x05.2, +0x06.2, +0x07.2, 0xff 0aef 80 81 82 83 84 85 86 87 ff | | .BITPOS +0x00.3, +0x01.3, +0x02.3, +0x03.3, +0x04.3, +0x05.3, +0x06.3, +0x07.3, 0xff 0af8 60 61 62 63 64 65 66 67 ff |`abcdefg | .BITPOS +0x00.4, +0x01.4, +0x02.4, +0x03.4, +0x04.4, +0x05.4, +0x06.4, +0x07.4, 0xff 0b01 40 41 42 43 44 45 46 47 ff |@ABCDEFG | .BITPOS +0x00.5, +0x01.5, +0x02.5, +0x03.5, +0x04.5, +0x05.5, +0x06.5, +0x07.5, 0xff 0b0a 20 21 22 23 24 25 26 27 ff | !"#$%&' | .BITPOS +0x00.6, +0x01.6, +0x02.6, +0x03.6, +0x04.6, +0x05.6, +0x06.6, +0x07.6, 0xff 0b13 00 01 02 03 04 05 06 07 ff | | .BITPOS +0x00.7, +0x01.7, +0x02.7, +0x03.7, +0x04.7, +0x05.7, +0x06.7, +0x07.7, 0xff 0b1c 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b25 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b2e 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b37 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b40 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b49 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b52 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b5b 1f 1f 1f 1f 1f 1f 1f 1f ff | | .BITPOS NOP , NOP , NOP , NOP , NOP , NOP , NOP , NOP , 0xff 0b64 ff | | .CONST 0xff 0b65 BITSPEC_0b65: 0b65 e0 e1 e2 e3 e4 1f 1f e8 f9 | | .BITPOS +0x00.0, +0x01.0, +0x02.0, +0x03.0, +0x04.0, NOP , NOP , +0x08.0, 0xf9 0b6e c0 c1 c2 c3 c4 1f 1f c8 f9 | | .BITPOS +0x00.1, +0x01.1, +0x02.1, +0x03.1, +0x04.1, NOP , NOP , +0x08.1, 0xf9 0b77 a0 a1 a2 a3 a4 1f 1f a8 f9 | | .BITPOS +0x00.2, +0x01.2, +0x02.2, +0x03.2, +0x04.2, NOP , NOP , +0x08.2, 0xf9 0b80 80 81 82 83 84 1f 1f 88 f9 | | .BITPOS +0x00.3, +0x01.3, +0x02.3, +0x03.3, +0x04.3, NOP , NOP , +0x08.3, 0xf9 0b89 60 61 62 63 64 1f 1f 68 f9 |`abcd h | .BITPOS +0x00.4, +0x01.4, +0x02.4, +0x03.4, +0x04.4, NOP , NOP , +0x08.4, 0xf9 0b92 40 41 42 43 44 1f 1f 48 f9 |@ABCD H | .BITPOS +0x00.5, +0x01.5, +0x02.5, +0x03.5, +0x04.5, NOP , NOP , +0x08.5, 0xf9 0b9b 20 21 22 23 24 1f 1f 28 f9 | !"#$ ( | .BITPOS +0x00.6, +0x01.6, +0x02.6, +0x03.6, +0x04.6, NOP , NOP , +0x08.6, 0xf9 0ba4 00 01 02 03 04 1f 1f 08 f9 | | .BITPOS +0x00.7, +0x01.7, +0x02.7, +0x03.7, +0x04.7, NOP , NOP , +0x08.7, 0xf9 0bad 1f 1f 1f 1f 1f e5 e6 e7 03 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.0, +0x06.0, +0x07.0, 0x03 0bb6 1f 1f 1f 1f 1f c5 c6 c7 03 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.1, +0x06.1, +0x07.1, 0x03 0bbf 1f 1f 1f 1f 1f a5 a6 a7 03 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.2, +0x06.2, +0x07.2, 0x03 0bc8 1f 1f 1f 1f 1f 85 86 87 03 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.3, +0x06.3, +0x07.3, 0x03 0bd1 1f 1f 1f 1f 1f 65 66 67 03 | efg | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.4, +0x06.4, +0x07.4, 0x03 0bda 1f 1f 1f 1f 1f 45 46 47 03 | EFG | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.5, +0x06.5, +0x07.5, 0x03 0be3 1f 1f 1f 1f 1f 25 26 27 03 | %&' | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.6, +0x06.6, +0x07.6, 0x03 0bec 1f 1f 1f 1f 1f 05 06 07 03 | | .BITPOS NOP , NOP , NOP , NOP , NOP , +0x05.7, +0x06.7, +0x07.7, 0x03 0bf5 ff | | .CONST 0xff 0bf6 BITSPEC_0bf6: 0bf6 fe fe fe fe fe fe fe fe ff | | .BITPOS +0x1e.0, +0x1e.0, +0x1e.0, +0x1e.0, +0x1e.0, +0x1e.0, +0x1e.0, +0x1e.0, 0xff 0bff ff | | .CONST 0xff 0c00 ff ff ff ff ff ff | | .XXX[0x6] 0c06 07 07 07 07 07 07 07 07 55 | U| .XXX[0x12] 0c0f f9 f9 f9 f9 f9 f9 f9 f9 03 | | 0c18 03 03 03 03 03 03 03 55 | U | .XXX[0x8] 0c20 86 14 | | MOV R4_,@R0 0c22 08 | | INC R0 0c23 86 15 | | MOV R5_,@R0 0c25 08 | | INC R0 0c26 e5 14 | | MOV A,R4_ 0c28 24 06 |$ | ADD A,#0x06 0c2a f9 | | MOV R1,A 0c2b e7 | | MOV A,@R1 0c2c a2 e3 | | MOV C,ACC.3 0c2e 92 f7 | | MOV B.7,C 0c30 09 | | INC R1 0c31 e7 | | MOV A,@R1 0c32 13 | | RRC A 0c33 92 f1 | | MOV B.1,C 0c35 13 | | RRC A 0c36 13 | | RRC A 0c37 92 f0 | | MOV B.0,C 0c39 13 | | RRC A 0c3a 92 f5 | | MOV B.5,C 0c3c 13 | | RRC A 0c3d 92 f4 | | MOV B.4,C 0c3f 13 | | RRC A 0c40 92 f3 | | MOV B.3,C 0c42 13 | | RRC A 0c43 92 f2 | | MOV B.2,C 0c45 13 | | RRC A 0c46 92 f6 | | MOV B.6,C 0c48 ae f0 | | MOV R6,B 0c4a e5 14 | | MOV A,R4_ 0c4c 24 06 |$ | ADD A,#0x06 0c4e f9 | | MOV R1,A 0c4f e7 | | MOV A,@R1 0c50 75 f0 00 |u | MOV B,#0x00 0c53 13 | | RRC A 0c54 92 f0 | | MOV B.0,C 0c56 13 | | RRC A 0c57 92 f1 | | MOV B.1,C 0c59 13 | | RRC A 0c5a 92 f2 | | MOV B.2,C 0c5c 09 | | INC R1 0c5d e7 | | MOV A,@R1 0c5e a2 e1 | | MOV C,ACC.1 0c60 92 f3 | | MOV B.3,C 0c62 a9 14 | | MOV R1,R4_ 0c64 e7 | | MOV A,@R1 0c65 54 02 |T | ANL A,#0x02 0c67 23 |# | RL A 0c68 23 |# | RL A 0c69 62 f0 |b | XRL B,A 0c6b 09 | | INC R1 0c6c 09 | | INC R1 0c6d e7 | | MOV A,@R1 0c6e 54 0f |T | ANL A,#0x0f 0c70 65 f0 |e | XRL A,B 0c72 a9 15 | | MOV R1,R5_ 0c74 f7 | | MOV @R1,A 0c75 e5 14 | | MOV A,R4_ 0c77 24 03 |$ | ADD A,#0x03 0c79 f9 | | MOV R1,A 0c7a e7 | | MOV A,@R1 0c7b a9 14 | | MOV R1,R4_ 0c7d 87 f0 | | MOV B,@R1 0c7f a2 f2 | | MOV C,B.2 0c81 92 e1 | | MOV ACC.1,C 0c83 a2 f0 | | MOV C,B.0 0c85 92 e0 | | MOV ACC.0,C 0c87 6e |n | XRL A,R6 0c88 a9 15 | | MOV R1,R5_ 0c8a 09 | | INC R1 0c8b f7 | | MOV @R1,A 0c8c 02 05 6e | n | LJMP EXECUTE ; Flow J 0x56e 0c8f ff ff ff ff ff ff ff | | .XXX[0x7] 0c96 ff ff ff ff ff ff ff ff ff | | .BLANK ff[0x369] 0fff ff | | .XXX[0x1] 1000 e6 | | MOV A,@R0 1001 08 | | INC R0 1002 20 e0 05 | | JB ACC.0,0x100a ; Flow J cc=(ACC.0==1) 0x100a ; Flow J cc=!(ACC.0==1) 0x1005 1005 86 15 | | MOV R5_,@R0 1007 08 | | INC R0 1008 01 14 | | AJMP 0x1014 ; Flow J 0x1014 100a 8a 15 | | MOV R5_,R2 100c 20 e2 05 | | JB ACC.2,0x1014 ; Flow J cc=(ACC.2==1) 0x1014 ; Flow J cc=!(ACC.2==1) 0x100f 100f 30 e1 02 |0 | JNB ACC.1,0x1014 ; Flow J cc=(ACC.1==0) 0x1014 ; Flow J cc=!(ACC.1==0) 0x1012 1012 8b 15 | | MOV R5_,R3 1014 c2 e0 | | CLR ACC.0 1016 a2 e1 | | MOV C,ACC.1 1018 92 ba | | MOV IP.PX1,C 101a c2 bb | | CLR IP.PT1 101c 7c ff || | MOV R4,#0xff 101e b4 30 00 | 0 | CJNE A,#0x30,0x1021 ; Flow J cc=NE 0x1021 ; Flow J cc=!NE 0x1021 1021 50 04 |P | JNC SUB_102a_08 ; Flow J cc=None 0x1027 ; Flow J cc=!None 0x1023 1023 90 10 2a | * | MOV DPTR,0x102a 1026 73 |s | JMP @A+DPTR ; Flow J cc=A=0x00 0x102a ; Flow J cc=A=0x02 0x102c ; Flow J cc=A=0x04 0x102e ; Flow J cc=A=0x06 0x1030 ; Flow J cc=A=0x08 0x1032 ; Flow J cc=A=0x0a 0x1034 ; Flow J cc=A=0x0c 0x1036 ; Flow J cc=A=0x0e 0x1038 ; Flow J cc=A=0x10 0x103a ; Flow J cc=A=0x12 0x103c ; Flow J cc=A=0x14 0x103e ; Flow J cc=A=0x16 0x1040 ; Flow J cc=A=0x18 0x1042 ; Flow J cc=A=0x1a 0x1044 ; Flow J cc=A=0x1c 0x1046 ; Flow J cc=A=0x1e 0x1048 ; Flow J cc=A=0x20 0x104a ; Flow J cc=A=0x22 0x104c ; Flow J cc=A=0x24 0x104e ; Flow J cc=A=0x26 0x1050 ; Flow J cc=A=0x28 0x1052 ; Flow J cc=A=0x2a 0x1054 ; Flow J cc=A=0x2c 0x1056 ; Flow J cc=A=0x2e 0x1058 1027 SUB_102a_08: 1027 02 01 90 | | LJMP BAD_INS ; Flow J 0x190 102a 01 5a | Z | AJMP SUB_102a_00 ; Flow J 0x105a 102c 01 87 | | AJMP SUB_102a_02 ; Flow J 0x1087 102e 01 c3 | | AJMP SUB_102a_04 ; Flow J 0x10c3 1030 01 c3 | | AJMP SUB_102a_04 ; Flow J 0x10c3 1032 01 27 | ' | AJMP SUB_102a_08 ; Flow J 0x1027 1034 01 27 | ' | AJMP SUB_102a_08 ; Flow J 0x1027 1036 01 27 | ' | AJMP SUB_102a_08 ; Flow J 0x1027 1038 01 27 | ' | AJMP SUB_102a_08 ; Flow J 0x1027 103a 01 61 | a | AJMP SUB_102a_10 ; Flow J 0x1061 103c 01 8e | | AJMP SUB_102a_12 ; Flow J 0x108e 103e 01 c8 | | AJMP SUB_102a_14 ; Flow J 0x10c8 1040 01 c8 | | AJMP SUB_102a_14 ; Flow J 0x10c8 1042 01 f2 | | AJMP SUB_102a_18 ; Flow J 0x10f2 1044 01 f2 | | AJMP SUB_102a_18 ; Flow J 0x10f2 1046 01 f2 | | AJMP SUB_102a_18 ; Flow J 0x10f2 1048 01 f2 | | AJMP SUB_102a_18 ; Flow J 0x10f2 104a 01 68 | h | AJMP SUB_102a_20 ; Flow J 0x1068 104c 01 95 | | AJMP SUB_102a_22 ; Flow J 0x1095 104e 01 cd | | AJMP SUB_102a_24 ; Flow J 0x10cd 1050 01 cd | | AJMP SUB_102a_24 ; Flow J 0x10cd 1052 01 f7 | | AJMP SUB_102a_28 ; Flow J 0x10f7 1054 01 f7 | | AJMP SUB_102a_28 ; Flow J 0x10f7 1056 01 f7 | | AJMP SUB_102a_28 ; Flow J 0x10f7 1058 01 f7 | | AJMP SUB_102a_28 ; Flow J 0x10f7 105a SUB_102a_00: 105a 90 08 00 | | MOV DPTR,BITSPEC_0800 105d 7c 00 || | MOV R4,#0x00 105f 01 6f | o | AJMP 0x106f ; Flow J 0x106f 1061 SUB_102a_10: 1061 90 08 da | | MOV DPTR,BITSPEC_MEM32_DREG_FULL 1064 7c 00 || | MOV R4,#0x00 1066 01 6f | o | AJMP 0x106f ; Flow J 0x106f 1068 SUB_102a_20: 1068 90 0a 8c | | MOV DPTR,BITSPEC_MEM32_DREG_VAL_PAR 106b 7c 00 || | MOV R4,#0x00 106d 01 6f | o | AJMP 0x106f ; Flow J 0x106f 106f 31 36 |16 | ACALL R6 = PICK_BITS() ; Flow C 0x1136 1071 ee | | MOV A,R6 1072 6c |l | XRL A,R4 1073 f5 a0 | | MOV P2,A 1075 e6 | | MOV A,@R0 1076 f2 | | MOVX @R0,A 1077 74 80 |t | MOV A,#0x80 1079 f2 | | MOVX @R0,A 107a a3 | | INC DPTR 107b e4 | | CLR A 107c 93 | | MOVC A,@A+DPTR 107d b4 ff ef | | CJNE A,#0xff,0x106f ; Flow J cc=NE 0x106f ; Flow J cc=!NE 0x1080 1080 75 a0 ff |u | MOV P2,#0xff 1083 08 | | INC R0 1084 02 05 6e | n | LJMP EXECUTE ; Flow J 0x56e 1087 SUB_102a_02: 1087 90 08 6d | m | MOV DPTR,BITSPEC_086d 108a 7f 09 | | MOV R7,#0x09 108c 01 9c | | AJMP 0x109c ; Flow J 0x109c 108e SUB_102a_12: 108e 90 09 b3 | | MOV DPTR,BITSPEC_09b3 1091 7f 13 | | MOV R7,#0x13 1093 01 9c | | AJMP 0x109c ; Flow J 0x109c 1095 SUB_102a_22: 1095 90 0b 65 | e | MOV DPTR,BITSPEC_0b65 1098 7f 09 | | MOV R7,#0x09 109a 01 9c | | AJMP 0x109c ; Flow J 0x109c 109c a9 15 | | MOV R1,R5_ 109e 77 00 |w | MOV @R1,#0x00 10a0 09 | | INC R1 10a1 df fb | | DJNZ R7,0x109e ; Flow C 0x109e 10a3 c2 94 | | CLR P1.4 10a5 e6 | | MOV A,@R0 10a6 f2 | | MOVX @R0,A 10a7 01 a9 | | AJMP 0x10a9 ; Flow J 0x10a9 10a9 e5 a0 | | MOV A,P2 10ab 6c |l | XRL A,R4 10ac fe | | MOV R6,A 10ad 74 80 |t | MOV A,#0x80 10af f2 | | MOVX @R0,A 10b0 31 7b |1{ | ACALL PERMUTE_BITS ; Flow C 0x117b 10b2 e6 | | MOV A,@R0 10b3 f2 | | MOVX @R0,A 10b4 a3 | | INC DPTR 10b5 e4 | | CLR A 10b6 93 | | MOVC A,@A+DPTR 10b7 b4 ff ef | | CJNE A,#0xff,0x10a9 ; Flow J cc=NE 0x10a9 ; Flow J cc=!NE 0x10ba 10ba 74 80 |t | MOV A,#0x80 10bc f2 | | MOVX @R0,A 10bd 08 | | INC R0 10be d2 94 | | SETB P1.4 10c0 02 05 6e | n | LJMP EXECUTE ; Flow J 0x56e 10c3 SUB_102a_04: 10c3 90 08 6d | m | MOV DPTR,BITSPEC_086d 10c6 01 d2 | | AJMP 0x10d2 ; Flow J 0x10d2 10c8 SUB_102a_14: 10c8 90 09 b3 | | MOV DPTR,BITSPEC_09b3 10cb 01 d2 | | AJMP 0x10d2 ; Flow J 0x10d2 10cd SUB_102a_24: 10cd 90 0b 65 | e | MOV DPTR,BITSPEC_0b65 10d0 01 d2 | | AJMP 0x10d2 ; Flow J 0x10d2 10d2 c2 94 | | CLR P1.4 10d4 e6 | | MOV A,@R0 10d5 f2 | | MOVX @R0,A 10d6 31 36 |16 | ACALL R6 = PICK_BITS() ; Flow C 0x1136 10d8 af a0 | | MOV R7,P2 10da 74 80 |t | MOV A,#0x80 10dc f2 | | MOVX @R0,A 10dd ef | | MOV A,R7 10de 6c |l | XRL A,R4 10df 6e |n | XRL A,R6 10e0 f9 | | MOV R1,A 10e1 e4 | | CLR A 10e2 93 | | MOVC A,@A+DPTR 10e3 a3 | | INC DPTR 10e4 59 |Y | ANL A,R1 10e5 60 02 |` | JZ 0x10e9 ; Flow J cc=None 0x10e9 ; Flow J cc=!None 0x10e7 10e7 d2 bb | | SETB IP.PT1 10e9 e6 | | MOV A,@R0 10ea f2 | | MOVX @R0,A 10eb e4 | | CLR A 10ec 93 | | MOVC A,@A+DPTR 10ed b4 ff e6 | | CJNE A,#0xff,0x10d6 ; Flow J cc=NE 0x10d6 ; Flow J cc=!NE 0x10f0 10f0 21 1f |! | AJMP 0x111f ; Flow J 0x111f 10f2 SUB_102a_18: 10f2 90 0b f6 | | MOV DPTR,BITSPEC_0bf6 10f5 01 fc | | AJMP 0x10fc ; Flow J 0x10fc 10f7 SUB_102a_28: 10f7 90 0c 0f | | MOV DPTR,0xc0f 10fa 01 fc | | AJMP 0x10fc ; Flow J 0x10fc 10fc 7e 00 |~ | MOV R6,#0x00 10fe 30 e2 02 |0 | JNB ACC.2,0x1103 ; Flow J cc=(ACC.2==0) 0x1103 ; Flow J cc=!(ACC.2==0) 0x1101 1101 7e ff |~ | MOV R6,#0xff 1103 e6 | | MOV A,@R0 1104 c2 94 | | CLR P1.4 1106 f2 | | MOVX @R0,A 1107 21 09 |! | AJMP 0x1109 ; Flow J 0x1109 1109 e5 a0 | | MOV A,P2 110b 6c |l | XRL A,R4 110c 6e |n | XRL A,R6 110d f9 | | MOV R1,A 110e e4 | | CLR A 110f 93 | | MOVC A,@A+DPTR 1110 a3 | | INC DPTR 1111 59 |Y | ANL A,R1 1112 60 02 |` | JZ 0x1116 ; Flow J cc=None 0x1116 ; Flow J cc=!None 0x1114 1114 d2 bb | | SETB IP.PT1 1116 e6 | | MOV A,@R0 1117 f2 | | MOVX @R0,A 1118 e4 | | CLR A 1119 93 | | MOVC A,@A+DPTR 111a b4 55 ec | U | CJNE A,#0x55,0x1109 ; Flow J cc=NE 0x1109 ; Flow J cc=!NE 0x111d 111d 21 1f |! | AJMP 0x111f ; Flow J 0x111f 111f 74 80 |t | MOV A,#0x80 1121 f2 | | MOVX @R0,A 1122 d2 94 | | SETB P1.4 1124 08 | | INC R0 1125 20 ba 02 | | JB IP.PX1,0x112a ; Flow J cc=(IP.PX1==1) 0x112a ; Flow J cc=!(IP.PX1==1) 0x1128 1128 b2 bb | | CPL IP.PT1 112a 20 bb 04 | | JB IP.PT1,0x1131 ; Flow J cc=(IP.PT1==1) 0x1131 ; Flow J cc=!(IP.PT1==1) 0x112d 112d 08 | | INC R0 112e 02 05 6e | n | LJMP EXECUTE ; Flow J 0x56e 1131 86 10 | | MOV exp_PC,@R0 1133 02 05 6e | n | LJMP EXECUTE ; Flow J 0x56e 1136 R6 = PICK_BITS(): 1136 7f 08 | | MOV R7,#0x08 1138 e4 | | CLR A 1139 93 | | MOVC A,@A+DPTR 113a a3 | | INC DPTR 113b f5 f0 | | MOV B,A 113d 54 1f |T | ANL A,#0x1f 113f 2d |- | ADD A,R5 1140 f9 | | MOV R1,A 1141 e7 | | MOV A,@R1 1142 20 f7 19 | | JB B.7,0x115e ; Flow J cc=(B.7==1) 0x115e ; Flow J cc=!(B.7==1) 0x1145 1145 20 f6 0b | | JB B.6,0x1153 ; Flow J cc=(B.6==1) 0x1153 ; Flow J cc=!(B.6==1) 0x1148 1148 20 f5 04 | | JB B.5,0x114f ; Flow J cc=(B.5==1) 0x114f ; Flow J cc=!(B.5==1) 0x114b 114b a2 e7 | | MOV C,ACC.7 114d 21 75 |!u | AJMP 0x1175 ; Flow J 0x1175 114f a2 e6 | | MOV C,ACC.6 1151 21 75 |!u | AJMP 0x1175 ; Flow J 0x1175 1153 20 f5 04 | | JB B.5,0x115a ; Flow J cc=(B.5==1) 0x115a ; Flow J cc=!(B.5==1) 0x1156 1156 a2 e5 | | MOV C,ACC.5 1158 21 75 |!u | AJMP 0x1175 ; Flow J 0x1175 115a a2 e4 | | MOV C,ACC.4 115c 21 75 |!u | AJMP 0x1175 ; Flow J 0x1175 115e 20 f6 0b | | JB B.6,0x116c ; Flow J cc=(B.6==1) 0x116c ; Flow J cc=!(B.6==1) 0x1161 1161 20 f5 04 | | JB B.5,0x1168 ; Flow J cc=(B.5==1) 0x1168 ; Flow J cc=!(B.5==1) 0x1164 1164 a2 e3 | | MOV C,ACC.3 1166 21 75 |!u | AJMP 0x1175 ; Flow J 0x1175 1168 a2 e2 | | MOV C,ACC.2 116a 21 75 |!u | AJMP 0x1175 ; Flow J 0x1175 116c 20 f5 04 | | JB B.5,0x1173 ; Flow J cc=(B.5==1) 0x1173 ; Flow J cc=!(B.5==1) 0x116f 116f a2 e1 | | MOV C,ACC.1 1171 21 75 |!u | AJMP 0x1175 ; Flow J 0x1175 1173 a2 e0 | | MOV C,ACC.0 1175 ee | | MOV A,R6 1176 33 |3 | RLC A 1177 fe | | MOV R6,A 1178 df be | | DJNZ R7,0x1138 ; Flow C 0x1138 117a 22 |" | RET ; Flow R 117b PERMUTE_BITS: 117b 7f 08 | | MOV R7,#0x08 117d e4 | | CLR A 117e 93 | | MOVC A,@A+DPTR 117f a3 | | INC DPTR 1180 b4 1f 05 | | CJNE A,#0x1f,0x1188 ; Flow J cc=NE 0x1188 ; Flow J cc=!NE 0x1183 1183 ee | | MOV A,R6 1184 33 |3 | RLC A 1185 fe | | MOV R6,A 1186 21 c6 |! | AJMP 0x11c6 ; Flow J 0x11c6 1188 f5 f0 | | MOV B,A 118a 54 1f |T | ANL A,#0x1f 118c 2d |- | ADD A,R5 118d f9 | | MOV R1,A 118e ee | | MOV A,R6 118f 33 |3 | RLC A 1190 fe | | MOV R6,A 1191 e7 | | MOV A,@R1 1192 20 f7 19 | | JB B.7,0x11ae ; Flow J cc=(B.7==1) 0x11ae ; Flow J cc=!(B.7==1) 0x1195 1195 20 f6 0b | | JB B.6,0x11a3 ; Flow J cc=(B.6==1) 0x11a3 ; Flow J cc=!(B.6==1) 0x1198 1198 20 f5 04 | | JB B.5,0x119f ; Flow J cc=(B.5==1) 0x119f ; Flow J cc=!(B.5==1) 0x119b 119b 92 e7 | | MOV ACC.7,C 119d 21 c5 |! | AJMP 0x11c5 ; Flow J 0x11c5 119f 92 e6 | | MOV ACC.6,C 11a1 21 c5 |! | AJMP 0x11c5 ; Flow J 0x11c5 11a3 20 f5 04 | | JB B.5,0x11aa ; Flow J cc=(B.5==1) 0x11aa ; Flow J cc=!(B.5==1) 0x11a6 11a6 92 e5 | | MOV ACC.5,C 11a8 21 c5 |! | AJMP 0x11c5 ; Flow J 0x11c5 11aa 92 e4 | | MOV ACC.4,C 11ac 21 c5 |! | AJMP 0x11c5 ; Flow J 0x11c5 11ae 20 f6 0b | | JB B.6,0x11bc ; Flow J cc=(B.6==1) 0x11bc ; Flow J cc=!(B.6==1) 0x11b1 11b1 20 f5 04 | | JB B.5,0x11b8 ; Flow J cc=(B.5==1) 0x11b8 ; Flow J cc=!(B.5==1) 0x11b4 11b4 92 e3 | | MOV ACC.3,C 11b6 21 c5 |! | AJMP 0x11c5 ; Flow J 0x11c5 11b8 92 e2 | | MOV ACC.2,C 11ba 21 c5 |! | AJMP 0x11c5 ; Flow J 0x11c5 11bc 20 f5 04 | | JB B.5,0x11c3 ; Flow J cc=(B.5==1) 0x11c3 ; Flow J cc=!(B.5==1) 0x11bf 11bf 92 e1 | | MOV ACC.1,C 11c1 21 c5 |! | AJMP 0x11c5 ; Flow J 0x11c5 11c3 92 e0 | | MOV ACC.0,C 11c5 f7 | | MOV @R1,A 11c6 df b5 | | DJNZ R7,0x117d ; Flow C 0x117d 11c8 22 |" | RET ; Flow R 11c9 ff | | .XXX[0x1] 11ca ff ff ff ff ff ff ff ff ff | | .BLANK ff[0xe34] 1ffe ff ff | | .XXX[0x2]