例題1のプログラム(メモリブロック転送)

最終更新日:2001.09.04

by M.Yanaka

;例題1の解答例				by M.Yanaka		2000.06.22
;							       (1997.02.12)
;	メモリブロック転送
;
	ORG	8000H
START:
	LD	HL,2000H	; ソースポインタを2000H番地に初期化する.
	LD	DE,3000H	; ディスティネーションポインタを3000H番地に初期化する.
	LD	C,100		; ループカウンタを100に初期化する.
LOOP:
	LD	A,(HL)		; データを1バイトずつ転送する.
	LD	(DE),A		;	レジスタ間接メモリアドレッシングモードを使用する.
	INC	HL		; 繰り返しの次の処理のために,
	INC	DE		;	ポインタを更新する.
	DEC	C		; ループカウンタを1つだけ減らして,
	JP	NZ,LOOP		;	0になるまで,LOOPから繰り返す.
	RET