;入口: ADDPH,ADDPL,R7
;占用资源: ACC
;堆栈需求: 2字节
;出口: R0
C_RAM_Copy_TO_EPRAM:
MOV A,ADDPL
ADD A,R7
MOV DPL,A
MOV A,ADDPH
ADDC A,#00H
MOV DPH,A
MOV A,R0
ADD A,R7
MOV R0,A
C_RAM_Copy_TO_EPRAM_Loop_1:
DEC R0
DEC DPL
MOV A,DPL
CJNE A,#0FFH,C_RAM_Copy_TO_EPRAM_Loop_2
DEC DPH
C_RAM_Copy_TO_EPRAM_Loop_2:
MOVX A,@DPTR
MOV @R0,A
DJNZ R7,C_RAM_Copy_TO_EPRAM_Loop_1
RET
-
-
xilinxue 发表于 2009/2/9 13:02:30
;内部RAM数据复制程序2楼 回复本楼
;入口: R0,R7
;占用资源: A
;堆栈需求: 2字节
;出口: R1
C_Copy_RAM:
MOV A,R0
ADD A,R7
MOV R0,A
MOV A,R1
ADD A,R7
MOV R1,A
C_Copy_RAM_Loop:
DEC R0
DEC R1
MOV A,@R0
MOV @R1,A
DJNZ R7,C_Copy_RAM_Loop
RET
引用 xilinxue 2009/2/9 13:02:30 发表于2楼的内容
-
-
xilinxue 发表于 2009/2/9 15:17:20
;外部RAM数据复制程序3楼 回复本楼
;入口: ADDPH,ADDPL,R7
;占用资源: ACC
;堆栈需求: 2字节
;出口: R0,R1
C_Copy_EPRAM:
MOV A,ADDPL
ADD A,R7
MOV DPL,A
CLR A
ADDC A,ADDPH
MOV DPH,A
MOV A,R7
ADD A,R1
XCH A,R0
ADDC A,#00H
MOV P2,A
C_Copy_EPRAM_Loop_1:
DEC R0
CJNE R0,#0FFH,C_Copy_EPRAM_Loop_2
DEC P2
C_Copy_EPRAM_Loop_2:
DEC DPL
MOV A,DPL
CJNE A,#0FFH,C_Copy_EPRAM_Loop_3
DEC DPH
C_Copy_EPRAM_Loop_3:
MOVX A,@R0
MOVX @DPTR,A
DJNZ R7,C_Copy_EPRAM_Loop_1
RET
引用 xilinxue 2009/2/9 15:17:20 发表于3楼的内容
-
-
xilinxue 发表于 2009/2/9 15:17:48
;外部RAM数据复制程序4楼 回复本楼
;入口: ADDPH,ADDPL,R6,R7
;占用资源: ACC
;堆栈需求: 2字节
;出口: R0,R1
C_Copy_Double_EPRAM:
MOV A,ADDPL
ADD A,R7
MOV DPL,A
MOV A,R6
ADDC A,ADDPH
MOV DPH,A
MOV A,R7
ADD A,R1
XCH A,R0
ADDC A,R6
MOV P2,A
MOV A,R7
JZ EBM21
INC R6
C_Copy_Double_EPRAM_1:
DEC R0
CJNE R0,#0FFH,C_Copy_Double_EPRAM_2
DEC P2
C_Copy_Double_EPRAM_2:
DEC DPL
MOV A,DPL
CJNE A,#0FFH,C_Copy_Double_EPRAM_3
DEC DPH
C_Copy_Double_EPRAM_3:
MOVX A,@R0
MOVX @DPTR,A
DJNZ R7,C_Copy_Double_EPRAM_1
DJNZ R6,C_Copy_Double_EPRAM_1
RET
引用 xilinxue 2009/2/9 15:17:48 发表于4楼的内容