最近,我阅读了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
汇编语言的mov
(mov %b %a
)是哪种情况??
这是我的问题。
答案 0 :(得分:1)
在我使用过的每种体系结构中,MOV
都会复制值,并保持原始状态不变。有一个非常简单的理由。组装是人们工作的“基础层”,并且需要是最小的组成部分。因此,每条指令完成工作所需的工作量都很少。这样一来,发生意外行为的可能性就会减少,并且可能会有更精确的组合。