已知字符串STRING以'$'为结束标志;统计其中小写字母的个数

题目:已知字符串STRING以'$'为结束标志;统计其中小写字母的个数,结果送到COUNT单元,;并把该字符串中的小写字母变成大写字母,其它字符保持不变。;要求分别在屏幕上输出原字符串以及修改后的字符串。

代码:

DATA    SEGMENT 
STRING  DB      'I WILL success!$'
COUNT   DB      0
NUM     DW      $-STRING
DATA    ENDS 

CODE    SEGMENT
        ASSUME  CS:CODE ,DS:DATA

START:  MOV     AX,     DATA 
        MOV     DS,     AX
        MOV     CX,     NUM
        MOV     BX,     OFFSET  STRING
           
        
        LEA     DX,     STRING          ;显示原字符串
        MOV     AH,     09H
        INT     21H
        MOV DL,0AH   ;输出换行符
        MOV AH,02H
        INT 21H 
        
                
ALP:     
     
        
        MOV     AL,     [BX]
        CMP     AL,     '$'             ;判断是不是最后一个字符
        JZ      OVER
        
        INC     BX   
        
        CMP     AL,     'a'             ;AL与小写a比较           
      
        JB     NEXT1                    ;AL比a小时执行next1
                      
        CMP     AL,     'z'  
                  
        JA      NEXT1                    ;AL比z大时执行next1
  

        INC     COUNT                    ;记录小写字母的个数
        SUB     AL,     20H              ;小写转成大写
        JMP     NEXT1 

NEXT1:  
        MOV     DL,     AL            ;显示修改后的字符串
        MOV     AH,     02H
        INT     21H
        LOOP    ALP   

      
OVER:
        MOV     AH,     4CH
        INT     21H
        
CODE    ENDS
END     START

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值