难以理解MOV概念(汇编语言)

时间:2014-10-09 06:06:49

标签: assembly move mov

我试图为我的CENG课程破译一段代码,而且我遇到了一些让我感到困惑的领域。代码如下($表示十六进制):

C EQU $202200
ORG $201150
A DC.W 639
B DC.W -215
ORG $201200
MOVE A,R0    <---??
ADD B,R0     <---??
MOVE R0,C    

标记的行是我在解密时遇到的问题。我知道我创建一个等于$ 202200的变量C,移动起始内存,创建变量A和B并给它们值,然后再次移动起始内存。这是我被卡住的地方。我会支持MOV R0,A,它只是将A的值放入寄存器R0,但是如何将寄存器放入变量?这对我来说没有意义,谷歌正在填补空白,任何人都可以帮助我理解这一点吗?感谢。

2 个答案:

答案 0 :(得分:0)

mov指令将存储在一个位置(寄存器,存储器等)中的复制到另一个位置。在您的代码段中,它看起来像是使用约定:

INSTRUCTION <source>, <destination>

所以行:

MOVE A, R0
ADD B, R0

平均:

  • 将存储在变量A指示的内存位置的值复制到寄存器R0中。
  • 将存储在变量B指示的内存位置的值添加到寄存器R0中的值,将结果存储在R0

答案 1 :(得分:0)

谢谢你,但我认为并非如此。如果这是真的,那么底线给出了完全相同的问题。 MOV A,R0和MOV R0,C。因此,其中一个需要反转,那又是什么意思?

我相信这是ARM。