声明:我司做的反汇编程序有以下特点:
1. ****成功,编译后和原来的******一样;
2. 程序和数据******分开,所有的程序******反成汇编,不会当做数据来处理;
3. 子程序之前用分段行分开;
4. 带寄存器名称,方便程序阅读;
5. 带PC地址和机器码,方便修改程序;
6. 中断和程序入口注释。
;=============================================================================================
DCD 0x20000800 ;00000000 0800 2000
DCD main ;00000004 16DD 0800
DCD L0011BC ;00000008 11BD 0800
DCD L0011C0 ;0000000C 11C1 0800
DCD L0011C4 ;00000010 11C5 0800
DCD L0011C8 ;00000014 11C9 0800
DCD L0011CC ;00000018 11CD 0800
DCD 0x00000000 ;0000001C 0000 0000
DCD 0x00000000 ;00000020 0000 0000
DCD 0x00000000 ;00000024 0000 0000
DCD 0x00000000 ;00000028 0000 0000
DCD L0011D4 ;0000002C 11D5 0800
DCD L0011D0 ;00000030 11D1 0800
DCD 0x00000000 ;00000034 0000 0000
DCD L0011D8 ;00000038 11D9 0800
DCD L0011DC ;0000003C 11DD 0800
DCD L0011E0 ;00000040 11E1 0800
DCD L0011E4 ;00000044 11E5 0800
DCD L0011E8 ;00000048 11E9 0800
DCD L0011EC ;0000004C 11ED 0800
DCD L0011F0 ;00000050 11F1 0800
DCD L0011F4 ;00000054 11F5 0800
DCD L0011F8 ;00000058 11F9 0800
DCD L0011FC ;0000005C 11FD 0800
DCD L001200 ;00000060 1201 0800
DCD L001204 ;00000064 1205 0800
DCD L001208 ;00000068 1209 0800
DCD L00120C ;0000006C 120D 0800
DCD L001210 ;00000070 1211 0800
DCD L001214 ;00000074 1215 0800
DCD L001218 ;00000078 1219 0800
DCD L00121C ;0000007C 121D 0800
DCD L001220 ;00000080 1221 0800
DCD L001224 ;00000084 1225 0800
DCD L001228 ;00000088 1229 0800
DCD L00122C ;0000008C 122D 0800
DCD L001230 ;00000090 1231 0800
DCD L001234 ;00000094 1235 0800
DCD L001238 ;00000098 1239 0800
DCD L00123C ;0000009C 123D 0800
DCD L001240 ;000000A0 1241 0800
DCD L001244 ;000000A4 1245 0800
DCD L001248 ;000000A8 1249 0800
DCD L00124C ;000000AC 124D 0800
DCD L001250 ;000000B0 1251 0800
DCD L001254 ;000000B4 1255 0800
DCD L001258 ;000000B8 1259 0800
DCD L00125C ;000000BC 125D 0800
DCD L001260 ;000000C0 1261 0800
DCD L001264 ;000000C4 1265 0800
DCD L001268 ;000000C8 1269 0800
DCD L00126C ;000000CC 126D 0800
DCD L001270 ;000000D0 1271 0800
DCD L001274 ;000000D4 1275 0800
DCD L001278 ;000000D8 1279 0800
DCD L00127C ;000000DC 127D 0800
DCD L001280 ;000000E0 1281 0800
DCD L001284 ;000000E4 1285 0800
DCD L001288 ;000000E8 1289 0800
DCD L00128C ;000000EC 128D 0800
DCD L001290 ;000000F0 1291 0800
DCD L001294 ;000000F4 1295 0800
DCD L001298 ;000000F8 1299 0800
DCD L00129C ;000000FC 129D 0800
DCD L0012A0 ;00000100 12A1 0800
DCD L0012A4 ;00000104 12A5 0800
DCD L0012A8 ;00000108 12A9 0800
DCD L0012AC ;0000010C 12AD 0800
DCD L0012B0 ;00000110 12B1 0800
DCD L0012B4 ;00000114 12B5 0800
DCD L0012B8 ;00000118 12B9 0800
DCD L0012BC ;0000011C 12BD 0800
DCD L0012C0 ;00000120 12C1 0800
DCD L0012C4 ;00000124 12C5 0800
DCD L0012C8 ;00000128 12C9 0800
DCD L0012CC ;0000012C 12CD 0800
;=============================================================================================
L000130: PUSH.W {R4,R5,R6,R7,R8,R9,R10,R11,LR} ;00000130 E92D 4FF0
SUB SP,SP,#0x0C ;00000134 B083
MOVS R4,#0x00 ;00000136 2400
MOVS R5,#0x00 ;00000138 2500
MOV R6,R4 ;0000013A 4626
MOV.W R7,#0xE100 ;0000013C F44F 4761
STR R4,[SP] ;00000140 9400
MOVW R1,#0xFFF ;00000142 F640 71FF
B.N L00014E ;00000146 E002
;=============================================================================================
L000148: LDR R0,[SP] ;00000148 9800
ADDS R0,R0,#0x01 ;0000014A 1C40
STR R0,[SP] ;0000014C 9000
L00014E: LDR R0,[SP] ;0000014E 9800
CMP R0,R1 ;00000150 4288
BCC.N L000148 ;00000152 D3F9
BL L0010B8 ;00000154 F000 FFB0
MOVS R1,#0x01 ;00000158 2101
MOV.W R0,#0x18000000 ;0000015A F04F 50C0
BL L000B74 ;0000015E F000 FD09
BL L001650 ;00000162 F001 FA75
MOVS R0,#0x01 ;00000166 2001
BL L00166C ;00000168 F001 FA80
MOVS R1,#0x01 ;0000016C 2101
MOVS R0,#0x68 ;0000016E 2068
BL L000B58 ;00000170 F000 FCF2
MOVS R0,#0x00 ;00000174 2000
STRB.W R0,[SP,#0x02] ;00000176 F88D 0002
MOVS R0,#0x04 ;0000017A 2004
STRB.W R0,[SP,#0x03] ;0000017C F88D 0003
MOV.W R0,#0xC00 ;00000180 F44F 6040
STRH.W R0,[SP] ;00000184 F8AD 0000
LDR.W R8,L0003C4;=GPIOB_CRL ;00000188 F8DF 8238
ADD R1,SP,#0x00 ;0000018C A900
MOV R0,R8 ;0000018E 4640
BL L0012D0 ;00000190 F001 F89E
MOV.W R0,#0x8000 ;00000194 F44F 4000
STRH.W R0,[SP] ;00000198 F8AD 0000
LDR.W R10,L00030C;=GPIOE_CRL ;0000019C F8DF A16C
ADD R1,SP,#0x00 ;000001A0 A900
MOV R0,R10 ;000001A2 4650
BL L0012D0 ;000001A4 F001 F894
MOV.W R0,#0x300 ;000001A8 F44F 7040
STRH.W R0,[SP] ;000001AC F8AD 0000
LDR.W R11,L000310;=GPIOD_CRL ;000001B0 F8DF B15C
ADD R1,SP,#0x00 ;000001B4 A900
MOV R0,R11 ;000001B6 4658
BL L0012D0 ;000001B8 F001 F88A
MOVS R0,#0x04 ;000001BC 2004
BL L001728 ;000001BE F001 FAB3
MOV R9,R0 ;000001C2 4681
MOV R0,R4 ;000001C4 4620
STRB.W R0,[SP,#0x04] ;000001C6 F88D 0004
MOV.W R1,#0x800 ;000001CA F44F 6100
MOV R0,R8 ;000001CE 4640
BL L00138C ;000001D0 F001 F8DC
LSLS R0,R0,#0x02 ;000001D4 0080
STRB.W R0,[SP,#0x04] ;000001D6 F88D 0004
LDRB.W R0,[SP,#0x04] ;000001DA F89D 0004
PUSH {R0,LR} ;000001DE B501
MOV.W R1,#0x400 ;000001E0 F44F 6180
MOV R0,R8 ;000001E4 4640
BL L00138C ;000001E6 F001 F8D1
LDR.W R1,[SP],#0x08 ;000001EA F85D 1B08
ORR.W R0,R1,R0,LSL #0x01 ;000001EE EA41 0040
STRB.W R0,[SP,#0x04] ;000001F2 F88D 0004
LDRB.W R8,[SP,#0x04] ;000001F6 F89D 8004
MOV.W R1,#0x8000 ;000001FA F44F 4100
MOV R0,R10 ;000001FE 4650
BL L00138C ;00000200 F001 F8C4
ORR.W R0,R0,R8 ;00000204 EA40 0008
STRB.W R0,[SP,#0x04] ;00000208 F88D 0004
LDRB.W R0,[SP,#0x04] ;0000020C F89D 0004
LDR.W R8,L000314;=0x000FFFFF ;00000210 F8DF 8100
LDR.W R10,L000318;=0x08002000 ;00000214 F8DF A100
LDR.W R1,[R10] ;00000218 F8DA 1000
MOV.W R2,#4294967295 ;0000021C F04F 32FF
CMP R1,R2 ;00000220 4291
BNE.N L000228 ;00000222 D101
MOVS R6,#0x01 ;00000224 2601
B.N L00026C ;00000226 E021
;=============================================================================================
L000228: MOV R1,R9 ;00000228 4649
CMP R1,#0x01 ;0000022A 2901
BEQ.N L000236 ;0000022C D003
CMP R1,#0x02 ;0000022E 2902
BEQ.N L000236 ;00000230 D001
CMP R1,#0x03 ;00000232 2903
BNE.N L000244 ;00000234 D106
L000236: MOVS R5,#0x01 ;00000236 2501
LDR.N R0,L00031C;=0x20000D40 ;00000238 4838
ADD.W R0,R0,R9,LSL #0x02 ;0000023A EB00 0089
LDR.W R7,[R0,#-0x04] ;0000023E F850 7C04
B.N L00026C ;00000242 E013
;=============================================================================================
L000244: LSLS R1,R0,#0x00 ;00000244 0001
BEQ.N L00024C ;00000246 D001
CMP R0,#0x07 ;00000248 2807
BNE.N L00026C ;0000024A D10F
L00024C: STR R4,[SP] ;0000024C 9400
B.N L000256 ;0000024E E002
;=============================================================================================
L000250: LDR R0,[SP] ;00000250 9800
ADDS R0,R0,#0x01 ;00000252 1C40
STR R0,[SP] ;00000254 9000
L000256: LDR R0,[SP] ;00000256 9800
CMP R0,R8 ;00000258 4540
BCC.N L000250 ;0000025A D3F9
MOV R0,R11 ;0000025C 4658
BL L00139C ;0000025E F001 F89D
AND.W R0,R0,#0x100 ;00000262 F400 7080
LSRS R0,R0,#0x08 ;00000266 0A00
IT EQ ;00000268 BF08
MOVEQ R4,#0x01 ;0000026A 2401
L00026C: ORRS.W R0,R5,R6 ;0000026C EA55 0006
BNE.N L000276 ;00000270 D101
LSLS R0,R4,#0x00 ;00000272 0020
BEQ.N L0002E2 ;00000274 D035
L000276: MOVS R1,#0x00 ;00000276 2100
MOVS R0,#0x04 ;00000278 2004
BL L001720 ;0000027A F001 FA51
LSLS R0,R7,#0x00 ;0000027E 0038
BL L000330 ;00000280 F000 F856
MOVS R0,#0x00 ;00000284 2000
B.N L00028C ;00000286 E001
;=============================================================================================
L000288: LDR R0,[SP] ;00000288 9800
ADDS R0,R0,#0x01 ;0000028A 1C40
L00028C: STR R0,[SP] ;0000028C 9000
LDR R0,[SP] ;0000028E 9800
CMP R0,R8 ;00000290 4540
BCC.N L000288 ;00000292 D3F9
LDR.N R5,L000320;=0x08000BB4 ;00000294 4D22
LSLS R0,R5,#0x00 ;00000296 0028
BL L000624 ;00000298 F000 F9C4
ADD.W R0,R5,#0x4C ;0000029C F105 004C
BL L000624 ;000002A0 F000 F9C0
ADD.W R6,R5,#0x98 ;000002A4 F105 0698
LSLS R0,R6,#0x00 ;000002A8 0030
BL L000624 ;000002AA F000 F9BB
ADD.W R0,R5,#0xE4 ;000002AE F105 00E4
BL L000624 ;000002B2 F000 F9B7
ADD.W R0,R5,#0x130 ;000002B6 F505 7098
BL L000624 ;000002BA F000 F9B3
LSLS R0,R6,#0x00 ;000002BE 0030
BL L000624 ;000002C0 F000 F9B0
ADD.W R0,R5,#0x17C ;000002C4 F505 70BE
BL L000624 ;000002C8 F000 F9AC
LSLS R0,R5,#0x00 ;000002CC 0028
BL L000624 ;000002CE F000 F9A9
ADD.W R0,R5,#0x1C8 ;000002D2 F505 70E4
BL L000624 ;000002D6 F000 F9A5
LSLS R0,R4,#0x00 ;000002DA 0020
BL L000650 ;000002DC F000 F9B8
B.N L000308 ;000002E0 E012
;=============================================================================================
L0002E2: LDR.W R0,[R10] ;000002E2 F8DA 0000
LDR.N R1,L000324;=0x2FFE0000 ;000002E6 490F
ANDS R0,R1 ;000002E8 4008
CMP.W R0,#0x20000000 ;000002EA F1B0 5F00
BNE.N L000308 ;000002EE D10B
MOV R0,R10 ;000002F0 4650
LDR R0,[R0,#0x04] ;000002F2 6840
LDR.N R1,L000328;=0x20000C08 ;000002F4 490C
STR R0,[R1] ;000002F6 6008
LDR.N R4,L00032C;=0x20000C04 ;000002F8 4C0C
STR R0,[R4] ;000002FA 6020
LDR.W R0,[R10] ;000002FC F8DA 0000
BL L001530 ;00000300 F001 F916
LDR R0,[R4] ;00000304 6820
BLX R0 ;00000306 4780
L000308: B.N L000308 ;00000308 E7FE
;=============================================================================================
data
L00030A: DCB 0x00,0xBF ;..;
L00030C: DCD GPIOE_CRL
L000310: DCD GPIOD_CRL
L000314: DCD 0x000FFFFF
L000318: DCD 0x08002000
L00031C: DCD 0x20000D40
L000320: DCD 0x08000BB4
L000324: DCD 0x2FFE0000
L000328: DCD 0x20000C08
L00032C: DCD 0x20000C04
;=============================================================================================