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

📄 cheshi.asm

📁 大学时学汇编做的一些小实验
💻 ASM
字号:
DATAAREA SEGMENT
    STR DB 50H,?,50H DUP(?)
    NUMS DB 0
    UPCASES DB 0
    LOWCASES DB 0
    OTHERS DB 0
    MSG DB "Input your words:$"                     ;屏幕提示信息
    CRLF DB 0AH,0DH,'$'
    MSGN DB 0AH,0DH,"Number:$"                      ;显示数字个数
    MSGU DB 0AH,0DH,"UpperCase:$"                   ;显示大写字母个数
    MSGL DB 0AH,0DH,"LowerCase:$"                   ;显示小写字母个数
    MSGO DB 0AH,0DH,"Others:$"                      ;显示其他字符个数
DATAAREA ENDS

STACKS SEGMENT
    DW 50H DUP(?)
STACKS ENDS

CODE SEGMENT
   ASSUME CS:CODE,DS:DATAAREA,SS:STACKS
START:
   PUSH DS
   SUB AX,AX
   PUSH AX 
   MOV AX,DATAAREA
   MOV DS,AX
   LEA DX,MSG
   MOV AH,09H                                       ; 调用DOS显示字符串
   INT 21H
   LEA DX,STR
   MOV AH,0AH
   INT 21H
   MOV CX,0
   MOV NUMS,0
   MOV UPCASES,0
   MOV LOWCASES,0
   MOV OTHERS,0
   MOV CL,STR[SI+1]
   INC SI
   INC SI
COUNT:
   MOV BL,STR[SI]
   INC SI
   CMP BL,'A'
   JB NUMBER
   CMP BL,'Z'
   JNBE LOWER
UPPER:
   INC UPCASES
   LOOP COUNT
   JMP PRINTS
NUMBER:
   CMP BL,'0'
   JB OTHERINC
   CMP BL,'9'
   JNBE OTHERINC
   INC NUMS
    LOOP COUNT
   JMP PRINTS
LOWER:
   CMP BL,'z'
   JNBE OTHERINC
   CMP BL,'a'
   JB OTHERINC
   INC LOWCASES
   LOOP COUNT
   JMP PRINTS
OTHERINC:
   INC OTHERS
   LOOP COUNT
PRINTS:
   MOV BX,0
   LEA DX,MSGN
   MOV AH,09H
   INT 21H
   MOV BL,NUMS
   CALL DISP 
   MOV BX,0 
   LEA DX,MSGU
   MOV AH,09H
   INT 21H
   MOV BL,UPCASES
   CALL DISP
  MOV BX,0
  LEA DX,MSGL
  MOV AH,09H
  INT 21H
   MOV BL,LOWCASES
   CALL DISP
   MOV BX,0
  LEA DX,MSGO
  MOV AH,09H
  INT 21H
  MOV BL,OTHERS
  CALL DISP
  MOV AH,4Ch
   INT 21H
  RET

   DISP PROC NEAR
   MOV CL,4
   MOV DL,BL
    ROL DL,CL
    AND DL,0FH
   CMP DL,0AH
   JB NEXT1
   ADD DL,37H
   JMP OK1
NEXT1:
   ADD DL,30H
OK1:
   MOV AH,02H 
   INT 21H
   AND BL,0FH
   MOV DL,BL
   CMP DL,0AH
   JB NEXT2
   ADD DL,37H
   JMP OK2
NEXT2:
   ADD DL,30H
OK2:
   MOV AH,02H
   INT 21H
   RET
DISP ENDP
   CODE ENDS
   END START
       END
 

⌨️ 快捷键说明

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