循环结构、选择结构练习

 

试编写一程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07H)。

  1. DATAS SEGMENT
  2.     INFOR DB 'please input the number(0~9):$'
  3.     RING DB 0AH, 0DH, 'RING~$'
  4. DATAS ENDS
  5.  
  6. CODES SEGMENT
  7. MAIN PROC FAR
  8.     ASSUME CS:CODES, DS:DATAS
  9. START:
  10.     PUSH DS
  11.     SUB AX, AX
  12.     PUSH AX
  13.     MOV AX,DATAS
  14.     MOV DS, AX
  15.    
  16.     MOV DX, OFFSET INFOR
  17.     MOV AH, 09H
  18.     INT 21H
  19.    
  20.     MOV AH, 01H
  21.     INT 21H
  22.     SUB AL,30H
  23.     MOV BL, AL
  24.    
  25.     CMP BL, 0
  26.     JLE EXIT
  27.    
  28.     CMP BL, 9
  29.     JG EXIT
  30.  
  31. RINGUP: 
  32.         CALL WAITTIME
  33.  
  34.         MOV AH, 02H
  35.         MOV DL, 07H
  36.         INT 21H
  37.  
  38.         MOV DX, OFFSET RING
  39.         MOV AH, 09H
  40.         INT 21H
  41.        
  42.         DEC BL
  43.         JNZ RINGUP
  44.        
  45. EXIT:   
  46.         MOV AH,4CH
  47.         INT 21H
  48. MAIN ENDP
  49.  
  50. WAITTIME PROC
  51.         PUSH CX
  52.         MOV CX, 2 000H
  53.        
  54. WAITFOR:
  55.         CALL WAITTIME2
  56.         LOOP WAITFOR
  57.         POP CX
  58.         RET
  59.  
  60. WAITTIME ENDP
  61.  
  62. WAITTIME2 PROC
  63.         PUSH CX
  64.         MOV CX, 36 00H
  65.        
  66. WAITFOR2:
  67.         LOOP WAITFOR2
  68.         POP CX
  69.         RET
  70.  
  71. WAITTIME2 ENDP
  72.  
  73. CODES ENDS
  74.     END START
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值