assembly - 带偏移量的 MIPS 加载字节 (lb)

标签 assembly mips

我正在尝试从保存在数据中的单词中加载一个字节:

.data
    number:
    .word w1

.text 的一部分:
stringlength:

    li $t2, 10
    li $t1, -1

    la $a0, number

loop:

    addiu $t1, $t1, 1

    lb $t0, $t1($a0)
    bne $t0, $t2, loop

    move $v0, $t1

jr $ra

*代码未完成

我的问题是,
lb $t0, $t1($a0)

我正在尝试实现一个以 1 递增的动态偏移量,以检查字符串中的每个字节,以检查它是否等于 10(dec)。

QtSPIM 引发有关此行的异常语法错误,

这样做的正确方法是什么?

最佳答案

没有这种寻址方式,你只需要通过添加偏移量自己计算地址,例如:

add $t0, $t1, $a0
lb $t0, ($t0)

关于assembly - 带偏移量的 MIPS 加载字节 (lb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13534616/

相关文章:

mips - 'alignment of memory operands' 如何帮助 MIPS 流水线化?

assembly - 什么是可重定位和绝对机器代码?

optimization - cuda - 最小的例子,高寄存器使用率

c++ - 跟踪/跟踪在不同寄存器/内存位置传递的值?

assembly - "shift operates on bits individually"是什么意思?

linux - Zeromq库交叉编译配置错误,不支持的系统:elf

c - 用于将 C 代码转换为 MIPS 汇编代码的 gcc 命令

c++ - 如何向 MIPS 中的函数添加 4 个以上的参数?

assembly - ARM汇编中的ADRP和ADRL指令的语义是什么?

linker - MIPS、ELF 和部分链接