汇编 键盘控制响铃程序

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 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物欲添彩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值