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

📄 nf_drv_load.a51

📁 ATMEL公司AT89C51SND1为主控制器MP3源代码
💻 A51
字号:

/*A**************************************************************************
* NAME:         nf_drv_load.a51
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      snd1c-refd-nf-4_0_3      
* REVISION:     1.2     
*----------------------------------------------------------------------------
* PURPOSE:
* This file contains low asm routines for 2 slots nf
*****************************************************************************/

;_____ I N C L U D E S ____________________________________________________


;_____ M A C R O S ________________________________________________________

EXTRN XDATA (nf_data_even)
EXTRN XDATA (nf_data_odd)
EXTRN BIT   (nf_parity_bit)

;_____ D E F I N I T I O N ________________________________________________

NF_MODULE   SEGMENT CODE

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

PUBLIC  nf_upload_buffer
PUBLIC  nf_download_buffer


;*F**************************************************************************
; NAME: nf_upload_buffer_even
;----------------------------------------------------------------------------
; PARAMS:
;
; return:
;----------------------------------------------------------------------------
; PURPOSE: 
;   upload_buffer NF->XRAM 
;----------------------------------------------------------------------------
; EXAMPLE:
;----------------------------------------------------------------------------
; NOTE: 
;----------------------------------------------------------------------------
; REQUIREMENTS: 
;****************************************************************************
nf_upload_buffer:
    MOV     R0,#0H
    JNB     nf_parity_bit,UPLOAD_NF_DATA_EVEN
    MOV     DPTR,#nf_data_odd
    SJMP    UP_START_TRANSFERT
UPLOAD_NF_DATA_EVEN:
    MOV     DPTR, #nf_data_even
UP_START_TRANSFERT:
    MOVX    A,@DPTR     ;1
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;2
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;3
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;4
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;5
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;6
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;7
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;8
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;9
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;10
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;11
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;12
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;13
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;14
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;15
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;16
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;17
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;18
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;19
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;20
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;21
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;22
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;23
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;24
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;25
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;26
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;27
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;28
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;29
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;30
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;31
    MOVX    @R0,A
    INC     R0
    MOVX    A,@DPTR     ;32
    MOVX    @R0,A
    INC     R0
    MOV     A,R0
    JNZ     UP_START_TRANSFERT      ; restart if R0 <> 0
    RET


;*F**************************************************************************
; NAME: nf_download_buffer_even
;----------------------------------------------------------------------------
; PARAMS:
;
; return:
;----------------------------------------------------------------------------
; PURPOSE: 
;   download_buffer XRAM->NF 
;----------------------------------------------------------------------------
; EXAMPLE:
;----------------------------------------------------------------------------
; NOTE: 
;----------------------------------------------------------------------------
; REQUIREMENTS: 
;****************************************************************************
nf_download_buffer:
    MOV     R0,#0H
    JNB     nf_parity_bit,DOWNLOAD_NF_DATA_EVEN
    MOV     DPTR,#nf_data_odd
    SJMP    DOWN_START_TRANSFERT
DOWNLOAD_NF_DATA_EVEN:
    MOV     DPTR, #nf_data_even
DOWN_START_TRANSFERT:
    MOVX    A,@R0      ;1
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;2
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;3
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;4
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;5
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;6
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;7
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;8
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;9
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;10
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;11
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;12
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;13
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;14
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;15
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;16
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;17
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;18
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;19
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;20
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;21
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;22
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;23
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;24
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;25
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;26
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;27
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;28
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;29
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;30
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;31
    MOVX    @DPTR,A
    INC     R0

    MOVX    A,@R0      ;32
    MOVX    @DPTR,A
    INC     R0

    MOV     A,R0
    JNZ     DOWN_START_TRANSFERT

    RET
END

⌨️ 快捷键说明

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