我正在尝试将.asciiz参数加载到寄存器中,我收到错误,
代码:
.data
stp:
.asciiz "stop"
.text
.globl main
main:
la $t1, stp
lw $t1, 0($t1)
我得到一个例外:inst / data fetch中的未对齐地址,
有没有办法将.ascii作为单词加载到寄存器?
我想将输入变量与stp中保存的文本进行比较,
我做错了什么?
答案 0 :(得分:4)
对于符号或零扩展字节大小的加载,您可能需要lb
或lbu
指令。
如果要将所有4个字符作为单词加载,请确保通过添加适当的汇编程序指令(例如.align 2
)来对齐字符串。或者,使用您的ulw
伪指令汇编程序将变为正确的顺序。