编写0号中断的处理程序
一、 实验目的
- 理解什么叫中断信息。
- 学会独立编写中断处理程序。
二、实验内容或主要代码
编写0号中断的处理程序,使得除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回到DOS。
三、 实验结果或截图
assume cs:code
code segment
start:
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 word ptr es:[04],200H
mov word ptr es:[04+2],0
mov ax,1000H
mov bl,1H
div bl
mov ax,4c00h
int 21h
do0:jmp short do0start
db ‘divide error!’
do0start:
mov ax,cs
mov ds,ax
mov si,202h
mov ax,0B800h
mov es,ax
mov di,12160+362
mov cx,13
s: mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
do0end:nop
code ends
end start
四、 实验分析或体会
通过此次实验我学会了编写简单的中断处理程序,了解到了一些关于中断处理的知识,如:“终端信息”是要求CPU马上进行某种处理,并向所要进行的该种处理提供必备的参数的通知信息。我们将编写的中断处理程序存放到0000:0200处,一般情况下,该内存处的256个字节的空间所对应的中断向量表为空,可供我们使用。