MIPS“未对齐地址,异常5”错误

时间:2013-01-03 10:27:42

标签: assembly mips spim

我是使用SPIM MIPS模拟器的菜鸟 当我尝试将26个单词的数组初始化为0时,我在标题X中得到错误26次。我已将问题隔离为存储字操作sw $t0, 0($s3),但不知道我做错了什么。

代码:

.data  
theArray: .space 104  
theArraySz: .word 26  
.text  
.globl main  
main:  
move    $t0, $zero  
la      $s3, theArray  
lw      $s4, theArraySz      
add     $t2, $zero  
initLoop:  
beq     $t2, $s4, initEnd       
sw      $t0, 0($s3)    
addi    $s3, $s3, 4        
addi    $t2, $t2, 1        
j       initLoop   
initEnd:        
jr $ra

1 个答案:

答案 0 :(得分:2)

确保theArray的地址与32位字边界对齐。如果您能够单步执行该程序,则可以检查地址,并在第一次$s3指令后检查la的值。

有关对齐的文档以及可用于强制对齐的.align指令,请参阅this wiki