Liny_@NotePad

沉迷ACG中

选择结构练习

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

1、从键盘输入一字符,判断该字符是小写字母、大写字母、数字还是其它字符。若输入为小写字母,则显示“You Input a Lowercase Letter!”;若输入为大写字母,则显示“You Input a Uppercase Letter!”;若输入为数字,则显示“You Input a Digit!”;若输入为其它字符,则显示“You Input Other Letter!”。

  1. DATAS SEGMENT
  2.     INFOR_I DB 'please input a char:$'
  3.     INFOR_L DB 0AH,0DH,'You Input a Lowercase Letter!$'
  4.     INFOR_U DB 0AH,0DH,'You Input a Uppercase Letter!$'
  5.     INFOR_N DB 0AH,0DH,'You Input a Digit!$'
  6.     INFOR_O DB 0AH,0DH,'You Input Other Letter!$' 
  7. DATAS ENDS
  8.  
  9. CODES SEGMENT
  10.     ASSUME CS:CODES,DS:DATAS
  11. START:
  12.     MOV AX,DATAS
  13.     MOV DS,AX
  14.    
  15.     MOV DX,OFFSET INFOR_I
  16.     MOV AH,9H
  17.     INT 21H
  18.    
  19.     MOV AH,1
  20.     INT 21H
  21.    
  22.     CMP AL,'0'
  23.     JL INPUT_OTHER
  24.    
  25.     CMP AL,'9'
  26.     JNG INPUT_NUMBER
  27.    
  28.     CMP AL,'A'
  29.     JL INPUT_OTHER
  30.    
  31.     CMP AL,'Z'
  32.     JNG INPUT_UPPER
  33.    
  34.     CMP AL,'a'
  35.     JL INPUT_OTHER
  36.    
  37.     CMP AL,'z'
  38.     JNG INPUT_LOWER
  39.     JG INPUT_OTHER
  40.    
  41. INPUT_LOWER:
  42.         MOV DX,OFFSET INFOR_L
  43.     JMP RESULT
  44.        
  45. INPUT_UPPER:
  46.         MOV DX,OFFSET INFOR_U
  47.     JMP RESULT
  48.        
  49. INPUT_NUMBER:
  50.         MOV DX,OFFSET INFOR_N
  51.     JMP RESULT
  52.            
  53. INPUT_OTHER:
  54.         MOV DX,OFFSET INFOR_O
  55.     JMP RESULT
  56.        
  57. RESULT:
  58.     MOV AH,9H
  59.     INT 21H
  60.  
  61.     MOV AH,4CH
  62.     INT 21H
  63. CODES ENDS
  64.     END START

 

2、在屏幕上显示“Are you really want to exit?”,然后从键盘输入一字符,若输入“Y”或“y”,则显示“Thank you for your using!”;若输入“N”或“n”,则显示“Let’s continue!”;若输入其它字符,则显示“You press an error key!”后程序结束。
  1. DATAS SEGMENT
  2.     INFOR DB 'Are you really want to exit?$'
  3.     INFOR_Y DB 0AH,0DH,'Thank you for your using!$'
  4.     INFOR_N DB 0AH,0DH,'Lets continue!$'
  5.     INFOR_O DB 0AH,0DH,'You press an error key!$'
  6. DATAS ENDS
  7.  
  8. CODES SEGMENT
  9.     ASSUME CS:CODES,DS:DATAS
  10. START:
  11.     MOV AX,DATAS
  12.     MOV DS,AX
  13.    
  14.     MOV DX,OFFSET INFOR
  15.     MOV AH,09H
  16.     INT 21H
  17.    
  18.     MOV AH,01H
  19.     INT 21H
  20.    
  21.     AND AL,11011111B
  22.    
  23.     CMP AL,01011001B
  24.     JE INPUT_Y
  25.    
  26.         CMP AL,01001110B
  27.         JE INPUT_N
  28.         
  29.     JMP INPUT_O
  30.    
  31. INPUT_Y:
  32.         MOV DX,OFFSET INFOR_Y
  33.         JMP RESULT
  34.    
  35. INPUT_N:
  36.         MOV DX,OFFSET INFOR_N
  37.         JMP RESULT
  38.        
  39. INPUT_O:
  40.         MOV DX,OFFSET INFOR_O
  41.             
  42. RESULT:
  43.         MOV AH,09H
  44.         INT 21H
  45.    
  46.     MOV AH,4CH
  47.     INT 21H
  48. CODES ENDS
  49.     END START

登录 *


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