0号中断处理程序

在除法溢出时屏幕打印 "divide error!"

 

安装程序:

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 ax,0
    mov es,ax
    mov WORD ptr es:[0*4],200h
    mov WORD ptr es:[0*4+2],0
    
    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,12*160+36*2
    
    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

 

除法溢出程序1:

 

assume cs:code

code segment
start:
    mov ax,1000h
    mov bh,1
    div bh
    mov ax,4c00h
    int 21h
    
    
code ends
end start

 

 

 

除法溢出程序2,中断例程:

assume cs:code

code segment
start:
    int 0h
    mov ax,4c00h
    int 21h
    
    
code ends
end start

 

 

结果:

 

posted @ 2020-09-30 13:18  LuoSpider  阅读(160)  评论(0编辑  收藏  举报