ADD EAX,EBX如果只对EAX的低32位进行运算,是否会将EAX的高32位归零?
那么添加 RAX、EBX 呢?是否可以?如果是,RAX 的高 32 位是否保留?
最佳答案
ADD EAX, EBX
将 RAX 的高 32 位归零。 ADD RAX, EBX
不是有效指令。
听起来您想将 EBX
中的 32 位值添加到 RAX
中的 64 位值。为此,首先您可以进行零扩展 (MOV EBX, EBX
) 或符号扩展 (MOVSX RBX, EBX
),然后添加 RBX
> 到 RAX
。 (如果将 EBX
中的值解释为无符号,则使用零扩展,如果有符号,则使用符号扩展)。
关于assembly - 在 x64 程序集中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14815736/