如何在Assembly 8086中实现64位64位除法? 我已经使用.386指令启用了extendeed寄存器。
答案 0 :(得分:0)
x86知道64 x 32位除法,余数和商数为32位结果 像这样
POP EBX ;DIVISOR
POP EDX ;MSW OF DIVIDEND
POP EAX ;LSW OF DIVIDEND
DIV EBX ;64/32 BIT DIVIDE
PUSH EDX ; remainder
PUSH EAX ; quotient
您不希望除以不适合32位的64位数字,因为这样会使精度至少降低10位。
如果你坚持不懈, 您可以据此构成64/64分度,然后分析您是否真的提出了。
如果您知道如何将2位十进制数除以2位十进制数(长除法),则可以使用上述方法完成将2位2 ^ 32基数除以2位2 ^ 32个基数。留给读者练习。