zoukankan      html  css  js  c++  java
  • 汇编语言统计输入中各字符出现的次数

    1. DATA SEGMENT  
    2. BUFFER DB 100  
    3. DB ?  
    4. DB 100 DUP(?)  
    5. CHARS DB 'INPUT:$' 
    6. DATA ENDS  
    7. CODE SEGMENT  
    8.      ASSUME CS:CODE,DS:DATA  
    9. MAIN PROC FAR  
    10.      PUSH DS  
    11.      SUB AX,AX  
    12.      PUSH AX  
    13.      MOV AX,DATA  
    14.      MOV DS,AX  
    15. START: MOV DX,OFFSET CHARS  
    16.      MOV AH,9  
    17.      INT 21H  
    18.      MOV DX,OFFSET BUFFER  
    19.      MOV AH,0AH  
    20.      INT 21H  
    21.      MOV DL,0AH  
    22.      MOV AH,2  
    23.      INT 21H  
    24.      MOV DL,0DH  
    25.      MOV AH,2  
    26.      INT 21H  
    27.      MOV SI,OFFSET BUFFER  
    28.      INC SI  
    29.      MOV AL,[SI]  
    30.      INC SI  
    31.      MOV DL,[SI]  
    32.      MOV DH,[SI]  
    33.      MOV DI,SI  
    34.      MOV CL,AL  
    35.      MOV CH,0  
    36.      MOV BL,1  
    37.      MOV BH,0  
    38.      DEC CL  
    39. GO1: INC SI  
    40.      CMP DL,[SI]  
    41.      JNE TO1  
    42.      INC BL  
    43. TO1: LOOP GO1  
    44.      CALL OUTPUT 
    45.      MOV BL,1  
    46. TO5: INC DI  
    47.      DEC AL  
    48.      CMP AL,1  
    49.      JE TO3  
    50.      CMP DH,[DI]  
    51.      JE TO5  
    52.      MOV DL,[DI]  
    53.      MOV SI,DI  
    54.      MOV CL,AL  
    55.      MOV CH,0  
    56.      DEC CL  
    57. GO2: INC SI  
    58.      CMP [SI],DL  
    59.      JNE TO2  
    60.      INC BL  
    61.      MOV [SI],DH  
    62. TO2: LOOP GO2  
    63.      CALL OUTPUT 
    64.      MOV BL,1  
    65.      JMP TO5  
    66.  
    67. TO3: CMP DH,[DI]  
    68.      JE TO4  
    69.      MOV DL,[DI]  
    70.      MOV BL,1  
    71.      CALL OUTPUT 
    72. TO4: RET  
    73. MAIN ENDP   
    74.  
    75. ;?-------------------------  
    76. OUTPUT PROC  
    77.      PUSH AX  
    78.  
    79.      PUSH CX  
    80.      PUSHF  
    81.      MOV AH,2  
    82.      INT 21H  
    83.      MOV DL,20H  
    84.      MOV AH,2  
    85.      INT 21H  
    86.      MOV AL,BL  
    87.      MOV AH,0  
    88.      MOV CL,10  
    89.      DIV CL  
    90.      ADD AH,30H  
    91.      ADD AL,30H  
    92.      MOV CH,AH  
    93.      MOV DL,AL  
    94.      MOV AH,2  
    95.      INT 21H  
    96.      MOV DL,CH  
    97.      MOV AH,2  
    98.      INT 21H  
    99.      MOV DL,0AH  
    100.      MOV AH,2  
    101.      INT 21H  
    102.      MOV DL,0DH  
    103.      MOV AH,2  
    104.      INT 21H  
    105.      POPF   
    106.      POP CX   
    107.      POP AX  
    108.      RET  
    109. OUTPUT ENDP  
    110. CODE ENDS  
    111.     END MAIN  
    112.  
    113. ;?-----------------  
    114.  

    本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/709525

  • 相关阅读:
    LoadRunner系统资源监视
    Loadrunner web_url函数学习(转贴)
    Chrome的开发者工具(Chrome Developer Tools)
    浏览器对同一域名进行请求的最大并发连接数(转贴)
    转贴---Performance Counter(包含最全的Windows计数器解释)
    去掉html代码中多余琐碎的标签
    你永远不知道什么地方有笔误
    office2016开发者选项在哪?
    [VBA]检测一个中文字符串是否包含在另一个字符串中
    电子发票怎么开
  • 原文地址:https://www.cnblogs.com/umgsai/p/3908225.html
Copyright © 2011-2022 走看看