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

📄 boot_process.a51

📁 at89c51cc03RS232引导程序
💻 A51
字号:
;*A**************************************************************************
; NAME:             api.a51
;----------------------------------------------------------------------------
; REVISION:         $version: $
;----------------------------------------------------------------------------
; PURPOSE:          This file the softawre boot process after RESET
;
;----------------------------------------------------------------------------
; NOTES:           
;
;****************************************************************************
; CHANGES:
;
;****************************************************************************


$TITLE      (*** Bootprocess ***)

SOFT_BOOT_PROCESS          SEGMENT     CODE

;_____ I N C L U D E S ____________________________________________________

$include (config.inc)
$include (register.inc)

PUBLIC      boot_process

;_____ M A C R O S ________________________________________________________


;_____ D E F I N I T I O N ________________________________________________
EXTRN       CODE (fm_read_xrow)


 
;_____ D E C L A R A T I O N ______________________________________________




;*F***************************************************************************
; NAME:     boot_process
;-----------------------------------------------------------------------------
; PARAMS:    
;
; RETURN:
;
;-----------------------------------------------------------------------------
; PURPOSE:  
; 
;*****************************************************************************

RSEG        SOFT_BOOT_PROCESS
boot_process:

    mov     A,FCON
    cjne    A,#PROG_BOOT_VALUE,atmel_init   ; test FCON F0h or 00h
    mov     DPL,#SBV_ADDRESS
    acall   fm_read_xrow            ; read Software Boot Vector: A <- SBV
    mov     R0,A                    ; save SBV

    clr     C
    subb    A,#BOOT_BASE_ADDRESS    ; if SBV >= boot base address
    jnc     atmel_init              ; exec Atmel boot else User boot

user_boot:
    mov     DPH,R0                  ; restore SBV
    clr     A
    mov     DPL,A
    jmp     @A+DPTR                 ; jump to user's boot loader at @ [SBV]00h

atmel_init:

ret



END

⌨️ 快捷键说明

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