“汇编语言”的“移动”是指复制还是移动?

时间:2019-09-13 01:34:43

标签: c++ assembly move mov

最近,我阅读了std :: mov的C ++,并以标题为题。

假设初始值如下:

int a= 1;
int b= 2;

我认为:

情况1

移动后(a <-b):

a= 2 , b=  

b为空,因为已移动

情况2,

复制后(a <-b):

a=2  , b=2 

我知道C ++的std :: move是情况1

汇编语言的movmov %b %a)是哪种情况?

这是我的问题。

1 个答案:

答案 0 :(得分:1)

在我使用过的每种体系结构中,MOV都会复制值,并保持原始状态不变。有一个非常简单的理由。组装是人们工作的“基础层”,并且需要是最小的组成部分。因此,每条指令完成工作所需的工作量都很少。这样一来,发生意外行为的可能性就会减少,并且可能会有更精确的组合。