datasegment
ass db 250 dup('?')
data ends
codesegment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea dx,ass
mov ah,0AH
int 21h
mov cl,ass+1
mov di,-1
lk: incdi
cmp ass[di],30H
jc zxc
cmp ass[di],39H
jbe num
cmp ass[di],41H
jc zxc
cmp ass[di],5AH
jbe small
cmp ass[di],61H
jc zxc
cmp ass[di],7AH
jnbe zxc
big:
mov bl,ass[di]
sub bl,20H
jmp output
small:
mov bl,ass[di]
add bl,20H
jmp output
num:
mov bl,ass[di]
add bl,0H
jmp output
output:
mov dl,bl
mov ah,02H
int 21h
zxc:
loop lk
exit:
mov ah,4ch
int 21H