📄 mftor.asm
字号:
;********************MFTOR********************
;本程序实现从内部连续的FLASH单元传送多字节数据到内部RAM。
;入口参数:原操作数在FLASH中的首地址放在SADRH:SADR中,目标RAM的首地址放在DADR中,
; 字节数放在W中。
;出口参数:相关数据已在指定的连续RAM单元中,高地址放双字节数据的高位字节。
;占用资源:W,FSR,020H,021H,022H,023H,一重堆栈。
IFNDEF MFTOR1
#DEFINE MFTOR1
MFTOR MOVWF CNT ;设置计数初值
MOVF DADR,W
MOVWF FSR
BANKSEL EECON1 ;选择BANK3
BSF EECON1,EEPGD;存取EEPROM
BANKSEL SADR
MOVF SADR,W
BSF STATUS,RP1
MOVWF EEADR ;地址
BCF STATUS,RP1
MOVF SADRH,W
BSF STATUS,RP1
MOVWF EEADRH
LOOP1 BSF STATUS,RP1
BSF STATUS,RP0
BSF EECON1,RD ;开始读取
NOP
NOP ;等待两个周期
BCF STATUS,RP0 ;BANK2
MOVF EEDATA,W
MOVWF INDF ;依次取出连续的数据
INCF FSR,F
MOVF EEDATH,W
MOVWF INDF
INCF FSR,F
INCF EEADR,F
BCF STATUS,RP1
DECFSZ CNT,F ;判断是否取完
GOTO LOOP1
RETURN
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -