⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boot831.lst

📁 大量ADuc831的程序员代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
E070 D9F8            188            DJNZ    R1, READDATA            ; REPEAT 256 TIMES
                     189    
                     190            ; verify checksum
E072 11F5            191            ACALL   RECBYTE
E074 28              192            ADD     A, R0
E075 F8              193            MOV     R0, A
E076 6002            194            JZ      DOWNLOADCHECKSUMOK
E078 2109            195            AJMP    SENDNACK
                     196    
E07A                 197    DOWNLOADCHECKSUMOK:
                     198            ; program page
E07A 75B902          199            MOV     ECON, #2
                     200    
                     201    ; verify download
E07D 75A754          202            MOV     DPCON, #54H                     ; main DPTR in auto INC mode
                     203                                                    ; shadow DPTR in auto INC mode
                     204                                                    ; DPTR in aut toggle mode
E080 900000          205            MOV     DPTR, #0                        ; main DPTR=0 (XRAM)
E083 05A7            206            INC     DPCON                           ; select shadow DPTR
E085 85C783          207            MOV     DPH, EADRH                      ; shadow DPTR (CODE)
E088 758200          208            MOV     DPL, #0
E08B 7800            209            MOV     R0, #0
                     210            
E08D                 211    VERIFYDOWNLOADLOOP:
                     212            ; read code memory
E08D E4              213            CLR     A
E08E 93              214            MOVC    A, @A+DPTR                      ; swap to main DPTR
E08F F5F0            215            MOV     B, A
E091 E0              216            MOVX    A, @DPTR
E092 B5F007          217            CJNE    A, B, JMPSENDNACK
E095 D8F6            218            DJNZ    R0, VERIFYDOWNLOADLOOP
E097 75A700          219            MOV     DPCON, #0
                     220    
E09A 2105            221            AJMP    SENDACK
                     222    
E09C                 223    JMPSENDNACK:
E09C 2109            224            AJMP    SENDNACK
                     225    
                     226    ;====================================================================
                     227    ;                          DOWNLOAD OK COMMAND
                     228    ;====================================================================
E09E                 229    DOWNLOADOKCOMMAND:
                     230            ; wait for Download OK command
                     231            ; <'O'><CS>
E09E 12E0F5          232            CALL    RECBYTE
BOOT831                                                                                                       PAGE 5

E0A1 244F            233            ADD     A,#'O'
E0A3 6002            234            JZ      EXITULOADMODE
E0A5 2109            235            AJMP    SENDNACK
                     236    
E0A7                 237    EXITULOADMODE:
                     238            ; exit ULOAD mode
E0A7 75B90F          239            MOV     ECON, #0Fh
                     240    
E0AA                 241    DOWNLOADOK:
                     242            ; clear BOOTEN
E0AA 75C700          243            MOV     EADRH, #0
E0AD 75C600          244            MOV     EADRL, #0
E0B0 75B901          245            MOV     ECON, #1                        ; read page
E0B3 53BCFE          246            ANL     EDATA1, #0FEh           ; clear LSB
E0B6 75B905          247            MOV     ECON, #5                        ; ERASE page
E0B9 75B902          248            MOV     ECON, #2                        ; program page
E0BC 75B904          249            MOV     ECON, #4                        ; verify page
E0BF E5B9            250            MOV     A, ECON
E0C1 6002            251            JZ      BOOTENCLEAR
E0C3 2109            252            AJMP    SENDNACK
                     253    
E0C5                 254    BOOTENCLEAR:
                     255            ; send an ACK
E0C5 7406            256            MOV     A, #ACK
E0C7 12E0FD          257            CALL    SENDBYTE
E0CA 3099FD          258            JNB     TI, $                           ; disabling UART shortly 
                     259                                                    ; => wait for char to send
                     260    
E0CD                 261    RESETSFR:
                     262            ; reset SFRs
E0CD E4              263            CLR     A
E0CE F5F0            264            MOV     B, A
E0D0 F5D0            265            MOV     PSW, A
E0D2 F5C7            266            MOV     EADRH, A
E0D4 F5C6            267            MOV     EADRL, A
E0D6 F5BC            268            MOV     EDATA1, A
E0D8 F5BD            269            MOV     EDATA2, A
E0DA F5BE            270            MOV     EDATA3, A
E0DC F5BF            271            MOV     EDATA4, A
E0DE 75A701          272            MOV     DPCON, #1
E0E1 900000          273            MOV     DPTR, #0                        ; clear shadow DPTR
E0E4 F5A7            274            MOV     DPCON, A
E0E6 900000          275            MOV     DPTR, #0                        ; clear main DPTR
E0E9 63AF01          276            XRL     CFG831,#01H 
E0EC F59E            277            MOV     T3CON, A
E0EE F59E            278            MOV     T3CON, A
E0F0 F598            279            MOV     SCON, A
                     280    
                     281            ; jump to 0000H
E0F2 020000          282            LJMP    0000H
                     283    
                     284    ;====================================================================
                     285    ;                          FUNCTIONS
                     286    ;====================================================================
                     287    ;____________________________________________________________________
                     288                                                                ; RECBYTE
E0F5                 289    RECBYTE:        ; waits for a single ASCII character to be received
                     290                    ; by the UART.  places this character into A.
BOOT831                                                                                                       PAGE 6

                     291    
E0F5 3098FD          292            JNB     RI,$
E0F8 E599            293            MOV     A,SBUF
E0FA C298            294            CLR     RI
                     295    
E0FC 22              296            RET
                     297    ;____________________________________________________________________
                     298                                                               ; SENDBYTE
E0FD                 299    SENDBYTE:       ; sends ASCII value contained in A to UART
                     300    
E0FD 3099FD          301            JNB     TI,$            ; wait til present char gone
E100 C299            302            CLR     TI              ; must clear TI
E102 F599            303            MOV     SBUF,A
                     304    
E104 22              305            RET
                     306    ;____________________________________________________________________
                     307                                                       ; SENDACK/SENDNACK
E105                 308    SENDACK:
E105 7406            309            MOV     A, #ACK
E107 210B            310            AJMP    CONTSENDACK
E109                 311    SENDNACK:
E109 7415            312            MOV     A, #NACK
E10B                 313    CONTSENDACK:
E10B 11FD            314            ACALL   SENDBYTE
                     315    
E10D 012B            316            AJMP    GETCOMMAND
                     317    ;____________________________________________________________________
                     318    
                     319    END

VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
BOOT831                                                                                                       PAGE 7

ACC. . . . . . . . . . . . . . .  D ADDR  00E0H  PREDEFINED  
ACK. . . . . . . . . . . . . . .    NUMB  0006H  
ADDRESSOK. . . . . . . . . . . .  C ADDR  E062H  
B. . . . . . . . . . . . . . . .  D ADDR  00F0H  PREDEFINED  
BLINK. . . . . . . . . . . . . .  C ADDR  003DH  
BOOTENCLEAR. . . . . . . . . . .  C ADDR  E0C5H  
BOOTLOADER . . . . . . . . . . .  C ADDR  E01AH  
CFG831 . . . . . . . . . . . . .  D ADDR  00AFH  PREDEFINED  
CONTSENDACK. . . . . . . . . . .  C ADDR  E10BH  
DELAY. . . . . . . . . . . . . .  C ADDR  0044H  
DLY. . . . . . . . . . . . . . .  C ADDR  0046H  
DOWNLOADCHECKSUMOK . . . . . . .  C ADDR  E07AH  
DOWNLOADCOMMAND. . . . . . . . .  C ADDR  E04DH  
DOWNLOADOK . . . . . . . . . . .  C ADDR  E0AAH  NOT USED  
DOWNLOADOKCOMMAND. . . . . . . .  C ADDR  E09EH  
DPCON. . . . . . . . . . . . . .  D ADDR  00A7H  PREDEFINED  
DPH. . . . . . . . . . . . . . .  D ADDR  0083H  PREDEFINED  
DPL. . . . . . . . . . . . . . .  D ADDR  0082H  PREDEFINED  
EA . . . . . . . . . . . . . . .  B ADDR  00AFH  PREDEFINED  
EADRH. . . . . . . . . . . . . .  D ADDR  00C7H  PREDEFINED  
EADRL. . . . . . . . . . . . . .  D ADDR  00C6H  PREDEFINED  
ECON . . . . . . . . . . . . . .  D ADDR  00B9H  PREDEFINED  
EDATA1 . . . . . . . . . . . . .  D ADDR  00BCH  PREDEFINED  
EDATA2 . . . . . . . . . . . . .  D ADDR  00BDH  PREDEFINED  
EDATA3 . . . . . . . . . . . . .  D ADDR  00BEH  PREDEFINED  
EDATA4 . . . . . . . . . . . . .  D ADDR  00BFH  PREDEFINED  
ERASECOMMAND . . . . . . . . . .  C ADDR  E03FH  
ERASEOK. . . . . . . . . . . . .  C ADDR  E048H  
ERROR. . . . . . . . . . . . . .  C ADDR  002DH  
EX0. . . . . . . . . . . . . . .  B ADDR  00A8H  PREDEFINED  
EXITULOADMODE. . . . . . . . . .  C ADDR  E0A7H  
GETCOMMAND . . . . . . . . . . .  C ADDR  E02BH  
IT0. . . . . . . . . . . . . . .  B ADDR  0088H  PREDEFINED  
JMPSENDNACK. . . . . . . . . . .  C ADDR  E09CH  
MAIN . . . . . . . . . . . . . .  C ADDR  002EH  
NACK . . . . . . . . . . . . . .    NUMB  0015H  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  
PSW. . . . . . . . . . . . . . .  D ADDR  00D0H  PREDEFINED  
READDATA . . . . . . . . . . . .  C ADDR  E06AH  
RECBYTE. . . . . . . . . . . . .  C ADDR  E0F5H  
RESETSFR . . . . . . . . . . . .  C ADDR  E0CDH  NOT USED  
RI . . . . . . . . . . . . . . .  B ADDR  0098H  PREDEFINED  
SBUF . . . . . . . . . . . . . .  D ADDR  0099H  PREDEFINED  
SCON . . . . . . . . . . . . . .  D ADDR  0098H  PREDEFINED  
SENDACK. . . . . . . . . . . . .  C ADDR  E105H  
SENDBYTE . . . . . . . . . . . .  C ADDR  E0FDH  
SENDNACK . . . . . . . . . . . .  C ADDR  E109H  
T3CON. . . . . . . . . . . . . .  D ADDR  009EH  PREDEFINED  
T3FD . . . . . . . . . . . . . .  D ADDR  009DH  PREDEFINED  
TI . . . . . . . . . . . . . . .  B ADDR  0099H  PREDEFINED  
VERIFYDOWNLOADLOOP . . . . . . .  C ADDR  E08DH  
WDCON. . . . . . . . . . . . . .  D ADDR  00C0H  PREDEFINED  
WDWR . . . . . . . . . . . . . .  B ADDR  00C0H  PREDEFINED  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -