Explica c Ions Altos

Embed Size (px)

DESCRIPTION

saltos ensamblador

Citation preview

  • EJEMPLO DE SALTOS EN ENSAMBLADOR

    PROGRAMA: sexos.asm DESCRIPCIN DEL PROGRAMA: Este programa solicita un caracter (en mayscula) y muestra como resultado: Es Hombre, Es Mujer o Error en dato si se introduce una M, F o cualquier otro carcter, respectivamente. OBJETIVO DEL PROGRAMA: Mostrar de manera visual el hilo de ejecucin del programa en cada una de las opciones AUTOR: Profesor Ricardo Cesar Cruz Robles FECHA: Marzo 12, 2014

    INDICACIONES: A continuacin te presento el programa que soluciona el problema planteado y te pongo en diferente color las instrucciones que se realizan dependiendo del carcter ledo. La tabla de colores a utilizar es la siguiente:

    NEGRO Las instrucciones comunes y que se ejecutan sin importar ninguna condicin

    ROJO Las instrucciones que se realizan a partir de la comparacin y que corresponden a la introduccin de la letra M por parte del usuario

    VERDE Las instrucciones que se realizan a partir de la comparacin y que corresponden a la introduccin de la letra F por parte del usuario

    AZUL Las instrucciones que se realizan a partir de la comparacin y que corresponden a la introduccin por parte del usuario de un carcter que no es ni M ni F

    GRIS Es el cdigo que no se realiza en cada situacin .

    SI EL USUARIO INTRODUCE UNA M SI EL USUARIO INTRODUCE UNA F SI EL USUARIO INTRODUCE OTRO

    CARACTER

    .MODEL small

    .STACK

    .DATA cPeticion DB 'Escribe tu sexo (M/F): ','$' cHombre DB 'Eres HOMBRE ','$'

    cMujer DB 'Eres MUJER ','$'

    cError DB 'Error en dato','$'

    .CODE

    MOV AX,@DATA

    MOV DS,AX

    MOV AH,09H

    LEA DX,cPeticion

    INT 21H

    MOV AH,01H

    INT 21H

    CMP AL,'M'

    JE eEsHombre

    CMP AL,'F'

    JE eEsMujer

    MOV AH,09H

    LEA DX,cError

    INT 21H

    JMP eSalir

    eEsHombre:

    MOV AH,09H

    LEA DX,cHombre

    INT 21H

    JMP eSalir

    eEsMujer:

    MOV AH,09H

    LEA DX,cMujer

    INT 21H

    eSalir:

    MOV AX,4C00H

    INT 21H

    END

    .MODEL small

    .STACK

    .DATA cPeticion DB 'Escribe tu sexo (M/F): ','$' cHombre DB 'Eres HOMBRE ','$'

    cMujer DB 'Eres MUJER ','$'

    cError DB 'Error en dato','$'

    .CODE

    MOV AX,@DATA

    MOV DS,AX

    MOV AH,09H

    LEA DX,cPeticion

    INT 21H

    MOV AH,01H

    INT 21H

    CMP AL,'M'

    JE eEsHombre

    CMP AL,'F'

    JE eEsMujer

    MOV AH,09H

    LEA DX,cError

    INT 21H

    JMP eSalir

    eEsHombre:

    MOV AH,09H

    LEA DX,cHombre

    INT 21H

    JMP eSalir

    eEsMujer:

    MOV AH,09H

    LEA DX,cMujer

    INT 21H

    eSalir:

    MOV AX,4C00H

    INT 21H

    END

    .MODEL small

    .STACK

    .DATA cPeticion DB 'Escribe tu sexo (M/F): ','$' cHombre DB 'Eres HOMBRE ','$'

    cMujer DB 'Eres MUJER ','$'

    cError DB 'Error en dato','$'

    .CODE

    MOV AX,@DATA

    MOV DS,AX

    MOV AH,09H

    LEA DX,cPeticion

    INT 21H

    MOV AH,01H

    INT 21 H

    CMP AL,'M'

    JE eEsHombre

    CMP AL,'F'

    JE eEsMujer

    MOV AH,09H

    LEA DX,cError

    INT 21H

    JMP eSalir

    eEsHombre:

    MOV AH,09H

    LEA DX,cHombre

    INT 21H

    JMP eSalir

    eEsMujer:

    MOV AH,09H

    LEA DX,cMujer

    INT 21H

    eSalir:

    MOV AX,4C00H

    INT 21H

    END

    ------------------------------------------------

    ; Propiedad intelectual: L.I. Ricardo Cesar Cruz Robles (1) ------------------------ ------------------------------------------------------------------

    Si se introdujo una M,

    salta a la etiqueta

    eEsHombre

    Muestra el mensaje Es

    HOMBRE almacenado

    en la variable cHombre

    SALTA al final del

    programa (a la

    etiqueta eSalir) y

    omite el cdigo de

    abajo

    Si NO se introdujo una

    M, compara si se

    introdujo una F y si es

    as, salta a la etiqueta

    eEsMujer

    Muestra el

    mensaje Es

    MUJER

    almacenado en la

    variable cMujer.

    OJO!!, no se usa

    otro salto, ya que

    las instrucciones

    de abajo ya

    terminan con el

    programa.

    Si NO se tecle ni una

    M, ni una F,

    entonces

    Se muestra el

    mensaje de error y

    SALTA al final del

    programa (a la

    etiqueta eSalir)

    omitiendo todo el

    cdigo de abajo