📄 响铃.asm
字号:
DATAS SEGMENT
BUF DB 'PIEASE INPUT A NUMBER:$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
JMP STR
ERR1: CALL ERR
STR: MOV AH,01H
INT 21H
CMP AL,0DH
JE EXIT
CMP AL,20H
JE EXIT
CMP AL,31H
JB ERR1
CMP AL,39H
JA ERR1
XOR CX,CX
AND AL,0FH
MOV CL,AL
LOOP1: CALL DELY
CALL RING
LOOP LOOP1
EXIT: MOV AH,4CH
INT 21H
CLR: PUSH AX
PUSH BX
PUSH DX
MOV AH,2
MOV BH,0
MOV DH,0
MOV DL,0
INT 10H
POP DX
POP BX
POP AX
RET
ERR: CALL CLR
PUSH AX ;错误显示
PUSH DX
LEA DX,BUF
MOV AH,09H
INT 21H
POP DX
POP AX
RET
RING: PUSH AX ;响铃一次
PUSH DX
MOV AH,02H
MOV DL,07H
INT 21H
POP DX
POP AX
RET
DELY: PUSH AX ;延时程序
PUSH BX
PUSH CX
PUSH DX
MOV AH,2CH
INT 21H
MOV BL,DH
INC BL
DELY1: MOV AH,2CH
INT 21H
CMP BL,DH
JNZ DELY1
POP DX
POP CX
POP BX
POP AX
RET
CODES ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -