CプログラムをMIPSアセンブリコーディングに変換してみたい
C言語プログラムは次のとおりです。
int x=2;
int index;
for(index = 0;index<4;index++){
x=x+index;
}
MIPSアセンブリコーディングに対する私の試みは次のとおりです。
li $8,4 # the limit
li $9,2 #x = 2
li $10,0 #index, starts at 0
forLoop:
slt $11,$10,$8 #if index <4 then $11 = true =1
beq $11,$0,Exit #if $11 = 0 = false means reached 4, then exit
add $9,$9,$10 #adding the index with the value in x
addi $10,1 # add 1 to the index if didnt reach the limit
j forLoop # repeat the loop
Exit:
nop #end
私は mips シミュレーターを持っていないので、これが正しいかどうか皆さんに尋ねる必要があります。プログラムを終了する方法がわかりません。nop は有効な終了計画ですか?