📄 中断.asm
字号:
.model small
.data
keep21 db ?
keepa1 db ?
buf db 'waiting for a monment',0dh,0ah,'$'
.stack
.code
start:mov ax,@data
mov ds,ax
cli
mov ah,35h
mov al,0fh
int 21h
push bx
push es
push ds
mov ax,seg intproc
mov ds,ax
mov dx,offset intproc
mov ah,25h
mov al,0fh
int 21h
pop ds
in al,21h
mov keepa1,al
and al,07fh
out 0a1h,al
and al,0f9h
out 21h,al
sti
wait:
int 0bh
cmp bx,0001h
jnb wait
mov al,buf
out 21h,al
push ds
push dx
mov al,keep21
mov ds,ax
mov dl,keepa1
mov ah,25h
mov al,0bh
int 21h
pop dx
pop ds
mov ah,4ch
int 21h
mov al,keep21
out 21h,al
pop ds
pop dx
mov ah,25h
mov al,0fh
int 21h
mov ah,4ch
int 21h
;中断服务程序
intproc proc far
sti
push ax
push bx
push ds
mov ax,@data
mov ds,ax
mov ax,@data
mov ds,ax
mov dx,offset buf
mov ah,09h
int 21h
mov al,20h
out 20h,al
out 0a0h,al
pop ds
pop bx
pop ax
iret
intproc endp
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -