第一步:
创建一个index.txt文件(命名随你);
编辑代码:
DATA SEGMENT
STRING DB 'AAAaaa123456???$'
SMALL DB 30H
BIG DB 30H
NUM DB 30H
OTHER DB 30H
DATA ENDS
;----------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,15 ;循环15次
LEA BX,STRING ;存储字符串首地址
LOP:
MOV AL,[BX]
CMP AL,'a' ;与'a'比较(这里需用字符对应ASCII码)
JB B1 ;如果小于’a’跳转到b1
CMP AL,'z'
JA B1 ;如果大于’z’跳转b1
INC SMALL ;不跳转(即在a-z之间)小写字母+1
JMP B4
B1:
CMP AL,'A'
JB B2 ;如果小于’A’跳转b2
CMP AL,'Z'
JA B2 ;如果大于’Z’跳转b2
INC BIG ;大写字母+1
JMP B4
B2:
CMP AL,'0'
JB B3 ;如果小于’0’跳转b3
CMP AL,'9'
JA B3 ;如果大于’9’跳转b3
INC NUM ;数字+1
JMP B4
B3:
INC OTHER ;其它字符+1
B4:
INC BX ;取下一个字符
LOOP LOP ;循环
MOV AH,02H;屏幕显示大写字母个数
MOV DL,BIG
INT 21H