产品展示

联系我们

手机:15388113018

Q Q:3159331960

联系人:方先生

邮箱:3159331960@qq.com



经典案例

PIC24_30_33单片机例程

发布时间: 2017-05-08 15:23   2565 次浏览

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


1. ****成功,编译后和原来的******一样;

2. 程序和数据******分开,所有的程序******反成汇编,不会当做数据来处理;

3. 子程序之前用分段行分开;

4. 带寄存器名称,方便程序阅读;

5. 带PC地址和机器码,方便修改程序;

6. 中断和程序入口注释。

;====================================================================================
__reset:    MOV         #0x2374,W15                                     ;0100 22374F
            MOV         #0x2790,W0                                      ;0102 227900
            MOV         W0,SPLIM                                        ;0104 880100
            NOP                                                         ;0106 000000
            RCALL       L0122                                           ;0108 07000C
            MOV         #0x682A,W0                                      ;010A 2682A0
            MOV         #0x1,W1                                         ;010C 200011
            RCALL       L0132                                           ;010E 070011
            MOV         #0x0,W0                                         ;0110 200000
            CP0         W0                                              ;0112 E00000
            BRA         Z,L011A                                         ;0114 320002
;=====================================================================================================
            CALL        0x0000                                          ;0116 020000 000000
L011A:      CALL        L16030                                          ;011A 026030 000001
            .PBYTE      0x00,0x40,0xDA                                  ;011E DA4000
            RESET                                                       ;0120 FE0000
L0122:      BCLR.B      CORCON,#2                                       ;0122 A94044
            MOV         #0x5876,W0                                      ;0124 258760
            CP0         W0                                              ;0126 E00000
            BRA         Z,L0130                                         ;0128 320003
;=====================================================================================================
            MOV         #0x0,W0                                         ;012A 200000
            MOV         W0,PSVPAG                                       ;012C 8801A0
            BSET.B      CORCON,#2                                       ;012E A84044
L0130:      RETURN                                                      ;0130 060000
;=====================================================================================================
L0132:      MOV         W1,TBLPAG                                       ;0132 880191
            MOV         W0,W1                                           ;0134 780080
            CLR         W0                                              ;0136 EB0000
            BRA         L0164                                           ;0138 370015
;=====================================================================================================
L013A:      ADD         W1,#0x2,W1                                      ;013A 4080E2
            ADDC        TBLPAG                                          ;013C B4A032
            TBLRDL      [W1],W3                                         ;013E BA0191
            ADD         W1,#0x2,W1                                      ;0140 4080E2
            ADDC        TBLPAG                                          ;0142 B4A032
            TBLRDL      [W1],W5                                         ;0144 BA0291
            ADD         W1,#0x2,W1                                      ;0146 4080E2
            ADDC        TBLPAG                                          ;0148 B4A032
            CLR         W4                                              ;014A EB0200
            LSR         W5,#7,W6                                        ;014C DE2B47
            AND         #0x7F,W5                                        ;014E B207F5
            CP.B        W5,#0x0                                         ;0150 E12C60
            BRA         NZ,L015C                                        ;0152 3A0004
;=====================================================================================================
L0154:      CLR.B       [W2++]                                          ;0154 EB5900
            DEC         W3,W3                                           ;0156 E90183
            BRA         GTU,L0154                                       ;0158 3EFFFD
;=====================================================================================================
            BRA         L0164                                           ;015A 370004
;=====================================================================================================
L015C:      CP          W5,#0x1                                         ;015C E12861
            BRA         Z,L0162                                         ;015E 320001
;=====================================================================================================
            SETM        W4                                              ;0160 EB8200
L0162:      RCALL       L016C                                           ;0162 070004
L0164:      TBLRDL      [W1],W2                                         ;0164 BA0111
            CP0         W2                                              ;0166 E00002
            BRA         NZ,L013A                                        ;0168 3AFFE8
;=====================================================================================================
            RETURN                                                      ;016A 060000
;=====================================================================================================
L016C:      TBLRDL.B    [W1++],[W2++]                                   ;016C BA5931
            DEC         W3,W3                                           ;016E E90183
            BRA         Z,L018A                                         ;0170 32000C
;=====================================================================================================
            TBLRDL.B    [W1--],[W2++]                                   ;0172 BA5921
            DEC         W3,W3                                           ;0174 E90183
            BRA         Z,L0188                                         ;0176 320008
;=====================================================================================================
            CP0         W4                                              ;0178 E00004
            BRA         NZ,L0182                                        ;017A 3A0003
;=====================================================================================================
L017C:      ADD         W1,#0x2,W1                                      ;017C 4080E2
            ADDC        TBLPAG                                          ;017E B4A032
            BRA         L016C                                           ;0180 37FFF5
;=====================================================================================================
L0182:      TBLRDH.B    [W1],[W2++]                                     ;0182 BAD911
            DEC         W3,W3                                           ;0184 E90183
            BRA         NZ,L017C                                        ;0186 3AFFFA
;=====================================================================================================
L0188:      INC         W1,W1                                           ;0188 E80081
L018A:      ADD         W1,#0x1,W1                                      ;018A 4080E1
            ADDC        TBLPAG                                          ;018C B4A032
            RETURN                                                      ;018E 060000
;=====================================================================================================
            GOTO        L84E4                                           ;0190 0484E4 000000
;=====================================================================================================
            GOTO        L8FA8                                           ;0194 048FA8 000000
;=====================================================================================================
            GOTO        L7ACE                                           ;0198 047ACE 000000
;=====================================================================================================
            GOTO        L8734                                           ;019C 048734 000000
;=====================================================================================================
            GOTO        L7094                                           ;01A0 047094 000000
;=====================================================================================================
            GOTO        L7B84                                           ;01A4 047B84 000000
;=====================================================================================================
            GOTO        L7B7A                                           ;01A8 047B7A 000000
;=====================================================================================================
            GOTO        L8F7E                                           ;01AC 048F7E 000000
;=====================================================================================================
            GOTO        L8622                                           ;01B0 048622 000000
;=====================================================================================================
            GOTO        L01EE                                           ;01B4 0401EE 000000
;=====================================================================================================
L01B8:      MOV         W0,W1                                           ;01B8 780080
            BRA         L01BE                                           ;01BA 370001
;=====================================================================================================
L01BC:      INC         W0,W0                                           ;01BC E80000
L01BE:      CP0.B       [W0]                                            ;01BE E00410
            BRA         NZ,L01BC                                        ;01C0 3AFFFD
;=====================================================================================================
            SUB         W0,W1,W0                                        ;01C2 500001
            RETURN                                                      ;01C4 060000
;=====================================================================================================
L01C6:      MOV.D       W8,[W15++]                                      ;01C6 BE9F88
            MOV         W1,W9                                           ;01C8 780481
            MOV.B       [W1],W8                                         ;01CA 784411
            CP0.B       W8                                              ;01CC E00408
            BRA         NZ,L01E2                                        ;01CE 3A0009
;=====================================================================================================
            BRA         L01EA                                           ;01D0 37000C
;=====================================================================================================
L01D2:      MOV         W0,W3                                           ;01D2 780180
            MOV         W9,W2                                           ;01D4 780109
L01D6:      MOV.B       [++W2],W1                                       ;01D6 7840D2
            CP0.B       W1                                              ;01D8 E00401
            BRA         Z,L01EA                                         ;01DA 320007
;=====================================================================================================
            SUBR.B      W1,[++W3],[W15]                                 ;01DC 10CFD3
            BRA         Z,L01D6                                         ;01DE 32FFFB
;=====================================================================================================
            INC         W0,W0                                           ;01E0 E80000
L01E2:      SE          W8,W1                                           ;01E2 FB0088
            RCALL       L021C                                           ;01E4 07001B
            CP0         W0                                              ;01E6 E00000
            BRA         NZ,L01D2                                        ;01E8 3AFFF4
;=====================================================================================================
L01EA:      MOV.D       [--W15],W8                                      ;01EA BE044F
            RETURN                                                      ;01EC 060000
;=====================================================================================================
L01EE:      MOV         W8,[W15++]                                      ;01EE 781F88
            MOV         W2,W8                                           ;01F0 780402
            RCALL       L0264                                           ;01F2 070038
            ADD         W0,W8,W0                                        ;01F4 400008
            MOV         [--W15],W8                                      ;01F6 78044F
            RETURN                                                      ;01F8 060000
;=====================================================================================================
L01FA:      LNK         #0x0                                            ;01FA FA0000
;=====================================================================================================

L0E3C:      .PBYTE      0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00
L0E42:      .PBYTE      0x0C,0x0C,0x00,0x0C,0x03,0x00,0x03,0x03,0x00
L0E48:      .PBYTE      0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00
L0E4E:      .PBYTE      0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00
L0E54:      .PBYTE      0x0C,0x03,0x00,0x03,0x03,0x00,0x0C,0x0C,0x00
L0E5A:      .PBYTE      0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00
L0E60:      .PBYTE      0x0C,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00
L0E66:      .PBYTE      0x9C,0xFF,0x00,0x9C,0xFF,0x00,0x9C,0xFF,0x00
L0E6C:      .PBYTE      0x00,0x00,0x00,0x01,0x00,0x00,0x02,0x00,0x00
L0E72:      .PBYTE      0x9C,0xFF,0x00,0x9C,0xFF,0x00,0x00,0x00,0x00
L0E78:      .PBYTE      0x01,0x00,0x00,0x02,0x00,0x00,0x03,0x00,0x00
L0E7E:      .PBYTE      0x9C,0xFF,0x00,0x00,0x00,0x00,0x01,0x00,0x00
L0E84:      .PBYTE      0x02,0x00,0x00,0x03,0x00,0x00,0x04,0x00,0x00
L0E8A:      .PBYTE      0x00,0x00,0x00,0x01,0x00,0x00,0x02,0x00,0x00


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