📄 nf_lib.a51
字号:
;//! @file nf_lib.a51,v
;//!
;//! Copyright (c) 2003-2004
;//!
;//! Use of this program is subject to Atmel's End User License Agreement.
;//! Please read file license.txt for copyright notice.
;//!
;//! @brief This file contains the asm procedure for optimize the bootstrap
;//!
;//! The quick mode, the loading NF to cram and start hardware contexte 0
;//!
;//! @version 1.1 snd3-refd1-1_9_5 $Id: nf_lib.a51,v 1.1 2004/12/20 17:43:02 ppatron Exp $
;//!
;//! @todo
;//! @bug
$TITLE (*** snd3-refd1-1_9_5 ***)
;//_____ I N C L U D E S ______________________________________________________
#define ASM_INCLUDE
#define KEIL
#include "config.h"
;//_____ M A C R O S __________________________________________________________
;//_____ D E F I N I T I O N S ________________________________________________
ASM_MODULE SEGMENT CODE
RSEG ASM_MODULE
;//_____ D E C L A R A T I O N S ______________________________________________
PUBLIC _nf_upload
PUBLIC _nf_download
;//! @brief Transfer packet of 16 bytes from NF to CRAM, through C51 core.
;//!
;//! @param Pointer (xdata only) on CRAM
;//! @param number of 16 bytes packet
;//!
;//! @return none
;//!
_nf_upload:
MOV DPL,R7 ; Init the DPTR to beginning of pointer
MOV DPH,R6
MOV A,R5
JNZ loop_16_up ; if R5 <> 0 then resume transfer
RET
loop_16_up:
MOV A,NFDATF
MOVX @DPTR,A ;1
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;2
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;3
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;4
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;5
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;6
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;7
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;8
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;9
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;10
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;11
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;12
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;13
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;14
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;15
INC DPTR
MOV A,NFDATF
MOVX @DPTR,A ;16
INC DPTR
DEC R5
MOV A,R5
JNZ loop_16_up ; if R5 <> 0 then resume transfer
RET
;//! @brief Transfer packet of 16 bytes from CRAM to NF, through C51 core.
;//!
;//! @param Pointer (xdata only) on CRAM
;//! @param number of 16 bytes packet
;//!
;//! @return none
;//!
_nf_download:
MOV DPL,R7 ; Init the DPTR to beginning of pointer
MOV DPH,R6
MOV A,R5
JNZ loop_16_down ; if R5 <> 0 then resume transfer
RET
loop_16_down:
MOVX A, @DPTR
MOV NFDAT, A ; 1
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 2
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 3
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 4
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 5
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 6
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 7
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 8
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 9
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 10
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 11
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 12
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 13
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 14
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 15
INC DPTR
MOVX A, @DPTR
MOV NFDAT, A ; 16
INC DPTR
DEC R5
MOV A,R5
JNZ loop_16_down ; if R5 <> 0 then resume transfer
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -