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

📄 shiyan3.asm

📁 分类统计字符个数
💻 ASM
字号:
;*******************************************************
  data segment
         letter  db 0   ;字母计数器
         digit   db 0   ;数字计数器
         other   db 0   ;其它字符计数器
         str     db 80  ;缓冲区最大字符数
                db ?   ;实际输入的字符数
                db 80 dup(?) ;从此单元开始接收输入的字符串
data ends
    ;*********************************************************
code segment
          assume cs:code,ds:data
main:
         mov ax,data
         mov ds,ax

         lea dx,str
         mov ah,0ah   ;输入字符串至缓冲区
         int 21h
        
         lea bx,str+2
         mov ch,0
         mov cl,[str+1]
        
s:    mov al,[bx]
         cmp al,'0'      ;当扫描字符为数字时
         jb others
         cmp al,'9'
         ja small
         inc digit       ;是数字时则数字计数器加1
         jmp short next  ;直接检查下一个字符

small:                 ;当扫描字符为小写字母时
         cmp al,'a'
         jb big
         cmp al,'z'
         ja big
         inc letter       ;是小写字母时则字母计数器加1
         jmp short next   ;直接检查下一个字符
big:                ;当扫描字符为大写字母时
         cmp al,'A' 
         jb others
         cmp al,'Z'
         ja others
         inc letter        ;是大写字母时也将字母计数器加1
         jmp short next    ;直接检查下一个字符

others:  inc other   ;是其它字符时则将其它字符计数器加1

next:    inc bx
            loop s

            mov ah,4ch
            int 21h

code ends
end main

⌨️ 快捷键说明

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