Liny_@NotePad

沉迷ACG中

循环结构、选择结构练习

YOYO posted @ 2008年12月06日 08:06 in 【杂物箱】乱七八糟 with tags 汇编 , 2105 阅读

试编写一程序,要求能从键盘接收一个个位数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,2000H
  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,3600H
  65.        
  66. WAITFOR2:
  67.         LOOP WAITFOR2
  68.         POP CX
  69.         RET
  70.  
  71. WAITTIME2 ENDP
  72.  
  73. CODES ENDS
  74.     END START

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter