⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 统计字符串中字符类型.asm

📁 随机输入一串字符串
💻 ASM
字号:
DATAS SEGMENT
    ;此处输入数据段代码
    INKEY LABEL BYTE
    MAX DB 80
    CAP DB ?
    SENTENCE DB 80 DUP(?)
    LETTER DB 0
    DIGIT  DB 0
    OTHER  DB 0
     SHOWSENTENCE DB 'INPUT SENTENCE:','$'
     SHOWDIGIT DB 'DIGIT:',10,13,'$'
     SHOWLETTER DB 'LETTER',10,13,'$'
     SHOWOTHER  DB 'OTHER',10,13,'$'
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
	 MAIN PROC FAR
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
   
    

    
    
    LEA DX,SHOWSENTENCE;显示要求用户输入关键字
    MOV AH,09H
    INT 21H
    
    
    LEA DX,INKEY;输入关键字
    MOV AH,0AH
    INT 21H
    
    MOV CH,0
    MOV CL,CAP;将关键字个数放进CL
    MOV BX,0
    LOOP1: MOV AL,SENTENCE[BX]
    CMP AL,30H;当ASCLL小于30时候,OTHER加1
    JBE OTHERCOUNT
    CMP AL,39H
    JBE DIGITCOUNT;当ASCLL大于30H小于39	H时候DIGIT加1
    CMP AL,40H;当ASCLL大于39H小于40H时候 OTHER加1
    JBE OTHERCOUNT
    CMP AL,5BH;当小于5B时候LETTER加1
    JB LETTERCOUNT
    CMP AL,60H;大于5BH小60时候 OTHER加1
    JB OTHERCOUNT
    CMP AL,7AH;大于7A时候OTHER加1
    JA OTHERCOUNT
    
    LETTERCOUNT: INC LETTER
    JMP NEXT
    OTHERCOUNT:INC OTHER
    JMP NEXT
    DIGITCOUNT:INC DIGIT
   NEXT: INC BX
   LOOP LOOP1
  
   ;;;;;
   MOV DL,0AH;换行
   MOV AH,02H
   INT 21H 
   
   LEA DX,SHOWLETTER
   MOV AH,09H
   INT 21H
   
   
   
   MOV DL,LETTER
   CALL SHOW
   
   
   
   MOV DL,0AH;换行
   MOV AH,02H
   INT 21H 
   
   LEA DX,SHOWOTHER
   MOV AH,09H
   INT 21H
   
   MOV DL,OTHER
   CALL SHOW 
   
   MOV DL,0AH
   MOV AH,02H
   INT 21H
   
   
   
   
   
   
    LEA DX,SHOWDIGIT
   MOV AH,09H
   INT 21H
   
   
    MOV DL,DIGIT
    CALL SHOW
 
    MOV AH,4CH
    INT 21H
    MAIN ENDP
   
   
   
   
   ;16进制显示;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   SHOW PROC NEAR
   
   
    MOV DH,DL
    MOV CX,2
    LOOPP: 
    ROL DH,1
    ROL DH,1
    ROL DH,1
    ROL DH,1
    
    
    
    MOV BH,DH
    AND BH,0FH
    ADD BH,30H
    CMP BH,39H
    JBE LOP
    ADD BH,07H
    LOP:MOV DL,BH
    MOV AH,02H
    INT 21H
    LOOP LOOPP
    RET
 
   
   
   SHOW ENDP
   
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
    
    
    
    
    
      
    
    
   
CODES ENDS
    END START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -