demonhunter06 发表于 2013-3-9 11:08:11

16位汇编除法问题

mov dx,1h
mov ax,4a81h
mov bx,1h
div bx
程序运行后 ax dx什么结果?

NGtailang 发表于 2013-3-9 11:43:21

刚开始dx+ax存放的是被除数,dx存放高16位,ax存放低16位
div后,ax存放商,dx存放余数。
你这个除法好像溢出了

demonhunter06 发表于 2013-3-9 13:55:54

NGtailang 发表于 2013-3-9 11:43 static/image/common/back.gif
刚开始dx+ax存放的是被除数,dx存放高16位,ax存放低16位
div后,ax存放商,dx存放余数。
你这个除法好像 ...

对啊,溢出怎么办...

-搁浅的回忆 发表于 2013-3-9 14:29:24

D:\1.jpg
D:\2.jpg
mov dx,1h
mov ax,4a81h
mov bx,1h
div bx
运行后应该是:商为14A81H,余数为0
div执行后,ax存放商,dx存放余数
但是商为14A81H,ax放不下,因此产生溢出
也就是代码这样写有bug,需要该代码···

-搁浅的回忆 发表于 2013-3-9 14:30:25

真相······

lukelqz 发表于 2013-3-9 14:47:22

{:2_26:}目测楼主是想跟踪到中断里面啊。呵呵

小小小小鱼 发表于 2013-3-9 15:42:06

实验10 就有溢出怎么办的解决方法 现在说了你估计也不会懂 慢慢学吧

demonhunter06 发表于 2013-3-9 16:38:46

小小小小鱼 发表于 2013-3-9 15:42 static/image/common/back.gif
实验10 就有溢出怎么办的解决方法 现在说了你估计也不会懂 慢慢学吧

哦,我刚学到jmp!

韩冷 发表于 2013-3-11 18:12:45

刚开始dx+ax存放的是被除数,dx存放高16位,ax存放低16位div后,ax存放商,dx存放余数。

你的除法溢出了

对于除法溢出了后面你会学习到一个巧妙的办法   小甲鱼这个方法很牛    希望你接着往下看视频 具体的处理代码我就不写了

崇拜小甲鱼   

demonhunter06 发表于 2013-4-2 10:01:53

内中断解决

Win32 发表于 2013-4-16 19:15:20

我只是路过打酱油的。

风筝1025 发表于 2013-4-22 21:40:36

我只是路过打酱油的。
页: [1]
查看完整版本: 16位汇编除法问题