interrupt0.asm
来自「一些小程序,关于汇编语言中程序的中断的使用,例子中包括字符输出」· 汇编 代码 · 共 74 行
ASM
74 行
.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 + =
减小字号Ctrl + -
显示快捷键?