⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 响铃.asm

📁 大学时学汇编做的一些小实验
💻 ASM
字号:
DATAS SEGMENT
    ;此处输入数据段代码
    BUF DB 'PIEASE INPUT A NUMBER:$'  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
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 + -