零扩展立即数以适合寄存器

问题描述

将立即数添加到寄存器中时,汇编程序如何首先将寄存器清零?例如,如果我的注册值为:

%rax 0x00007fffffffe450

我这样做:

mov $1,%rax

它有效地执行以下任一操作:

movzbq $1,%rax

或者:

mov $0x0000000000000001,%rax

因为它清除了适合寄存器的高位。这是由汇编程序或cpu来完成的,还是在哪里/如何发生的?


作为一种元问题(与上面的问题没有直接关系),我确实很难寻找重复的asm问题,因为标题似乎非常具体。搜寻这些内容的最佳方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)