汇编如何运用更改的中断程序

来源:百度知道 编辑:UC知道 时间:2024/05/29 19:34:03
现在我将int 0 的中断处理程序该修改了,如何来检测这种修改是否正确呢?也就是如何来调试运行编的程序。
像我编写了一个这样的程序:
assume cs:codes
data segment
db "Welcome to masm!"
data ends
codes segment
mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb

mov ax,0
mov es,ax
mov word ptr es:[0],200h
mov word ptr es:[2],0
mov ax,data
mov ds,ax
int 0
mov ah,4ch
int 21h

do0:push dx
mov ah,2
mmov dh,10
mov dl,10
mov bh,0
int 10h
mov dx,0
mov ah,9
int 21h
iret
do0end: nop

这个程序就是我将int 0中的例程给改了,让它显示字符串。但是他不能工作啊!
我哪弄错了吗?帮我看看吧!

作一个能产生溢出的除法,如,
MOV AX,203H
MOV BL,1
DIV BL
执行这3条指令,便会产生溢出,CPU会自动执行int 0 中断处理程序,这样就能测试你编的程序了。

补充回答:你说清楚了,我也看明白了。
其实,我上面说的是宏观测试,也可称作是外测试。你是想微观测试,也就是单步跟踪。既然能改中断,单步跟踪测试应该没问题吧,DEBUG调试程序不会用?中断入口地址找不到?

只要你知道它的位置,就可以跟踪了!