Home > Tutorial > Lesson 6

2003.11.07

CASLU & COMETU

Lesson 6 インデックス修飾


LADでレジスタ値を増やすプログラム例

このレッスンで出てきた以下のプログラム(左側)は,ADDA命令を使ってGR1の値を1だけ増やしていますが,このようなとき,右側のプログラムのように,LADを使うことができます.
SUM	START
	LAD	GR1,0		;GR1を初期化:GR1 ← 0 
	LAD	GR0,0		;GR0を初期化:GR0 ← 0 
LOOP	ADDA	GR0,DATA,GR1	;GR0にDATA[GR1]の値を加算
	ADDA	GR1,CONST1		;GR1を1増やす: GR1← (GR1) +(CONST1)
	CPA	GR1,N		;GR1を(N)と算術比較
	JMI	LOOP		;(GR1)<(N)なら,LOOPに戻る.
	ST	GR0,ZZ		;GR0をZZにストアする: ZZ ← (GR0)
	RET
ZZ	DS	1
CONST1	DC	1
N	DC	5
DATA	DC	5
	DC	3
	DC	8
	DC	9
	DC	7
	END
SUM	START
	LAD	GR1,0	
	LAD	GR0,0	
LOOP	ADDA	GR0,DATA,GR1
	LAD	GR1,1,GR1	;GR1を1増やす: GR1← (GR1) +1
	CPA	GR1,N	
	JMI	LOOP	
	ST	GR0,ZZ	
	RET
ZZ	DS	1
N	DC	5
DATA	DC	5
	DC	3
	DC	8
	DC	9
	DC	7
	END