题目

编程:编写一个被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

实现效果