-
89 votesanswersviews
为什么32位寄存器上的x86-64指令归零整个64位寄存器的上半部分?
在x86-64 Tour of Intel Manuals中,我读到了 也许最令人惊讶的事实是,诸如MOV EAX,EBX之类的指令会自动将RAX寄存器的高32位归零 . 同一来源引用的英特尔文档(3.4.1.1 64位手动基本架构中的通用寄存器)告诉我们: 64位操作数在目标通用寄存器中生成64位结果 . 32位操作数生成32位结果,在目标通用寄存器中零扩展为64位结果 . 8位和16...