Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 10 de 12

Tema: Ayuda, ensamblador convierte mayusculas

  1. #1

    Predeterminado Ayuda, ensamblador convierte mayusculas

    necesito ayuda con un programa en lenguaje ensamblador para convertir una cadena de mayusculas a minusculas, ese es mi examen y llevo todo el día no puedo terminar el programa, simplemente no me corre si alguien podría ayudarme a corregirlo se lo agradeceria profundamente


    PILA SEGMENT PARA STACK "STACK"
    DB 128 DUP (0)
    PILA ENDS
    DATOS SEGMENT PARA "DATA"
    MSS1 DB "mi nombre en minusculas es: luisito", 13,10
    DB "en mayusculas es: ", "$"
    NOMBRE DB "luisito"
    DATOS ENDS
    CODIGO SEGMENT PARA "CODE"
    EMPIEZA PROC FAR
    ASSUME CS: CODIGO, DS: DATOS, SS: PILA
    lea dx,MSS1
    mov ah,9
    int 21h
    lea dx,NOMBRE
    mov ah,9
    int 21h
    mov ah,4ch
    int 21h

    EMPIEZA ENDP
    CODIGO ENDS
    END EMPIEZA

  2. #2

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    Sería conveniente que hubieras especificado que trabajas con ensamblador x86 para DOS, pero en fin. Allá vamos.

    Dices que el programa no te corre? Eso significa que no ensambla, no enlaza, no se ejecuta, o se ejecuta pero no hace nada?

    Por lo que se ve debería escribir:
    mi nombre en minusculas es: luisito
    en mayúsculas es:
    luisito
    BASURA BASURA BASURA

    La basura viene porque las cadenas para el servicio 9h de DOS deben terminar con $. En la primera lo has hecho bien, pero no en la segunda.

    En cualquier caso, eso no debería impedir que corriera el programa.

  3. #3

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    ok...gracias...el problema que tengo es que no sé como pasar a mayusculas la palabra luisito

    es lo unico que necesito, ya he buscado en internet y encontre un programa pero ocupa directivas simplificadas y por más que quize adaptarlo a mi programa no pude...

    espero puedan ayudarme, porque de verdad me urge

  4. #4

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    Convertir a mayúsculas es muy sencillo. Recorres la cadena caracter a caracter.
    Si el car&#225;cter es >=a y <=z entonces le sumas 'a'-'A'.

  5. #5

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    la cadena la puedo recorrer con la instrucci&#243;n AND... o como?
    mira lo que llevo es esto: pero igualmente no me imprime el contenido de la variable nombre en mayusculas

    perd&#243;n por ser tan molesto, pero es que apenas estoy aprendiendo ensamblador y este es mi examen, y necesito entregarlo para ma&#241;ana lunes, y la verdad no he dormido bien nada m&#225;s estoy piense y piense que hacer con este programa y modifico todo lo que se me ocurre pero simplemente no me sale, espero puedas orientarme...gracias



    PILA SEGMENT PARA STACK "STACK"
    DB 200 DUP (0)
    PILA ENDS

    ;------------------------------------------------------------------------

    DATOS SEGMENT PARA "DATA"
    MSS1 DB "mi nombre en minusculas es: luisito",13,10
    DB "en mayusculas es: ", "$"
    NOMBRE DB "luisito"
    DATOS ENDS

    ;------------------------------------------------------------------------

    CODIGO SEGMENT PARA "CODE"
    EMPIEZA PROC FAR
    ASSUME CS: CODIGO, DS: DATOS, SS: PILA

    MOV AX, DATOS
    MOV DS, AX

    MOV AH,9
    MOV DX,OFFSET MSS1
    INT 21H
    MOV AH,4CH
    INT 21H


    MOV BX,OFFSET NOMBRE
    AND AX, 11011111B

    ETIQUETA:
    MOV AX, BX
    SUB AX, 20H
    DAA
    INC BX
    LOOP ETIQUETA

    INT 21H
    MOV AH,4CH
    INT 21H


    EMPIEZA ENDP
    CODIGO ENDS
    END EMPIEZA

  6. #6

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    AND no recorre una cadena, simplemente hace un AND l&#243;gico.
    No te imprime la cadena, porque acabas el programa antes de recorrerla, y por tanto de imprimirla.

  7. #7

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    entonces la instrucci&#243;n AND no sirve para eso...
    pero es que el profesor nos dijo que teniamos que usarla y si no la usamos no te admite el programa

    ya me estoy bloqueando...solo veo puros registros

  8. #8

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    La instrucci&#243;n AND solamente sirve para hacer un AND l&#243;gico.
    Otra cosa es que puedas detectar si es may&#250;sculas o min&#250;sculas haciendo un AND del caracter.
    En cualquier caso, no la puedes recorrer con AND.

  9. #9

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    y como hago que el and lea si es mayuscula y minuscula...yo ocupe est&#225; instrucci&#243;n
    AND AX, 11011111B

  10. #10
    Con domicilio en Noticias3d.com
    Mensajes
    5,020

    Predeterminado Re: Ayuda, ensamblador convierte mayusculas

    esa instrucci&#243;n sirve para poner a cero el sexto bit empezando por la derecha del registro AX. En realidad deber&#237;a ser, si no recuerdo mal:
    AND al,11011111b

    y ese bit lo eliminar&#237;amos de AL, como es el bit que diferencia may&#250;sculas de min&#250;sculas, ya tendr&#237;as el trabajo hecho.

Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •