dpmemcpy.asm

来自「2407嵌入式系统程序(c语言)」· 汇编 代码 · 共 41 行

ASM
41
字号
; void *dpmemcpy(void *pmemdst[], void *dmemsrc[], unsigned int N);
; This function copies N words from dmem in data memory to pmem in program memory
; and returns pointer to pmemdst.

	
	
    .text
    .def	_dpmemcpy
;
; Start Of Main Code:
;

_dpmemcpy:
	sbrk #1

	; Local variables (and parameters) will be set up as follows:
	;
	; get arguments and place them properly - take the from the
	; software stack and place them into their correct positions
AR_SAVE .set ar3
AR_D .set ar4
AR_N .set ar5

NUM_PARAMS .set 3 ; Number of calling parameters
	lar AR_SAVE,*
	lacl *-
	lar AR_D,*- 
	lar AR_N,*-,AR_N
	mar *-,ar1 ; AR_N--
	adrk #NUM_PARAMS+3 ; ar1 = next empty point on stack (SP)
	sar AR_N,*

	rpt *,AR_D 
	tblw *+
	
	mar *,ar1     
	sar AR_SAVE,*
	lacl * ; Return pointer
	sbrk #2
	ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?