sftor.asm

来自「微芯公司的PIC子程序库及运算平台」· 汇编 代码 · 共 35 行

ASM
35
字号
;********************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 + =
减小字号Ctrl + -
显示快捷键?