对于赋值,我必须计算Fibonacci数并将它们存储到数组中,直到最近的Fibonacci数创建溢出。以下是我到目前为止的情况:
.data
FBN: .space 400
.align 2
NUM_FBN: .space 4
.align 2
.text
.globl main
main:
la $s0, FBN
li $t0, 0 #Fib(0)
li $t1, 1 #Fib(1)
sw $t0, 0($s0)
sw $t1, 4($s0)
li $t2, 1 # index of most recently computed fib number
loop:
lw $t0, 0($s0)
lw $t1, 4($s0)
addu $t3, $t1, $t2
此时,如果没有溢出,我将$ t3存储到8($ s0),增加数组源地址并继续循环。但是,我们只是指示使用addiu或addu指令,并假设数字已签名。我很困惑如何对有符号数字进行无符号加法,以及当结果超出范围时会发生什么。在这种情况下如何检查溢出?