统计数字,字母及其他符号的数量

从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类计数,最后显示这三类的计数结果(用简化段源程序结构)。

.MODEL SMALL  ;定义程序的存储模式,小型程序一般采用小模式small

.DATA
     string db 100,?,100 dup(0) 
     a  dw 0
     b dw 0
     d dw 0
     h1 db "please input the string:",'$'

.STACK
     z dw 1000 dup(0)

.CODE
.STARTUP  ;程序入口点,自动初始化DS、SS
 
     mov ah,09h
     lea dx,h1
     int 21h
     
     
     
     lea dx,string
     mov ah,0ah
     int 21h
     
     
     xor cx,cx
     mov  cl,string[1]
     
     mov si,1
     xor ax,ax       ;其它字符数量
     xor bx,bx       ;字母数量
     xor dx,dx       ;数字数量
     
L1: 	 add si,1
   	  	 cmp string[si],2fh
   	  	 jb L2
  	   	 cmp string [si],3ah
   	  	 jnb L3
   	  	 inc dx
S1:    	 Loop L1
         jmp exit
     
L2:     inc ax
        jmp S1
        
        
L3:     cmp string[si],40h
        jb L2
        cmp string[si],5bh
        jnb L5
        inc bx
        jmp S1
           
        
        
        
L5:     cmp string[si],60h
        jb L2
        cmp string[si],7bh
        jb L7
        inc ax
        jmp S1
        
        
                   
        
        
L7:     inc bx
        jmp S1        
        
        
        
exit:    mov a,ax
         mov b,bx
         mov d,dx
         
                  
         
         mov ah,02h
         mov dl,0dh
         int 21h
         
         mov ah,02h
         mov dl,0ah
         int 21h
         
         mov ah,02h
         xor dx,dx
         mov dx,d
         add dx,30h
         int 21h
         
         
         
         mov ah,02h
         mov dl,0dh
         int 21h
         
         mov ah,02h
         mov dl,0ah
         int 21h
         
         mov ah,02h
         xor dx,dx
         mov dx,b
         add dx,30h
         int 21h





         mov ah,02h
         mov dl,0dh
         int 21h
         
         mov ah,02h
         mov dl,0ah
         int 21h
         
         mov ah,02h
         xor dx,dx
         mov dx,a
         add dx,30h
         int 21h



    
.EXIT 0
   END



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值