0

我正在尝试替换字符串中的结果,但我不能。

addu    $t1, $t1, -1
lb  $t7, ($t1)
addu    $t1, $t1, 2
lb  $t8, ($t1)
xor $t6, $t7, $t8
addu    $t1, $t1, -2

beq $t6, 0, add_zero
beq $t6, 1, add_one

add_zero:
la  $t6, 48
sb  $t6, ($t1)

j   fourth_phase

add_one:
la  $t6, 49
sb  $t6, ($t1)  
j   fourth_phase

我检查了 t6 是否具有真实价值。

t6 应该是 t1 的第一个元素,并且 t1[1] 和 t1[2] 应该被删除。

当我执行此代码时,我收到此错误。

Memory address out of bounds        

我怎样才能做到这一点?

4

1 回答 1

0

我修改了这些部分

la  $t6, 48
sb  $t6, ($t1) 
...
la  $t6, 49
sb  $t6, ($t1) 

像这样

addu    $t6, $t6, 48
sb      $t6, ($t1)

问题解决了。

于 2013-11-09T12:02:04.040 回答