+ -
当前位置:首页 → 问答吧 → 哪位帮忙看看为什么会出现这个错误不应该啊

哪位帮忙看看为什么会出现这个错误不应该啊

时间:2011-06-20

来源:互联网

我按书上的需求把数字打印在屏幕,暂且先不管能不能输出正确,
现在问题是我的代码执行到第二次除以10的时候会报错
mov dx,0
mov bx,10

dtoc_s: div bx
add dl,30h
mov [si],dl
div bx  
<执行这个div bx时;错误信息(Your program caused a divide overflow error. Ifthe problem persists, contact your program vendor.)>
add dl,30h
mov [si+1],dl

我在网上查下有人说是除0问题(暂时不完全确定是不是除0问题),可我那个BX明明是10啊,而且第一次除以BX就可以,第二次就报错了

作者: lc316546079   发布时间: 2011-06-20

楼主你第一次做除法时ax是多少啊?因为div bx时,以dx:ax作为被除数,bx作为除数的。商保存在ax中,余数保存在dx中。

作者: haojiahuo50401   发布时间: 2011-06-20