我正在上一门计算机体系结构的大学类(class),所以我对汇编语言不熟悉。我的问题是,如何在不使用伪指令的情况下将以下代码从 C 语言转换为 MIPS 汇编语言?
B [8] = A [i-j]
i 和 j 被分配给寄存器 $s3 和 $s4,A 和 B 的基地址在寄存器 $s6 和 $s7 中。到目前为止,我有:
sub $t0, $s3, $s4
sll $t0, $t0, 2
lw $t1, $t0($s6) #Is this line allright?
add $s5, $t1, $zero
sw $s5, 32($s7)
我不确定在第三行中使用寄存器 $t0 作为寻址内存的偏移量。提前致谢。
最佳答案
没有。而是通过将 $t0 添加到 $s6 来计算所需的地址。
sub $t0, $s3, $s4
sll $t0, $t0, 2
add $t0, $t0, $s6
lw $t1, 0($t0)
sw $t1, 32($s7)
关于c - 将单个 C 行转换为 MIPS 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329124/