汇编中防止除法溢出

来源:互联网 发布:网络中介怎么做的 编辑:程序博客网 时间:2024/05/16 09:54

转载:

http://blog.csdn.net/ljianhui/article/details/17457317


看王爽的汇编语言,除法溢出这里终不能得其解,网上看到这篇文章,实在是一下子把我好久的迷惑戳开了


总结一下:

1、当8位数除以8位数时候,不能简单的将被除数放在AL中,就直接去除以8位除数,因为除法指令会将AH中无论什么毫无价值的内容都当成是被除数的最高有效8位数,所以在进行除法运算以前,必须下降AH清零,同理,16位的时候,也应该注意将DX清零。

2、利用div的功能,可以实现将高16位存放在DX中,而低16位存放在AX中,然后除以16位的除数,余数放置于DX中

这样,第二次再用刀DX的余数的时候,系统就会默认DX中的余数是高16位的,自动乘以2^16次方,然后再去加上AX中的低16位。





0 0
原创粉丝点击