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
)。