Ensamblador - MAYUSCULAS

 
Vista:

MAYUSCULAS

Publicado por Lissy (3 intervenciones) el 30/11/2006 17:19:34
Por favor que alguien me ayude:
Necesito saber como se diferencian las mayusculas de las minusculas en ensamblador, como busco las mayusculas en una cadena
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:MAYUSCULAS

Publicado por Fernando (1 intervención) el 03/12/2006 18:56:55
Por el código ascci que lo representa, si el código del caracter esta entre 65 y 90, quiere decir que esta entre la A y la Z en mayúsculas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MAYUSCULAS

Publicado por Rigo (3 intervenciones) el 06/12/2006 00:42:31
MACRO imprime CADENA

push ax
push bx
push cx
push dx

lea dx,CADENA
mov ah,09h
int 21h

+
pop dx
pop cx
pop bx
pop ax

ENDM

goto MACRO x, y

push ax
push bx
push dx

mov ah,02h ;aqui toy
mov dh,y ;fila
mov dl,x ;columna
mov bh,0
int 10h

pop dx
pop bx
pop ax

ENDM

;disculpa me faltaron los macros, guardalos como un archivo de texto
;que se llame macros.txt
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MAYUSCULAS

Publicado por Rigo (3 intervenciones) el 06/12/2006 00:29:33
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar