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

📄 boot832.lst

📁 ADuC831的详细的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
E072 F8              190            MOV     R0, A
E073 D9F8            191            DJNZ    R1, READDATA            ; REPEAT 256 TIMES
                     192    
                     193            ; verify checksum
E075 11FA            194            ACALL   RECBYTE
E077 28              195            ADD     A, R0
E078 F8              196            MOV     R0, A
E079 6002            197            JZ      DOWNLOADCHECKSUMOK
E07B 210E            198            AJMP    SENDNACK
                     199    
E07D                 200    DOWNLOADCHECKSUMOK:
                     201            ; program page
E07D 75B902          202            MOV     ECON, #2
                     203    
                     204    ; verify download
E080 75A754          205            MOV     DPCON, #54H                     ; main DPTR in auto INC mode
                     206                                                    ; shadow DPTR in auto INC mode
                     207                                                    ; DPTR in aut toggle mode
E083 900000          208            MOV     DPTR, #0                        ; main DPTR=0 (XRAM)
E086 05A7            209            INC     DPCON                           ; select shadow DPTR
E088 85C783          210            MOV     DPH, EADRH                      ; shadow DPTR (CODE)
E08B 758200          211            MOV     DPL, #0
E08E 7800            212            MOV     R0, #0
                     213            
E090                 214    VERIFYDOWNLOADLOOP:
                     215            ; read code memory
E090 E4              216            CLR     A
E091 93              217            MOVC    A, @A+DPTR                      ; swap to main DPTR
E092 F5F0            218            MOV     B, A
E094 E0              219            MOVX    A, @DPTR
E095 B5F007          220            CJNE    A, B, JMPSENDNACK
E098 D8F6            221            DJNZ    R0, VERIFYDOWNLOADLOOP
E09A 75A700          222            MOV     DPCON, #0
                     223    
E09D 210A            224            AJMP    SENDACK
                     225    
E09F                 226    JMPSENDNACK:
E09F 210E            227            AJMP    SENDNACK
                     228    
                     229    ;====================================================================
                     230    ;                          DOWNLOAD OK COMMAND
                     231    ;====================================================================
E0A1                 232    DOWNLOADOKCOMMAND:
BOOT832                                                                                                       PAGE 5

                     233            ; wait for Download OK command
                     234            ; <'O'><CS>
E0A1 12E0FA          235            CALL    RECBYTE
E0A4 244F            236            ADD     A,#'O'
E0A6 6002            237            JZ      EXITULOADMODE
E0A8 210E            238            AJMP    SENDNACK
                     239    
E0AA                 240    EXITULOADMODE:
                     241            ; exit ULOAD mode
E0AA 75B90F          242            MOV     ECON, #0Fh
                     243    
E0AD                 244    DOWNLOADOK:
                     245            ; clear BOOTEN
E0AD 75C700          246            MOV     EADRH, #0
E0B0 75C600          247            MOV     EADRL, #0
E0B3 75B901          248            MOV     ECON, #1                        ; read page
E0B6 53BCFE          249            ANL     EDATA1, #0FEh           ; clear LSB
E0B9 75B905          250            MOV     ECON, #5                        ; ERASE page
E0BC 75B902          251            MOV     ECON, #2                        ; program page
E0BF 75B904          252            MOV     ECON, #4                        ; verify page
E0C2 E5B9            253            MOV     A, ECON
E0C4 6002            254            JZ      BOOTENCLEAR
E0C6 210E            255            AJMP    SENDNACK
                     256    
E0C8                 257    BOOTENCLEAR:
                     258            ; send an ACK
E0C8 7406            259            MOV     A, #ACK
E0CA 12E102          260            CALL    SENDBYTE
E0CD 3099FD          261            JNB     TI, $                           ; disabling UART shortly 
                     262                                                    ; => wait for char to send
                     263    
E0D0                 264    RESETSFR:
                     265            ; reset SFRs
E0D0 E4              266            CLR     A
E0D1 F5F0            267            MOV     B, A
E0D3 F5D0            268            MOV     PSW, A
E0D5 F5C7            269            MOV     EADRH, A
E0D7 F5C6            270            MOV     EADRL, A
E0D9 F5BC            271            MOV     EDATA1, A
E0DB F5BD            272            MOV     EDATA2, A
E0DD F5BE            273            MOV     EDATA3, A
E0DF F5BF            274            MOV     EDATA4, A
E0E1 75A701          275            MOV     DPCON, #1
E0E4 900000          276            MOV     DPTR, #0                        ; clear shadow DPTR
E0E7 F5A7            277            MOV     DPCON, A
E0E9 900000          278            MOV     DPTR, #0                        ; clear main DPTR
E0EC F5AF            279            MOV     CFG832, A
E0EE 75D703          280            MOV     PLLCON, #3                      ; run core at max speed
E0F1 F59E            281            MOV     T3CON, A
E0F3 F59E            282            MOV     T3CON, A
E0F5 F598            283            MOV     SCON, A
                     284    
                     285            ; jump to 0000H
E0F7 020000          286            LJMP    0000H
                     287    
                     288    ;====================================================================
                     289    ;                          FUNCTIONS
                     290    ;====================================================================
BOOT832                                                                                                       PAGE 6

                     291    ;____________________________________________________________________
                     292                                                                ; RECBYTE
E0FA                 293    RECBYTE:        ; waits for a single ASCII character to be received
                     294                    ; by the UART.  places this character into A.
                     295    
E0FA 3098FD          296            JNB     RI,$
E0FD E599            297            MOV     A,SBUF
E0FF C298            298            CLR     RI
                     299    
E101 22              300            RET
                     301    ;____________________________________________________________________
                     302                                                               ; SENDBYTE
E102                 303    SENDBYTE:       ; sends ASCII value contained in A to UART
                     304    
E102 3099FD          305            JNB     TI,$            ; wait til present char gone
E105 C299            306            CLR     TI              ; must clear TI
E107 F599            307            MOV     SBUF,A
                     308    
E109 22              309            RET
                     310    ;____________________________________________________________________
                     311                                                       ; SENDACK/SENDNACK
E10A                 312    SENDACK:
E10A 7406            313            MOV     A, #ACK
E10C 2110            314            AJMP    CONTSENDACK
E10E                 315    SENDNACK:
E10E 7415            316            MOV     A, #NACK
E110                 317    CONTSENDACK:
E110 3102            318            ACALL   SENDBYTE
                     319    
E112 012E            320            AJMP    GETCOMMAND
                     321    ;____________________________________________________________________
                     322    
                     323    END

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

ACC. . . . . . . . . . . . . . .  D ADDR  00E0H  PREDEFINED  
ACK. . . . . . . . . . . . . . .    NUMB  0006H  
ADDRESSOK. . . . . . . . . . . .  C ADDR  E065H  
B. . . . . . . . . . . . . . . .  D ADDR  00F0H  PREDEFINED  
BLINK. . . . . . . . . . . . . .  C ADDR  0040H  
BOOTENCLEAR. . . . . . . . . . .  C ADDR  E0C8H  
BOOTLOADER . . . . . . . . . . .  C ADDR  E01AH  
CFG832 . . . . . . . . . . . . .  D ADDR  00AFH  PREDEFINED  
CONTSENDACK. . . . . . . . . . .  C ADDR  E110H  
DELAY. . . . . . . . . . . . . .  C ADDR  0047H  
DLY. . . . . . . . . . . . . . .  C ADDR  0049H  
DOWNLOADCHECKSUMOK . . . . . . .  C ADDR  E07DH  
DOWNLOADCOMMAND. . . . . . . . .  C ADDR  E050H  
DOWNLOADOK . . . . . . . . . . .  C ADDR  E0ADH  NOT USED  
DOWNLOADOKCOMMAND. . . . . . . .  C ADDR  E0A1H  
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  E042H  
ERASEOK. . . . . . . . . . . . .  C ADDR  E04BH  
ERROR. . . . . . . . . . . . . .  C ADDR  002DH  
EX0. . . . . . . . . . . . . . .  B ADDR  00A8H  PREDEFINED  
EXITULOADMODE. . . . . . . . . .  C ADDR  E0AAH  
GETCOMMAND . . . . . . . . . . .  C ADDR  E02EH  
IT0. . . . . . . . . . . . . . .  B ADDR  0088H  PREDEFINED  
JMPSENDNACK. . . . . . . . . . .  C ADDR  E09FH  
MAIN . . . . . . . . . . . . . .  C ADDR  002EH  
NACK . . . . . . . . . . . . . .    NUMB  0015H  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  
PLLCON . . . . . . . . . . . . .  D ADDR  00D7H  PREDEFINED  
PSW. . . . . . . . . . . . . . .  D ADDR  00D0H  PREDEFINED  
READDATA . . . . . . . . . . . .  C ADDR  E06DH  
RECBYTE. . . . . . . . . . . . .  C ADDR  E0FAH  
RESETSFR . . . . . . . . . . . .  C ADDR  E0D0H  NOT USED  
RI . . . . . . . . . . . . . . .  B ADDR  0098H  PREDEFINED  
SBUF . . . . . . . . . . . . . .  D ADDR  0099H  PREDEFINED  
SCON . . . . . . . . . . . . . .  D ADDR  0098H  PREDEFINED  
SENDACK. . . . . . . . . . . . .  C ADDR  E10AH  
SENDBYTE . . . . . . . . . . . .  C ADDR  E102H  
SENDNACK . . . . . . . . . . . .  C ADDR  E10EH  
T3CON. . . . . . . . . . . . . .  D ADDR  009EH  PREDEFINED  
T3FD . . . . . . . . . . . . . .  D ADDR  009DH  PREDEFINED  
TI . . . . . . . . . . . . . . .  B ADDR  0099H  PREDEFINED  
VERIFYDOWNLOADLOOP . . . . . . .  C ADDR  E090H  
WDCON. . . . . . . . . . . . . .  D ADDR  00C0H  PREDEFINED  
WDWR . . . . . . . . . . . . . .  B ADDR  00C0H  PREDEFINED  

⌨️ 快捷键说明

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