Liny_@NotePad

沉迷ACG中

循环结构、选择结构练习

试编写一程序,要求能从键盘接收一个个位数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

选择结构练习

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

第一个asm……好囧

这真是一门可怕的学科 TAT

编写程序实现:从键盘输入0~9中任意一个自然数,将其平方值在屏幕上显示出来(要求使用查表法)。

关于autorun.inf文件夹

前段时间发现电脑里面有这个文件夹,很多人电脑里面也都有这个文件夹。但是这个文件夹不是病毒!!!autorun.inf文件才是病毒。。
电脑里的autorun.inf文件夹应该是杀毒软件或者防护软件所留下的免疫产物。绝对不是病毒!

这个文件夹的产生应该是由系统的杀毒软件或者防毒产品所带来的免疫系统。 目的就是通过建立autorun.inf这个文件夹,来防止autorun.inf这个文件的写入!
如果要删除这个文件夹方法如下:
假设autorun.inf文件夹是在D盘,操作如下: 打开“开始”,选择“运行”,输入“CMD”,打开命令行窗口,在命令行窗口中输入一下命令:
第一步:输入D:     然后回车
第二步:输入rmdir /s autorun.inf     然后回车
第三步:当出现提示时,按“Y”,并回车
其他盘照此方法执行即可!!