题目
编程:编写一个被0除的中断处理程序并测试,当被0除时,显示一个提示信息“Divided by Zero”,中断类型号为0。
( 可以参考p253页的代码)
效果图
实现代码
.model small
.code
start:
mov ax, cs
mov ds, ax
mov si, offset do0
mov ax, 0
mov es, ax
mov di, 200h
mov cx, offset do0_end - do0
cld
rep movsb
mov ax, 0
mov es, ax
mov word ptr es:[0*4], 200h
mov word ptr es:[0*4+2], 0
int 0 ; 抛出异常
mov ax, 4c00h
int 21h
do0:
jmp short do0start
string:
db 'Divided by Zero$'
do0start:
mov dx, offset string ; 输出字符串
mov ah, 09h
int 21h
mov dl, 10 ; 换行
mov ah, 02h
int 21h
mov ax, 4c00h
int 21h
do0_end:
nop
end start