INCLUDE MACROS.TXT
.MODEL SMALL
.DATA
NUMCAR DB 0
CADENA DB 81 DUP (?)
men DB 10,13,'Escribe cadenas con minusculas y mayusculas estas se convertiran en mayusculas',10,13,"y eliminara un espacio entre caracteres",'$'
men2 DB 'Una tecla para salir','$'
D DB 2
X DB 80
a db 0
;-------------------------
; PRINCIPAL
;-------------------------
.CODE
MOV AX,@DATA
MOV DS,AX
goto 0,0
imprime men
goto 4,0
LEER:
MOV AH,01H
INT 21H
CMP AL,0DH
JE CONTINUAR
MOV BH,00
MOV BL,NUMCAR
MOV CADENA[BX],AL
INC NUMCAR
MOV DL,NUMCAR
CMP DL,80
JE CONTINUAR
JMP LEER
CONTINUAR:
MOV BH,00
MOV BL,NUMCAR
;MOV CADENA[BX];,"$"
DEC NUMCAR
goto 12,0
mov a,0
mov bx,0
ciclo:
;-----------------------
call may
;-------------------------
mov ah,02h
mov dl,cadena[bx]
int 21h
inc bx
mov al,numcar
inc a
cmp a,al
jnz ciclo
goto 23,0
imprime men2
MOV AH,8H ;ESPERAR UNA TECLA
INT 21H
MOV AX,4C00H ;TERMINAR
INT 21H
;-----------------------
may proc near
en:
mov dl,cadena[bx]
cmp dl,32
jnz inicio
inc bx
mov dl,cadena[bx]
inicio:
cmp dl,123
jb paso_1
jmp sale ;checa_menor
paso_1:
cmp dl,96
ja paso_2
jmp sale
paso_2:
sub dl,32
mov cadena[bx],dl
jmp sale
;--------------------
checa_menor: ;sies menor
cmp dl,91
jb paso_3
jmp sale
paso_3:
cmp dl,65
ja paso_4
jmp sale
paso_4:
mov cadena[bx],dl
;--------------------
sale:
ret
may endp
;-------------------------
END
;checa el prog