📄 interrupt0.asm.bak
字号:
.model small
.data
signon db 13,10,'divide by zero interrupt handler installed',13,10,'$'
warn db 13,10,'Divide by zero detected.'
db 13,10,'Continue or Quit(C/Q)?$'
bad db 07,08,' ',08,'$'
crlf db 13,10,'$'
.code
.startup
mov al,0
mov ah,35h
int 21h
push es
push bx
push ds
mov dx,offset zdiv
mov ax,seg zdiv
mov ds,ax
mov ax,2500h
int 21h
mov ax,108h
mov bl,0
div bl
pop ds
lea dx,signon
mov ah,9
int 21h
pop dx
pop ds
mov ax,2500h
int 21h
.exit 0
zdiv proc far
.386
pusha
push ds
push es
sti
zd0:
mov ax,@data
mov ds,ax
mov dx,offset warn
mov ah,9
int 21h
zd1:
mov ah,1
int 21h
sub al,20h
cmp al,'C'
je zd3
cmp al,'Q'
je zd2
lea dx,bad
mov ah,9
int 21h
jmp zd0
zd2:
mov ah,4ch
int 21h
zd3:
lea dx,crlf
mov ah,9
int 21h
cli
pop es
pop ds
.386
popa
iret
zdiv endp
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -