商店词,加载词和移动之间的差异

问题描述 投票:0回答:1

我是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)
assembly mips mips32 mips64
1个回答
1
投票

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

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

移动:它是来自寄存器1的复制值(例如)并将其放入另一个寄存器

© www.soinside.com 2019 - 2024. All rights reserved.