block2block.asm

来自「SUNPLUS的8BIT的MCU SPMC65X基本功能函数库及使用说明」· 汇编 代码 · 共 54 行

ASM
54
字号
;==================================================================================
; The information contained herein is the exclusive property of
; Sunplus Technology Co. And shall not be distributed, reproduced,
; or disclosed in whole in part without prior written permission.
;       (C) COPYRIGHT 2004   SUNPLUS TECHNOLOGY CO.                                  
;                   ALL RIGHTS RESERVED
; The entire notice above must be reproduced on all authorized copies.
;==================================================================================
																					
;==================================================================================
;  Program Name		:	Block2Block.asm
;  Description		:	This program presents that transfers the contents of an
;                       N-byte RAM area to another N-byte RAM area .		 
;  Reference		:	SPMC65P2404A/2408A Data Sheet
;  Revision history	:
;---------------------------------------------------------------------------------- 
;  Version		Date 		Description
;  1.0.0    	2004-9-9	First Edition
;==================================================================================

.SYNTAX  6502							;process standard 6502 addressing syntax
.LINKLIST								;generate linklist information
.SYMBOLS								;generate symbolic debug information
;************************************************************************************
C_LIB_DEF		EQU		1
.INCLUDE		AN_O0100.inc			;Define	external variable
;**********************************************************************************
.PAGE0											
.DATA									;define data storage section
;**********************************************************************************
.CODE
;==================================================================================
;	Function:		F_Block2Block
;	Description:	transfers the contents of an N-byte block to another N-byte block
;	Input:			X----------------the size of block
;					GB_SourceAddr----starting address of sending block
;					GB_TargetAddr----starting address of receiving block
;	Output:			none
;	Destroy:		A,X,Y
;	Stacks:			1
;==================================================================================
.PUBLIC		F_Block2Block
F_Block2Block:
		ldy		#0
?L_12Block_Loop:		
		lda		(GB_SourceAddr),y		;get data from blockX
		sta		(GB_TargetAddr),y		;transfer data to blockY
		iny
		dex								;transfer end ?
		bne		?L_12Block_Loop			;no
?L_Block_End:
		rts

⌨️ 快捷键说明

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