我有这段代码:
.data
FP: .space 1048576 #firstposition of a 16x16 (w/h in pixels), 512x512 bitmap
colorred: .word 0x007f0000
.text
lw $s1, colorred
la $s2, FP
li $v0, 42
la $a1, 62
syscall
move $t0, $a0 #get a random integer and place it in t
li $v0, 42
la $a1, 62
syscall
move $t1, $a0
mul $t1, $t0, $t1
sw $s1, FP($t1)
li $v0, 10
syscall
我一直收到这个错误: 第21行:0x0040003c处的运行时异常:存储地址未在字边界上对齐0x1001020a
有时候它会起作用并在位图中画出一点点,但有时候它并没有
答案 0 :(得分:1)
这是问题所在:
sw $s1, FP($t1)
代码中没有任何内容可确保$t1
在字边界上对齐。在使用之前,您需要清除$t1
的低两位,如下所示:
li $t2, 0xfffffffc
and $t1, $t1, $t2
sw $s1, FP($t1)