📄 sftor.asm
字号:
;********************SFTOR********************
;本程序实现从内部FLASH传送单字节数据到内部RAM。
;入口参数:原操作数在FLASH中的地址低字节放在SADR中,高字节放在SADRH中,
; 目标RAM的起始地址放在DADR中。
;出口参数:相关数据已在指定的连续两个RAM单元中(高地址放高字节)
;占用资源:W,STATUS,FSR,020H,021H,一重堆栈。
IFNDEF SFTOR1
#DEFINE SFTOR1
SFTOR MOVF DADR,W
MOVWF FSR
BANKSEL EECON1
BSF EECON1,EEPGD;读写FLASH
BCF STATUS,RP0
BCF STATUS,RP1
MOVF SADR,W
BSF STATUS,RP1
MOVWF EEADR ;将原数据地址低字节写入EEADR
BCF STATUS,RP1
MOVF SADRH,W
BSF STATUS,RP1
MOVWF EEADRH ;高字节写入EEADRH
BSF STATUS,RP0
BSF EECON1,RD ;开始读取
NOP ;延迟两个周期
NOP
BCF STATUS,RP0
MOVF EEDATA,W ;将FLASH中的数据低字节读到W中
MOVWF INDF ;送入RAM中
INCF FSR,1 ;高字节
MOVF EEDATH,W
MOVWF INDF
RETURN
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -