linux nasm程序集是什么(注册):(注册)是什么意思?

时间:2012-10-15 10:56:28

标签: linux assembly nasm division

我一直在寻找NASM教程,我注意到在所有对DIV指令的引用中,在讨论32位除法时,请说出以下内容:

DIV ECX    ; EDX:EAX / ECX

EDX:EAX是什么意思?为什么两个寄存器被一个寄存器分开?

提前致谢

1 个答案:

答案 0 :(得分:4)

这是一个跨区寄存器或寄存器对,在这种情况下用于64位数学运算(所以你可以使用64位商,IIRC这是为了允许任意点算术)。 EDX包含高DWORD和符号,EAX低DWORD。

相同的逻辑用于返回64位结果。此外,应该注意的是,这与NASM无关,它是x86架构的一部分(在使用16位指令时也定义了32位对,如DX:AX)。