Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 带偏移量的MIPS加载字节(lb)_Assembly_Mips - Fatal编程技术网

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

Assembly 带偏移量的MIPS加载字节(lb),assembly,mips,Assembly,Mips,我正在尝试从保存在数据中的单词加载一个字节: .data number: .word w1 正文部分: 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

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

.data
    number:
    .word w1
正文部分:

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)

它似乎确实有效,但具体如何?它只是加载存储在$a0中的地址+存储在$t1中的值吗?您想访问地址
$a0+$t1
处的内存。这段代码首先计算
$a0+$t1
,然后从内存中获取数据<代码>$t0被用作临时代码,因为它无论如何都会被覆盖。