打印
[国产单片机]

贴一段以前反的一个ISP Loader,是51 core的

[复制链接]
2800|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
McuPlayer|  楼主 | 2009-10-8 01:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG 00000H
        LJMP    L000E                           ;0000 : 02 00 0E

        ORG 0000BH
        LJMP    L0321                           ;000B : 02 03 21
L000E:
        MOV     BAK_WDTCR,WDTCR                 ;000E : 85 E1 2D
        MOV     WDTCR,#17H                      ;0011 : 75 E1 17
MainLoop:
        LCALL   FlashDisable                    ;0014 : 12 02 F2
        MOV     SP,#2DH                         ;0017 : 75 81 2D
        LCALL   SetDevPara                      ;001A : 12 01 A6
L001D:
        MOV     WDTCR,#17H                      ;001D : 75 E1 17
        JNB     TXD,L001D                       ;0020 : 30 B1 FA
        MOV     R5,#0AH                         ;0023 : 7D 0A
        DJNZ    R5,$                            ;0025 : DD FE
        CLR     TXD                             ;0027 : C2 B1
        MOV     R5,#0AH                         ;0029 : 7D 0A
        DJNZ    R5,$                            ;002B : DD FE
        SETB    TXD                             ;002D : D2 B1
        MOV     R5,#03H                         ;002F : 7D 03
        DJNZ    R5,$                            ;0031 : DD FE
        JNB     TXD,L0039                       ;0033 : 30 B1 03
        LJMP    RstToApp                        ;0036 : 02 03 13
L0039:
        MOV     IE,#82H                         ;0039 : 75 A8 82
        MOV     TMOD,#11H                       ;003C : 75 89 11
        MOV     TH0,#00H                        ;003F : 75 8C 00
        MOV     TL0,#00H                        ;0042 : 75 8A 00
        SETB    TR0                             ;0045 : D2 8C
        LCALL   L01DC                           ;0047 : 12 01 DC
        LCALL   ReadDatToR7                     ;004A : 12 03 23
        CJNE    R7,#5AH,L0060                   ;004D : BF 5A 10
        LCALL   ReadDatToR7                     ;0050 : 12 03 23
        CJNE    R7,#0A5H,L0058                  ;0053 : BF A5 02
        SJMP    WriteEntry                      ;0056 : 80 0B
L0058:
        CJNE    R7,#0AAH,L0060                  ;0058 : BF AA 05
        CLR     TR0                             ;005B : C2 8C
        LJMP    ReadEntry                       ;005D : 02 01 60
L0060:
        LJMP    RstToApp                        ;0060 : 02 03 13
WriteEntry:
        CLR     TR0                             ;0063 : C2 8C
        LCALL   ReadDatToR7                     ;0065 : 12 03 23
        MOV     EndAddrH,R7                     ;0068 : 8F 23
        LCALL   ReadDatToR7                     ;006A : 12 03 23
        MOV     EndAddrL,R7                     ;006D : 8F 24
        LCALL   ReadDatToR7                     ;006F : 12 03 23
        MOV     CheckSumH,R7                    ;0072 : 8F 25
        LCALL   ReadDatToR7                     ;0074 : 12 03 23
        MOV     CheckSumL,R7                    ;0077 : 8F 26
        LCALL   ReadDatToR7                     ;0079 : 12 03 23
        MOV     OR1Val,R7                       ;007C : 8F 22
        LCALL   FlashSW                         ;007E : 12 02 E3
        MOV     IFMT,#02H                       ;0081 : 75 E5 02
        MOV     DPTR,#0000H                     ;0084 : 90 00 00
WriteLoop:
        MOV     WDTCR,#17H                      ;0087 : 75 E1 17
        MOV     A,DPL                           ;008A : E5 82
        JNZ     WriteLoop_Wtr                   ;008C : 70 16
        MOV     A,DPH                           ;008E : E5 83
        MOV     B,#02H                          ;0090 : 75 F0 02
        DIV     AB                              ;0093 : 84
        MOV     A,B                             ;0094 : E5 F0
        JNZ     WriteLoop_Wtr                   ;0096 : 70 0C
        MOV     IFMT,#03H                       ;0098 : 75 E5 03
        MOV     IFADRH,DPH                      ;009B : 85 83 E3
        LCALL   EnFlash_A5                      ;009E : 12 02 FF
        MOV     IFMT,#02H                       ;00A1 : 75 E5 02
WriteLoop_Wtr:
        LCALL   ReadDatToR7                     ;00A4 : 12 03 23
        MOV     IFD,R7                          ;00A7 : 8F E2
        MOV     IFADRH,DPH                      ;00A9 : 85 83 E3
        MOV     IFADRL,DPL                      ;00AC : 85 82 E4
        LCALL   EnFlash_A5                      ;00AF : 12 02 FF
        MOV     A,DPH                           ;00B2 : E5 83
        CJNE    A,EndAddrH,WriteLoop_Inc        ;00B4 : B5 23 07
        MOV     A,DPL                           ;00B7 : E5 82
        CJNE    A,EndAddrL,WriteLoop_Inc        ;00B9 : B5 24 02
        SJMP    Wt_CalCkSm                      ;00BC : 80 03
WriteLoop_Inc:
        INC     DPTR                            ;00BE : A3
        SJMP    WriteLoop                       ;00BF : 80 C6
Wt_CalCkSm:
        MOV     PageCnt,#00H                    ;00C1 : 75 2C 00
        PUSH    ISPCR                           ;00C4 : C0 E7
        MOV     ISPCR,#83H                      ;00C6 : 75 E7 83
        MOV     CurCkSumH,#00H                  ;00C9 : 75 27 00
        MOV     CurCkSumL,#00H                  ;00CC : 75 28 00
        MOV     IFMT,#01H                       ;00CF : 75 E5 01
        MOV     DPTR,#0000H                     ;00D2 : 90 00 00
Wt_CalCkSm_Loop:
        MOV     WDTCR,#17H                      ;00D5 : 75 E1 17
        MOV     IFADRH,DPH                      ;00D8 : 85 83 E3
        MOV     IFADRL,DPL                      ;00DB : 85 82 E4
        LCALL   EnFlash_A5                      ;00DE : 12 02 FF
        MOV     A,CurCkSumL                     ;00E1 : E5 28
        ADD     A,IFD                           ;00E3 : 25 E2
        MOV     CurCkSumL,A                     ;00E5 : F5 28
        MOV     A,CurCkSumH                     ;00E7 : E5 27
        ADDC    A,#00H                          ;00E9 : 34 00
        MOV     CurCkSumH,A                     ;00EB : F5 27
        MOV     A,DPH                           ;00ED : E5 83
        CJNE    A,EndAddrH,L00FB                ;00EF : B5 23 09
        MOV     A,DPL                           ;00F2 : E5 82
        CJNE    A,EndAddrL,L00FB                ;00F4 : B5 24 04
        POP     ISPCR                           ;00F7 : D0 E7
        SJMP    Wt_CalCkSm_End                  ;00F9 : 80 16
L00FB:
        MOV     A,DPL                           ;00FB : E5 82
        JNZ     L010E                           ;00FD : 70 0F
        MOV     A,PageCnt                       ;00FF : E5 2C
        CJNE    A,#04H,L010C                    ;0101 : B4 04 08
        MOV     PageCnt,#00H                    ;0104 : 75 2C 00
        MOV     R7,#55H                         ;0107 : 7F 55
        LCALL   SendR7ToHost                    ;0109 : 12 03 9E
L010C:
        INC     PageCnt                         ;010C : 05 2C
L010E:
        INC     DPTR                            ;010E : A3
        SJMP    Wt_CalCkSm_Loop                 ;010F : 80 C4
Wt_CalCkSm_End:
        MOV     R7,#0AAH                        ;0111 : 7F AA
        LCALL   SendR7ToHost                    ;0113 : 12 03 9E
        JB      Flag_DIDH_F0,Wt_OR1             ;0116 : 20 04 05
        JB      Flag_DIDH_F1,Wt_OR1             ;0119 : 20 05 02
        SJMP    L0144                           ;011C : 80 26
Wt_OR1:
        ORL     OR1Val,#6CH                     ;011E : 43 22 6C
        ANL     OR1Val,#0FDH                    ;0121 : 53 22 FD
        MOV     IFADRH,#00H                     ;0124 : 75 E3 00
        MOV     IFADRL,#01H                     ;0127 : 75 E4 01
        MOV     IFMT,#07H                       ;012A : 75 E5 07
        LCALL   EnFlash_A5                      ;012D : 12 02 FF
        MOV     IFMT,#06H                       ;0130 : 75 E5 06
        MOV     IFD,OR1Val                      ;0133 : 85 22 E2
        LCALL   EnFlash_A5                      ;0136 : 12 02 FF
        MOV     IFMT,#05H                       ;0139 : 75 E5 05
        LCALL   EnFlash_A5                      ;013C : 12 02 FF
        MOV     A,IFD                           ;013F : E5 E2
        CJNE    A,OR1Val,Wt_Faild               ;0141 : B5 22 0E
L0144:
        MOV     A,CheckSumH                     ;0144 : E5 25
        CJNE    A,CurCkSumH,Wt_Faild            ;0146 : B5 27 09
        MOV     A,CheckSumL                     ;0149 : E5 26
        CJNE    A,CurCkSumL,Wt_Faild            ;014B : B5 28 04
        MOV     R7,#00H                         ;014E : 7F 00
        SJMP    L0154                           ;0150 : 80 02
Wt_Faild:
        MOV     R7,#0FFH                        ;0152 : 7F FF
L0154:
        LCALL   SendR7ToHost                    ;0154 : 12 03 9E
ProcessEnd:
        LCALL   FlashDisable                    ;0157 : 12 02 F2
        MOV     FlashA5,#00H                    ;015A : 75 2B 00
        LJMP    MainLoop                        ;015D : 02 00 14
ReadEntry:
        JNB     Flag_DIDH_Other,L0168           ;0160 : 30 03 05
        MOV     IFADRH,#0FBH                    ;0163 : 75 E3 FB
        SJMP    L018B                           ;0166 : 80 23
L0168:
        JNB     Flag_DIDH_F0,L0170              ;0168 : 30 04 05
        MOV     IFADRH,#37H                     ;016B : 75 E3 37
        SJMP    L018B                           ;016E : 80 1B
L0170:
        JNB     Flag_DIDH_F1,L0178              ;0170 : 30 05 05
        MOV     IFADRH,#0F7H                    ;0173 : 75 E3 F7
        SJMP    L018B                           ;0176 : 80 13
L0178:
        JNB     Flag_DIDH_F3,L0180              ;0178 : 30 07 05
        MOV     IFADRH,#37H                     ;017B : 75 E3 37
        SJMP    L018B                           ;017E : 80 0B
L0180:
        JNB     Flag_DIDH_F4,L0188              ;0180 : 30 08 05
        MOV     IFADRH,#0FBH                    ;0183 : 75 E3 FB
        SJMP    L018B                           ;0186 : 80 03
L0188:
        MOV     IFADRH,#1BH                     ;0188 : 75 E3 1B
L018B:
        LCALL   FlashSW                         ;018B : 12 02 E3
        MOV     IFMT,#01H                       ;018E : 75 E5 01
        MOV     R0,#00H                         ;0191 : 78 00
L0193:
        MOV     WDTCR,#17H                      ;0193 : 75 E1 17
        MOV     IFADRL,R0                       ;0196 : 88 E4
        LCALL   EnFlash_A5                      ;0198 : 12 02 FF
        MOV     R7,IFD                          ;019B : AF E2
        LCALL   SendR7ToHost                    ;019D : 12 03 9E
        INC     R0                              ;01A0 : 08
        CJNE    R0,#00H,L0193                   ;01A1 : B8 00 EF
        SJMP    ProcessEnd                      ;01A4 : 80 B1
SetDevPara:
        CLR     Flag_DIDH_Other                 ;01A6 : C2 03
        CLR     Flag_DIDH_F0                    ;01A8 : C2 04
        CLR     Flag_DIDH_F1                    ;01AA : C2 05
        CLR     Flag_DIDH_F2                    ;01AC : C2 06
        CLR     Flag_DIDH_F3                    ;01AE : C2 07
        CLR     Flag_DIDH_F4                    ;01B0 : C2 08
        MOV     IFADRL,#01H                     ;01B2 : 75 E4 01
        MOV     A,SCMD                          ;01B5 : E5 E6
        CJNE    A,#0F0H,L01BD                   ;01B7 : B4 F0 03
        SETB    Flag_DIDH_F0                    ;01BA : D2 04
        RET                                     ;01BC : 22
L01BD:
        CJNE    A,#0F1H,L01C3                   ;01BD : B4 F1 03
        SETB    Flag_DIDH_F1                    ;01C0 : D2 05
        RET                                     ;01C2 : 22
L01C3:
        CJNE    A,#0F2H,L01C9                   ;01C3 : B4 F2 03
        SETB    Flag_DIDH_F2                    ;01C6 : D2 06
        RET                                     ;01C8 : 22
L01C9:
        CJNE    A,#0F3H,L01D1                   ;01C9 : B4 F3 05
        SETB    Flag_DIDH_F3                    ;01CC : D2 07
        SETB    Flag_DIDH_F2                    ;01CE : D2 06
        RET                                     ;01D0 : 22
L01D1:
        CJNE    A,#0F4H,L01D9                   ;01D1 : B4 F4 05
        SETB    Flag_DIDH_F4                    ;01D4 : D2 08
        SETB    Flag_DIDH_F2                    ;01D6 : D2 06
        RET                                     ;01D8 : 22
L01D9:
        SETB    Flag_DIDH_Other                 ;01D9 : D2 03
        RET                                     ;01DB : 22
L01DC:
        MOV     TMOD,#11H                       ;01DC : 75 89 11
        MOV     TH1,#00H                        ;01DF : 75 8D 00
        MOV     TL1,#00H                        ;01E2 : 75 8B 00
        JNB     TXD,$                           ;01E5 : 30 B1 FD
        CLR     TXD                             ;01E8 : C2 B1
        MOV     R5,#0DH                         ;01EA : 7D 0D
        DJNZ    R5,$                            ;01EC : DD FE
        SETB    TXD                             ;01EE : D2 B1
        JB      TXD,$                           ;01F0 : 20 B1 FD
        SETB    TR1                             ;01F3 : D2 8E
        JNB     TXD,$                           ;01F5 : 30 B1 FD
        CLR     TR1                             ;01F8 : C2 8E
        CLR     TXD                             ;01FA : C2 B1
        MOV     R5,#0DH                         ;01FC : 7D 0D
        DJNZ    R5,$                            ;01FE : DD FE
        SETB    TXD                             ;0200 : D2 B1
        CLR     C                               ;0202 : C3
        MOV     A,TL1                           ;0203 : E5 8B
        ADD     A,#10H                          ;0205 : 24 10
        MOV     A,TH1                           ;0207 : E5 8D
        ADDC    A,#00H                          ;0209 : 34 00
        MOV     Var9,A                          ;020B : F5 29
        MOV     R7,Var9                         ;020D : AF 29
        JNB     Flag_DIDH_F2,L0228              ;020F : 30 06 16
        MOV     A,Var9                          ;0212 : E5 29
        CJNE    A,#10H,L0217                    ;0214 : B4 10 00
L0217:
        JNC     L0222                           ;0217 : 50 09
        CJNE    A,#06H,L021C                    ;0219 : B4 06 00
L021C:
        JNC     L0226                           ;021C : 50 08
        MOV     R7,#02H                         ;021E : 7F 02
        SJMP    L0228                           ;0220 : 80 06
L0222:
        MOV     R7,#10H                         ;0222 : 7F 10
        SJMP    L0228                           ;0224 : 80 02
L0226:
        MOV     R7,#06H                         ;0226 : 7F 06
L0228:
        LCALL   SendR7ToHost                    ;0228 : 12 03 9E
        CLR     Flag01                          ;022B : C2 01
        CLR     Flag00                          ;022D : C2 00
        MOV     A,Var9                          ;022F : E5 29
        CJNE    A,#50H,L0234                    ;0231 : B4 50 00
L0234:
        JNC     L023D                           ;0234 : 50 07
        CJNE    A,#30H,L0239                    ;0236 : B4 30 00
L0239:
        JNC     L0241                           ;0239 : 50 06
        SJMP    L0243                           ;023B : 80 06
L023D:
        SETB    Flag01                          ;023D : D2 01
        SJMP    L0243                           ;023F : 80 02
L0241:
        SETB    Flag00                          ;0241 : D2 00
L0243:
        MOV     Var10,Var9                      ;0243 : 85 29 2A
        LCALL   L02BD                           ;0246 : 12 02 BD
        JNB     Flag02,L0254                    ;0249 : 30 02 08
        MOV     A,Var9                          ;024C : E5 29
        MOV     B,#02H                          ;024E : 75 F0 02
        DIV     AB                              ;0251 : 84
        MOV     Var10,A                         ;0252 : F5 2A
L0254:
        JB      Flag_DIDH_F2,L0278              ;0254 : 20 06 21
        MOV     A,Var10                         ;0257 : E5 2A
        CJNE    A,#18H,L025C                    ;0259 : B4 18 00
L025C:
        JNC     L0274                           ;025C : 50 16
        CJNE    A,#0EH,L0261                    ;025E : B4 0E 00
L0261:
        JNC     L0270                           ;0261 : 50 0D
        CJNE    A,#06H,L0266                    ;0263 : B4 06 00
L0266:
        JNC     L026C                           ;0266 : 50 04
        MOV     ISPCR,#03H                      ;0268 : 75 E7 03
        RET                                     ;026B : 22
L026C:
        MOV     ISPCR,#02H                      ;026C : 75 E7 02
        RET                                     ;026F : 22
L0270:
        MOV     ISPCR,#01H                      ;0270 : 75 E7 01
        RET                                     ;0273 : 22
L0274:
        MOV     ISPCR,#00H                      ;0274 : 75 E7 00
        RET                                     ;0277 : 22
L0278:
        MOV     A,Var10                         ;0278 : E5 2A
        CJNE    A,#18H,L027D                    ;027A : B4 18 00
L027D:
        JNC     L02B9                           ;027D : 50 3A
        CJNE    A,#14H,L0282                    ;027F : B4 14 00
L0282:
        JNC     L02B5                           ;0282 : 50 31
        CJNE    A,#0CH,L0287                    ;0284 : B4 0C 00
L0287:
        JNC     L02B1                           ;0287 : 50 28
        CJNE    A,#06H,L028C                    ;0289 : B4 06 00
L028C:
        JNC     L02AD                           ;028C : 50 1F
        CJNE    A,#03H,L0291                    ;028E : B4 03 00
L0291:
        JNC     L02A9                           ;0291 : 50 16
        CJNE    A,#02H,L0296                    ;0293 : B4 02 00
L0296:
        JNC     L02A5                           ;0296 : 50 0D
        CJNE    A,#01H,L029B                    ;0298 : B4 01 00
L029B:
        JNC     L02A1                           ;029B : 50 04
        MOV     ISPCR,#07H                      ;029D : 75 E7 07
        RET                                     ;02A0 : 22
L02A1:
        MOV     ISPCR,#06H                      ;02A1 : 75 E7 06
        RET                                     ;02A4 : 22
L02A5:
        MOV     ISPCR,#05H                      ;02A5 : 75 E7 05
        RET                                     ;02A8 : 22
L02A9:
        MOV     ISPCR,#04H                      ;02A9 : 75 E7 04
        RET                                     ;02AC : 22
L02AD:
        MOV     ISPCR,#03H                      ;02AD : 75 E7 03
        RET                                     ;02B0 : 22
L02B1:
        MOV     ISPCR,#02H                      ;02B1 : 75 E7 02
        RET                                     ;02B4 : 22
L02B5:
        MOV     ISPCR,#01H                      ;02B5 : 75 E7 01
        RET                                     ;02B8 : 22
L02B9:
        MOV     ISPCR,#00H                      ;02B9 : 75 E7 00
        RET                                     ;02BC : 22
L02BD:
        JB      Flag_DIDH_F0,L02C6              ;02BD : 20 04 06
        JB      Flag_DIDH_F1,L02C6              ;02C0 : 20 05 03
        CLR     Flag02                          ;02C3 : C2 02
        RET                                     ;02C5 : 22
L02C6:
        LCALL   FlashSW                         ;02C6 : 12 02 E3
        MOV     IFMT,#05H                       ;02C9 : 75 E5 05
        MOV     IFADRH,#00H                     ;02CC : 75 E3 00
        MOV     IFADRL,#01H                     ;02CF : 75 E4 01
        LCALL   EnFlash_A5                      ;02D2 : 12 02 FF
        LCALL   FlashDisable                    ;02D5 : 12 02 F2
        MOV     A,IFD                           ;02D8 : E5 E2
        JB      ACC.0,L02E0                     ;02DA : 20 E0 03
        SETB    Flag02                          ;02DD : D2 02
        RET                                     ;02DF : 22
L02E0:
        CLR     Flag02                          ;02E0 : C2 02
        RET                                     ;02E2 : 22
FlashSW:
        MOV     A,ISPCR                         ;02E3 : E5 E7
        ANL     A,#07H                          ;02E5 : 54 07
        ORL     A,#80H                          ;02E7 : 44 80
        MOV     ISPCR,A                         ;02E9 : F5 E7
        MOV     IFMT,#00H                       ;02EB : 75 E5 00
        XRL     FlashA5,#0FFH                   ;02EE : 63 2B FF
        RET                                     ;02F1 : 22
FlashDisable:
        MOV     A,ISPCR                         ;02F2 : E5 E7
        ANL     A,#07H                          ;02F4 : 54 07
        MOV     ISPCR,A                         ;02F6 : F5 E7
        MOV     IFMT,#00H                       ;02F8 : 75 E5 00
        MOV     FlashA5,#5AH                    ;02FB : 75 2B 5A
        RET                                     ;02FE : 22
EnFlash_A5:
        MOV     A,FlashA5                       ;02FF : E5 2B
        CJNE    A,#0A5H,L030E                   ;0301 : B4 A5 0A
        MOV     SCMD,#46H                       ;0304 : 75 E6 46
        CJNE    A,#0A5H,L030E                   ;0307 : B4 A5 04
        MOV     SCMD,#0B9H                      ;030A : 75 E6 B9
        RET                                     ;030D : 22
L030E:
        LCALL   FlashDisable                    ;030E : 12 02 F2
        SJMP    $                               ;0311 : 80 FE
RstToApp:
        LCALL   FlashDisable                    ;0313 : 12 02 F2
        ANL     BAK_WDTCR,#1FH                  ;0316 : 53 2D 1F
        MOV     WDTCR,BAK_WDTCR                 ;0319 : 85 2D E1
        MOV     ISPCR,#20H                      ;031C : 75 E7 20
        SJMP    $                               ;031F : 80 FE
L0321:
        SJMP    RstToApp                        ;0321 : 80 F0
ReadDatToR7:
        PUSH    ACC                             ;0323 : C0 E0
        PUSH    R0                              ;0325 : C0 00
        MOV     R0,#08H                         ;0327 : 78 08
        JB      Flag_DIDH_F2,L0346              ;0329 : 20 06 1A
        JB      Flag01,L0368                    ;032C : 20 01 39
        JB      Flag00,L0381                    ;032F : 20 00 4F
L0332:
        JNB     TXD,$                           ;0332 : 30 B1 FD
        CLR     TXD                             ;0335 : C2 B1
        NOP                                     ;0337 : 00
        SETB    TXD                             ;0338 : D2 B1
        MOV     C,TXD                           ;033A : A2 B1
        RLC     A                               ;033C : 33
        DJNZ    R0,L0332                        ;033D : D8 F3
        CLR     TXD                             ;033F : C2 B1
        NOP                                     ;0341 : 00
        SETB    TXD                             ;0342 : D2 B1
        SJMP    L0398                           ;0344 : 80 52
L0346:
        JNB     TXD,$                           ;0346 : 30 B1 FD
        CLR     TXD                             ;0349 : C2 B1
        MOV     R5,#03H                         ;034B : 7D 03
        DJNZ    R5,$                            ;034D : DD FE
        SETB    TXD                             ;034F : D2 B1
        MOV     R5,#06H                         ;0351 : 7D 06
        DJNZ    R5,$                            ;0353 : DD FE
        MOV     C,TXD                           ;0355 : A2 B1
        RLC     A                               ;0357 : 33
        MOV     R5,#06H                         ;0358 : 7D 06
        DJNZ    R5,$                            ;035A : DD FE
        DJNZ    R0,L0346                        ;035C : D8 E8
        CLR     TXD                             ;035E : C2 B1
        MOV     R5,#03H                         ;0360 : 7D 03
        DJNZ    R5,$                            ;0362 : DD FE
        SETB    TXD                             ;0364 : D2 B1
        SJMP    L0398                           ;0366 : 80 30
L0368:
        JNB     TXD,$                           ;0368 : 30 B1 FD
        CLR     TXD                             ;036B : C2 B1
        NOP                                     ;036D : 00
        NOP                                     ;036E : 00
        SETB    TXD                             ;036F : D2 B1
        NOP                                     ;0371 : 00
        NOP                                     ;0372 : 00
        MOV     C,TXD                           ;0373 : A2 B1
        RLC     A                               ;0375 : 33
        NOP                                     ;0376 : 00
        DJNZ    R0,L0368                        ;0377 : D8 EF
        CLR     TXD                             ;0379 : C2 B1
        NOP                                     ;037B : 00
        NOP                                     ;037C : 00
        SETB    TXD                             ;037D : D2 B1
        SJMP    L0398                           ;037F : 80 17
L0381:
        JNB     TXD,$                           ;0381 : 30 B1 FD
        CLR     TXD                             ;0384 : C2 B1
        NOP                                     ;0386 : 00
        NOP                                     ;0387 : 00
        SETB    TXD                             ;0388 : D2 B1
        NOP                                     ;038A : 00
        MOV     C,TXD                           ;038B : A2 B1
        RLC     A                               ;038D : 33
        DJNZ    R0,L0381                        ;038E : D8 F1
        CLR     TXD                             ;0390 : C2 B1
        NOP                                     ;0392 : 00
        NOP                                     ;0393 : 00
        SETB    TXD                             ;0394 : D2 B1
        SJMP    L0398                           ;0396 : 80 00
L0398:
        MOV     R7,A                            ;0398 : FF
        POP     R0                              ;0399 : D0 00
        POP     ACC                             ;039B : D0 E0
        RET                                     ;039D : 22
SendR7ToHost:
        PUSH    ACC                             ;039E : C0 E0
        PUSH    R0                              ;03A0 : C0 00
        MOV     A,R7                            ;03A2 : EF
        MOV     R0,#08H                         ;03A3 : 78 08
        JB      Flag_DIDH_F2,L03BE              ;03A5 : 20 06 16
L03A8:
        JNB     TXD,$                           ;03A8 : 30 B1 FD
        CLR     TXD                             ;03AB : C2 B1
        NOP                                     ;03AD : 00
        NOP                                     ;03AE : 00
        RLC     A                               ;03AF : 33
        MOV     TXD,C                           ;03B0 : 92 B1
        MOV     R5,#82H                         ;03B2 : 7D 82
        DJNZ    R5,$                            ;03B4 : DD FE
        SETB    TXD                             ;03B6 : D2 B1
        NOP                                     ;03B8 : 00
        NOP                                     ;03B9 : 00
        DJNZ    R0,L03A8                        ;03BA : D8 EC
        SJMP    L03DA                           ;03BC : 80 1C
L03BE:
        JNB     TXD,$                           ;03BE : 30 B1 FD
        CLR     TXD                             ;03C1 : C2 B1
        MOV     R5,#03H                         ;03C3 : 7D 03
        DJNZ    R5,$                            ;03C5 : DD FE
        RLC     A                               ;03C7 : 33
        MOV     TXD,C                           ;03C8 : 92 B1
        MOV     R5,#00H                         ;03CA : 7D 00
        DJNZ    R5,$                            ;03CC : DD FE
        MOV     R5,#0A0H                        ;03CE : 7D A0
        DJNZ    R5,$                            ;03D0 : DD FE
        SETB    TXD                             ;03D2 : D2 B1
        MOV     R5,#03H                         ;03D4 : 7D 03
        DJNZ    R5,$                            ;03D6 : DD FE
        DJNZ    R0,L03BE                        ;03D8 : D8 E4
L03DA:
        POP     R0                              ;03DA : D0 00
        POP     ACC                             ;03DC : D0 E0
        RET                                     ;03DE : 22

相关帖子

沙发
duojinian| | 2009-10-9 08:17 | 只看该作者
thanks for share it

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:善待今天就是对未来最好的策划。 博客:http://www.mcuplayer.com

338

主题

7307

帖子

26

粉丝