宿題 to mzp
配列a,bのサイズは8ワードとする。
配列aの初期値はすべて5とする。
配列bの初期値は1,2,3,4,5,6,7,8とする。
Cプログラムは以下のようになる。
c = 5; for(i=0;i<=7;i+=i+1)a[i]=b[i]+c;:
解答
a,bのアドレスは、それぞれ$s0,$s1に格納されているものとする。
# c = 5 addi $t0,$zero,5 # i =0 addi $t1,$zero,0 loop: # b[i] = a[i] add $t2,$t1,$t1 add $t2,$t2,$t2 lw $t3,$t2($s0) sw $t3,$t2($s1) # i <= 7 beq $t1,8,exit # i += 1 addi $t1,$t1,1 j loop exit: j exit