MIPS - 检查addiu操作的溢出

时间:2018-03-17 18:25:52

标签: assembly architecture overflow mips

对于赋值,我必须计算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指令,并假设数字已签名。我很困惑如何对有符号数字进行无符号加法,以及当结果超出范围时会发生什么。在这种情况下如何检查溢出?

0 个答案:

没有答案