0

現在、数学シーケンスを生成するための 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
4

1 に答える 1