题目:已知字符串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