¿El ensamblador clasifica y cuenta el número de letras mayúsculas y minúsculas, números y otros caracteres en una cadena?
Los resultados estadísticos se guardan en X1, X2, X3 y X4 en secuencia
segmento de datos
buf db 'asdg123456,^&%$#$ ' p>
X1 db 0
X2 db 0
X3 db 0
X4 db 0
los datos terminan
segmento de código
suponga cs:code, ds:data
inicio:
mov ax,data
mov ds ,ax
lea bx,buf ;Ubica el primer carácter
mov cx,X1-buf ;Calcula el número de caracteres
lop:
mov al,[bx]
cmp al,'a'
jb next1
cmp al,'z'
ja next1
inc X1 ;Si es menor que a y mayor que z, salta al siguiente elemento, de lo contrario p>cmp al,'A'
jb next2
cmp al,'Z'
ja next2
inc X2 ;
Si es menor que A y mayor que Z , salte al siguiente elemento; de lo contrario, X2+1
jmp exit
next2:
cmp al,' 0'
jb next3
cmp al,'9'
ja next3
inc X3 ;
Si es menor que 0 y mayor que 9 , salte al siguiente elemento, de lo contrario X3+1
jmp exit
next3:
inc X4;
El resto son otros caracteres,
X4+1exit:inc bxloop lop;
Bucle
mov ax,4c00h
int 21h
el código termina
finaliza el inicio