"mov" of "assembly language" 是复制还是移动?
"mov" of "assembly language" meant copy or move?
最近看了std::mov的C++,想了一个问题作为题目
假设初始值如下:
int a= 1;
int b= 2;
我认为:
情况一,
移动后 (a <- b):
a= 2 , b=
b 为空,因为已移动
情况二,
复制后 (a <- b):
a=2 , b=2
我知道std::movC++的e是情况1
汇编语言的mov
(mov %b %a
)是什么情况。?
这是我的问题。
在我使用过的每个架构中,MOV
复制值,并保持源不变。这有一个非常简单的推理。组装是人们工作的"base-level",需要是最小的组成部分。因此,每条指令都尽可能少地完成工作。这样,出现意外行为的可能性就会降低,并且可能会出现更精确的组合。
最近看了std::mov的C++,想了一个问题作为题目
假设初始值如下:
int a= 1;
int b= 2;
我认为:
情况一,
移动后 (a <- b):
a= 2 , b=
b 为空,因为已移动
情况二,
复制后 (a <- b):
a=2 , b=2
我知道std::movC++的e是情况1
汇编语言的mov
(mov %b %a
)是什么情况。?
这是我的问题。
在我使用过的每个架构中,MOV
复制值,并保持源不变。这有一个非常简单的推理。组装是人们工作的"base-level",需要是最小的组成部分。因此,每条指令都尽可能少地完成工作。这样,出现意外行为的可能性就会降低,并且可能会出现更精确的组合。