声明:我司做的反汇编程序有以下特点:
1. ****成功,编译后和原来的******一样;
2. 程序和数据******分开,所有的程序******反成汇编,不会当做数据来处理;
3. 子程序之前用分段行分开;
4. 带寄存器名称,方便程序阅读;
5. 带PC地址和机器码,方便修改程序;
6. 中断和程序入口注释。
DC16 L00CE
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L016A
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0176
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0182
DC16 L0188
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
DC16 L0167
SECTION .text:CODE:ROOT(0)
CODE
__iar_program_start
;=====================================================================================================
L0080: DC16 L2D20
L0082: DC16 L2D77
L0084: DC16 L2DB7
L0086: DC16 L2DD8
L0088: DC16 L2E24
L008A: DC16 L2E4D
L008C: DC16 L1FDE
L008E: DC16 L20CF
L0090: DC16 L21E6
L0092: DC16 L2159
L0094: DC16 L1F8E
L0096: DC16 L1F28
L0098: DC16 L1F73
L009A: DC16 L2361
L009C: DC16 L2386
L009E: DC16 L2387
L00A0: DC16 L238C
L00A2: DC16 L2391
L00A4: DC16 L23B5
L00A6: DC16 L23BC
L00A8: DC16 L203B
L00AA: DC16 L23C3
L00AC: DC16 L23CE
L00AE: DC16 L2EA7
L00B0: DC16 L2D12
L00B2: DC16 L2D19
L00B4: DC8 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;........;
L00BC: DC8 0FFH,0FFH,0FFH,0FFH,077H,053H,0F8H,0C5H ;....wS..;
L00C4: DC8 000H,000H,000H,000H,000H,000H,000H,000H ;........;
L00CC: DC8 000H,000H ;..;
;=====================================================================================================
L00CE: SEL RB0 ;00CE 61 CF
MOV A,#0x00 ;00D0 51 00
MOV1 CY,A.0 ;00D2 71 8C
MOV1 PMC.0,CY ;00D4 71 09 FE
AND S:P1,#0xC0 ;00D7 5A 01 C0
MOVW 0xFFFF8,#0xFC00 ;00DA CB F8 00 FC
CALL F:L2780 ;00DE FC 80 27 00
CLR1 0xFFFFA.7 ;00E2 71 7B FA
CALL N:L00EF ;00E5 FD EF 00
CALL N:L011A ;00E8 FD 1A 01
BR F:L2AF9 ;00EB EC F9 2A 00
;=====================================================================================================
L00EF: MOVW AX,[SP+0x00] ;00EF A8 00
MOVW DE,AX ;00F1 14
MOVW HL,#0xF500 ;00F2 36 00 F5
L00F5: MOV WDTE,#0xAC ;00F5 CE AB AC
MOV [HL+0x00],#0x55 ;00F8 CC 00 55
MOV A,[HL+0x00] ;00FB 8C 00
CMP A,#0x55 ;00FD 4C 55
BNZ L0118 ;00FF DF 17
MOV [HL+0x00],#0xAA ;0101 CC 00 AA
MOV A,[HL+0x00] ;0104 8C 00
CMP A,#0xAA ;0106 4C AA
BNZ L0118 ;0108 DF 0E
MOV [HL+0x00],#0x00 ;010A CC 00 00
INCW HL ;010D A7
MOVW AX,HL ;010E 17
CMPW AX,#0xFEE0 ;010F 44 E0 FE
BNZ L00F5 ;0112 DF E1
MOVW AX,DE ;0114 15
MOVW [SP+0x00],AX ;0115 B8 00
RET ;0117 D7
;=====================================================================================================
L0118: BR S:L0118 ;0118 EF FE
;=====================================================================================================
L011A: ONEW BC ;011A E7
MOV ES,#0x00 ;011B 41 00
CLRW AX ;011D F6
MOVW HL,AX ;011E 16
MOVW MACRL,AX ;011F BE F0
MOVW MACRH,AX ;0121 BE F2
L0123: MOV WDTE,#0xAC ;0123 CE AB AC
PREFIX ;0126 11
MOV A,[HL+0x00] ;0127 8C 00
MOV X,A ;0129 70
CLRB A ;012A F1
MOV 0xFFFFB,#0x05 ;012B CE FB 05
INCW HL ;012E A7
MOVW AX,HL ;012F 17
CMPW AX,#0x3FFC ;0130 44 FC 3F
BNZ L0123 ;0133 DF EE
MOVW AX,MACRL ;0135 AE F0
PREFIX ;0137 11
CMPW AX,[HL+0x00] ;0138 61 49 00
BNZ L0147 ;013B DF 0A
INCW HL ;013D A7
INCW HL ;013E A7
MOVW AX,MACRH ;013F AE F2
PREFIX ;0141 11
CMPW AX,[HL+0x00] ;0142 61 49 00
BZ L0162 ;0145 DD 1B
L0147: MOVW HL,#0x3FF8 ;0147 36 F8 3F
MOV A,[HL+0x00] ;014A 8C 00
CMP A,#0x53 ;014C 4C 53
BNZ L0165 ;014E DF 15
MOV A,[HL+0x01] ;0150 8C 01
CMP A,#0x55 ;0152 4C 55
BNZ L0165 ;0154 DF 0F
MOV A,[HL+0x02] ;0156 8C 02
CMP A,#0x4D ;0158 4C 4D
BNZ L0165 ;015A DF 09
MOV A,[HL+0x03] ;015C 8C 03
CMP A,#0x30 ;015E 4C 30
BNZ L0165 ;0160 DF 03
L0162: MOV ES,#0x0F ;0162 41 0F
RET ;0164 D7
;=====================================================================================================
L0165: BR S:L0165 ;0165 EF FE
;=====================================================================================================
L0167 CALL N:L00CE ;0167 FD CE 00
L016A PUSH AX ;016A C1
MOVW AX,#0x1DA ;016B 30 DA 01
BR S:L018E ;016E EF 1E
;=====================================================================================================
L0170: RETI ;0170 61 FC
;=====================================================================================================
L0172: RETI ;0172 61 FC
;=====================================================================================================
L0174: RETI ;0174 61 FC
;=====================================================================================================
L0176 PUSH AX ;0176 C1
MOVW AX,#0x109C ;0177 30 9C 10
BR S:L018E ;017A EF 12
;=====================================================================================================
L017C: PUSH AX ;017C C1
MOVW AX,#0x1423 ;017D 30 23 14
BR S:L018E ;0180 EF 0C
;=====================================================================================================
L0182 PUSH AX ;0182 C1
MOVW AX,#0x250 ;0183 30 50 02
BR S:L018E ;0186 EF 06
;=====================================================================================================
L0188 PUSH AX ;0188 C1
MOVW AX,#0x28B ;0189 30 8B 02
BR S:L018E ;018C EF 00
;=====================================================================================================
L018E: PUSH AX ;018E C1
PUSH BC ;018F C3
PUSH DE ;0190 C5
PUSH HL ;0191 C7
MOVW AX,S:0xFFEDE ;0192 AD DE
PUSH AX ;0194 C1
MOVW AX,S:0xFFEDC ;0195 AD DC
PUSH AX ;0197 C1
MOVW AX,S:0xFFEDA ;0198 AD DA
PUSH AX ;019A C1
MOVW AX,S:0xFFED8 ;019B AD D8
PUSH AX ;019D C1
MOVW AX,S:0xFFED6 ;019E AD D6
PUSH AX ;01A0 C1
MOVW AX,S:0xFFED4 ;01A1 AD D4
PUSH AX ;01A3 C1
MOV A,0xFFFFD ;01A4 8E FD
MOV X,A ;01A6 70
MOV A,0xFFFFC ;01A7 8E FC
PUSH AX ;01A9 C1
MOVW AX,MACRL ;01AA AE F0
PUSH AX ;01AC C1
MOVW AX,MACRH ;01AD AE F2
PUSH AX ;01AF C1
MOVW AX,[SP+0x18] ;01B0 A8 18
CALL AX ;01B2 61 CA
POP AX ;01B4 C0
MOVW MACRH,AX ;01B5 BE F2
POP AX ;01B7 C0
MOVW MACRL,AX ;01B8 BE F0
POP AX ;01BA C0
MOV 0xFFFFC,A ;01BB 9E FC
MOV A,X ;01BD 60
MOV 0xFFFFD,A ;01BE 9E FD
POP AX ;01C0 C0
MOVW S:0xFFED4,AX ;01C1 BD D4
POP AX ;01C3 C0
MOVW S:0xFFED6,AX ;01C4 BD D6
POP AX ;01C6 C0
MOVW S:0xFFED8,AX ;01C7 BD D8
POP AX ;01C9 C0
MOVW S:0xFFEDA,AX ;01CA BD DA
POP AX ;01CC C0
MOVW S:0xFFEDC,AX ;01CD BD DC
POP AX ;01CF C0
MOVW S:0xFFEDE,AX ;01D0 BD DE
POP HL ;01D2 C6
POP DE ;01D3 C4
POP BC ;01D4 C2
ADDW SP,#0x02 ;01D5 10 02
POP AX ;01D7 C0
RETI ;01D8 61 FC
;=====================================================================================================
L01DA: CLRW AX ;01DA F6
MOVW N:0xF500,AX ;01DB BF 00 F5
ONEB A ;01DE E1
CALLT [L0086] ;01DF 61 B4
INCW N:0xF5D2 ;01E1 A2 D2 F5
RET ;01E4 D7
;=====================================================================================================
L01E5: MOVW AX,N:0xF5C8 ;01E5 AF C8 F5
AND A,#0x01 ;01E8 5C 01
CLRB X ;01EA F0
OR A,X ;01EB 61 68
BZ L0201 ;01ED DD 12
INCW N:0xF500 ;01EF A2 00 F5
MOVW AX,N:0xF500 ;01F2 AF 00 F5
CMPW AX,#0x05 ;01F5 44 05 00
BC L0201 ;01F8 DC 07
CLRW AX ;01FA F6
MOVW N:0xF500,AX ;01FB BF 00 F5
ONEB A ;01FE E1
CALLT [L0088] ;01FF 61 C4
L0201: RET ;0201 D7