📄 zhongduan.txt
字号:
.MODEL SMALL
.STACK
.DATA
COUNT DW 1
MSG DB 'The bell is ring! ',0dH,0AH,'$'
BEEP DB 14H,'$'
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV AL,1CH
MOV AH,35H
INT 21H
PUSH DS
MOV DX,OFFSET RING ;取中断向量
MOV AX,SEG RING
MOV DS, AX
MOV AL,1CH
MOV AH,25H ; 设置新的中断向量
INT 21H
POP DS
IN AL,21H
AND AL,11111110B
OUT 21H,AL ; 设置中断屏蔽位,允许定时器中断
STI ; 开中断
MOV DI,2
DELAY MOV SI,3
DELAY1 DEC DI ;产生中断位置
JNZ DELAY1
DEC DI
JNZ DELAY1
POP DX
POP DS
MOV AL,1CH
MOV AH,25H
INT 21H
MOV AX,4C00H
INT 21H
MAIN ENDP
RING PROC far
PUSH DS
PUSH AX
PUSH CX
PUSH DX
MOV AX,@DATA
MOV DS,AX
STI ; 开中断,允许更高级的中断
DEC COUNT
JNZ EXIT
MOV AH,2
MOV DL,07H
INT 21H
MOV DX ,OFFSET MSG
MOV AH,09H
INT 21H ;显示The bell is ring!
MOV DX,10
IN AL,61H
AND AL,0FCH
SOUND XOR AL,02
OUT 61H,AL
MOV CX,1400H
WAIT1 LOOP WAIT1
DEC DX
JNE SOUND ;响铃
MOV COUNT ,364 ;364 20秒
CLI ;关中断
exit POP DX
POP CX
POP AX
POP DS
IRET
RING ENDP
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -