Home > Tutorial > Lesson 2

2003.10.16

CASLU & COMETU

Lesson 2 CASLUプログラムの書き方と実行のトレース


例題2解答


例題2

以下のプログラムの動作をトレースしましょう.SUBAというのは,算術減算です.以下のプログラムでは第1オペランド,第2オペランドともレジスタですから,レジスタ間の演算になります.

PRG	START
	LD	GR1,AA
	LD	GR2,BB
	SUBA	GR1,GR2
	ST	GR1,CC
	RET
AA	DC	15
BB	DC	6
CC	DS	1
	END

解答例

初期状態

   (GR1)=不定値     (GR2)=不定値    (AA)= 15(000F16)  (BB)=  6(000616) (CC)=不定値

1つめのLD命令の実行直後

   (GR1)= 15(000F16) (GR2)=不定値   (AA)= 15(000F16) (BB)=  6(000616) (CC)=不定値

(AA)の内容がGR1にロードされてGR1の中身が15になりました.

2つめのLD命令の実行直後

   (GR1)= 15(000F16) (GR2)= 6(000616) (AA)= 15(000F16) (BB)=  6(000616) (CC)=不定値

(BB)の内容がGR2にロードされてGR2の中身が6になりました.

SUBA命令の実行直後

   (GR1)= 9(000916) (GR2)= 6(000616) (AA)= 15(000F16) (BB)=  6(000616) (CC)=不定値

(GR1)=15 から (GR2)=6 が算術減算されて,(GR1)=9 となりました.

ST命令の実行直後

   (GR1)= 9(000916) (GR2)= 6(000616) (AA)= 15(000F16) (BB)=  6(000616) (CC)=9(000916)

(GR1)=9がCCに保存されて,(CC)=9となりました.