呵呵不知道这样可不可以,
data segment
m db '9','B','1','[','a','Z'
n dw ($-m)
NumDx dw 0 ;大写
NumXx dw 0 ;小写
NumSz dw 0 ;数字
NumOther dw 0 ;其它
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov cx,n
lea di,m
lop1:
mov al,m[di]
inc di
cmp al,48 ;0
jl Next1
cmp al,58 ;9 +1
jl AddNumSz
cmp al,65 ;A
jl next1
cmp al,91 ;Z +1
jl AddNumDx
cmp al,97 ;a
jl next1
cmp al,123 ;z
jl AddNumXx
jmp next1
AddNumSz:
inc NumSz
jmp next1
AddNumDx:
inc NumDx
jmp next1
AddNumXx:
inc NumXx
jmp next1
Next1:
loop lop1
jmp exit
exit:
mov ax,n
sub ax,NumDx
sub ax,NumXx
sub ax,NumSz
mov NumOther,ax
mov ah,4ch
int 21h
code ends
end start
没有运行过 你自己试试吧