1
我已经在NASM教程环顾四周,我已经注意到,在所有引用DIV指令,讨论32位除法的时候,说的线沿线的东西:linux nasm程序集是什么(注册):(注册)是什么意思?
DIV ECX ; EDX:EAX/ECX
什么的EDX: EAX是什么意思?为什么两个寄存器被一个寄存器分开?
预先感谢
我已经在NASM教程环顾四周,我已经注意到,在所有引用DIV指令,讨论32位除法的时候,说的线沿线的东西:linux nasm程序集是什么(注册):(注册)是什么意思?
DIV ECX ; EDX:EAX/ECX
什么的EDX: EAX是什么意思?为什么两个寄存器被一个寄存器分开?
预先感谢
这是一个跨区寄存器或寄存器对,其用于64位数学在这种情况下(因此可以使用64位的商,IIRC其中加入以允许任意点arithmatic)。 EDX
包含高DWORD和符号,EAX
低DWORD。
同样的逻辑用于返回64位结果。另外,应该注意的是,这与NASM无关,它是x86架构的一部分(它也定义了32位对,如使用16位指令时的DX:AX
)。