3

我正在尝试将 .asciiz 参数加载到寄存器中,但出现错误,
代码:

.data


    stp:
    .asciiz "stop"

.text

.globl main

main:

la $t1, stp
lw $t1, 0($t1)

我得到一个例外: inst/data fetch 中未对齐的地址,

有没有办法将 .ascii 作为单词加载到寄存器中?

我想将输入变量与保存在 stp 中的文本进行比较,
我做错了什么?

4

1 回答 1

4

您可能分别需要符号或零扩展字节大小的负载lb或指令。lbu

如果要将所有 4 个字符作为一个单词加载,则通过添加适当的汇编程序指令(例如.align 2)确保字符串对齐。或者,使用ulw汇编程序将转换为正确序列的伪指令。

于 2012-11-25T21:19:55.667 回答