产品展示

联系我们

手机:15388113018

Q Q:3159331960

联系人:方先生

邮箱:3159331960@qq.com



经典案例

STM32反汇编例程

发布时间: 2017-05-08 15:33   3399 次浏览

声明:我司做的反汇编程序有以下特点:


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
;=============================================================================================


 
请问,有什么可以帮到您的?
 
QQ  技术咨询
QQ  在线客服