peppapig 发表于 2019-1-21 20:28:08

王爽课本十二章改写中断处理程序的求助

还没有加入改写的中断处理程序,但是没有遇到除法溢出中断,怎样才能在dosbox0.74下遇到这中断呢?
我试了一下
mov ax, 1000h
mov bh,1
div bh
在doxbox0.74下面debug的过程所运行的语句是这些,没有出错信息,像在不断的尝试。。
-r
MOV AX,1000h
-t
MOV BH,01
-t
DIV BH
-t
???
-t
IRET
-t
DIV BH
-t
???
-t
IRET
-t
DIV BH
-t
???
-t
IRET
...循环

我把除数改成了0,尝试了结果也是这样循环。
有人知道是什么原因吗?

peppapig 发表于 2019-1-21 21:10:35

可能中断处理程序是重复地尝试,所以遇到这个问题。
运行书上247页的改写中断处理程序,或者是从零开始学汇编语言视频中yanshi.asm,之后,成功地替换了中断处理程序,在屏幕中输出Welcome to fishc!

FunyFugh 发表于 2019-1-26 00:05:21

可能是因为dosbox是虚拟的dos系统,并不提供真正的0号中断服务,只是写了下个无限循环程序。

行客 发表于 2019-1-26 06:12:45

请问哪句将BH改成0了?

peppapig 发表于 2019-2-15 21:40:41

是这样的

mov ax, 1000h
mov bh,0
div bh
-r
MOV AX,1000h
-t
MOV BH,01
-t
DIV BH
-t
???
-t
IRET
-t
DIV BH
-t
???
-t
IRET
-t
DIV BH
-t
???
-t
IRET
...循环
页: [1]
查看完整版本: 王爽课本十二章改写中断处理程序的求助