|
|
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 - metrics - 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]