short int A = 5; short int Y = 0; short int I; main() { for(I = 0; I < 3; I++){ Y += A; } }
上記のプログラムに対応するコードです
繰り返し前に、演算で使う定数をレジスタへ設定しています。また、繰り返しの中では主記憶域を変更しないように作っています。
←少し速いはず!
なお、ADDA命令は、レジスタ内容を加算する以外に、メモリ内容を直接加算でき、今回はそれを使っています。
ADDA GR2, A で、Aのラベル記憶域の内容5をGR2に足し込んでいます。
問題 上記のfor文の条件を I <= 3 に変更せよ。 ←わからない場合は、クリック