現在、数学シーケンスを生成するための mips プログラムを開発しようとしています。ただし、PC で Mips 例外が発生し続けます。
terms:
addi $sp, $sp, -12 #decrement the stack pointer by 12
sw $ra, 8($sp)
sw $s1, 4($sp)
sw $s0, 0($sp)
add $s0, $a0, $0
li $s1, 16
la $a0, sequence # display sequence
li $v0, 4
syscall
print:
add $a0, $zero, $s0
li $v0, 1
syscall
addi $s1, $s1, -1
beq $s1, $0, quit
addi $a0, $s0, 0
jal initiliazeCompute
addi $s0, $v0, 0
j print
quit:
la $a0, endline
jr $ra
initiliazeCompute:
addi $v0, $0, 0
li $t2, 10
Compute:
rem $t1, $a0, $t2 # $t1 is units digit of current term
mul $t1, $t1, $t1 # square that value
add $v0, $v0, $t1 # add this value to next term
div $a0, $a0, $t2 # discard units digit of current term
jr $ra # return to calling routine