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

📄 统计字符个数.asm

📁 三个简单的基本汇编程序分别实现:双精度加法
💻 ASM
字号:
DATAAREA SEGMENT
STR DB 50H,?,50H DUP(?)
NUMS DB 0
UPCASES DB 0
LOWCASES DB 0
OTHERS DB 0
MSG DB "Enter your keyword:$"
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
      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 + -