商店词,加载词和移动词之间的区别

时间:2019-02-27 17:10:08

标签: assembly mips mips32 mips64

我是mips组装的新手。我无法确切地获得这些指示的作用,因此我尝试对其进行测试。该代码用于切换寄存器t0和t1的值。

# Perform swap.
    lw  $t3, 0($t0)
    lw  $t4, 0($t1) 
    sw  $t3, 0($t1)
    sw  $t4, 0($t0)

代码似乎很合理,将它们的值存储在t3和t4中,然后交换它们。我在这里不明白的是为什么我们不能在这里使用移动或加载单词而不是存储单词?例如,为什么代码不能像这样?

# Perform swap.
    lw  $t3, 0($t0)
    lw  $t4, 0($t1) 
    move $t1,$t3
    move $to,$t4

或者这样

# Perform swap.
lw  $t3, 0($t0)
lw  $t4, 0($t1) 
lw  $t1,0($t3)
lw $t2,0($t4)

1 个答案:

答案 0 :(得分:1)

存储字(4个字节):从寄存器中获取内容并将其存储在内存中

加载字(4个字节):严格相反,从内存位置获取值并                      将其存储在寄存器中

移动:它是从寄存器1中复制值(例如)并将其放入另一个                    注册