当前位置: 代码迷 >> 汇编语言 >> 除法溢出的调试,该怎么解决
  详细解决方案

除法溢出的调试,该怎么解决

热度:163   发布时间:2016-05-02 04:28:58.0
除法溢出的调试
王爽除法溢出程序,调试下执行
div bh
-t                             这里执行t命令时会进入jmp 020b
                               意思就是do0start:去了
  请问怎么不进入中断处理程序呢?
 我看王爽书上230插图
-t
后再屏幕中显示 overflow,并回到dos状态,而我的进入中断处理程序中去了
请问怎么不进入中断处理程序呢?
------解决思路----------------------
哦,我查了下debug命令说
T命令逐条指令执行程序,遇到子程序(CALL)或中断调用(INT n)指令也不例外,也会进入到子程序或中断服务程序当中执行。
不知道王爽的书上是怎么做到的,等大神吧。
或者你可以试试P指令,P指令就像单步步过一样,
不过我试了下发现用div   bh产生除法溢出还是要进入中断处理程序,不过直接int   0就会直接步过。
------解决思路----------------------
试了下,dosbox 里会如楼主所碰到的那样进入到 div0 里;xp/sp3 下的debug 和 vpc2007 加载的 dos622 及 dos710 里则是显示除零错误信息退出到 dos 了。
这两类环境,单步的例程应该是类似的,毕竟 debug 都是系统的,来自一样的公司;div0# 异常,dosbox 的入口是 bios 区域,而后面那组的都是在 msdos 核心区。
  相关解决方案