movl 是否保持源寄存器的原始值?

Does movl maintain original value of source register?

注意英特尔 x86。

在寄存器上调用 movl 后,像这样说:

movl    %eax,-8(%ebp)

%eax的原始值还在%eax中还是只在内存中的-8(%ebp)处?

mov 指令根本不会更改源代码,因此对您的问题的简短回答是 "Yes"。 %eax 的原始值仍在 %eax 中,就好像什么都没发生一样。