Herramientas de usuario

Herramientas del sitio


es:capítulo_2_-_ejecución_condicional_i

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
es:capítulo_2_-_ejecución_condicional_i [2016/07/10 21:05]
jevicac [EJECUCIÓN CONDICIONAL (I)]
es:capítulo_2_-_ejecución_condicional_i [2016/07/10 22:25]
jevicac
Línea 50: Línea 50:
 JC dirección —JC es abreviatura de Jump if Carry (salta si hubo acarreo)—,​ y el salto a "​dirección"​ se ejecuta si el flag de acarreo está a uno. JC dirección —JC es abreviatura de Jump if Carry (salta si hubo acarreo)—,​ y el salto a "​dirección"​ se ejecuta si el flag de acarreo está a uno.
  
-JPO dirección —JPO es abreviatura de Jump if Parity Odd (salta si la paridad es impar, esto es, el número de bits contenidos en el byte resultado de la última operación era impar)-. El salto a "​dirección"​ se ejecuta si el flag de paridad está a uno.+JPO dirección —JPO es abreviatura de Jump if Parity Odd (salta si la paridad es impar, esto es, el número de bits contenidos en el byte resultado de la última operación era impar)-. El salto a "​dirección"​ se ejecuta si el flag de paridad está a cero.
  
-JPE dirección —JPE es abreviatura de Jump if Parity Even (salta si la paridad es par, esto es, el número de bits contenidos en el byte resultado de la última operación era par)—. El salto a "​dirección"​ se ejecuta si el flag de paridad está a cero.+JPE dirección —JPE es abreviatura de Jump if Parity Even (salta si la paridad es par, esto es, el número de bits contenidos en el byte resultado de la última operación era par)—. El salto a "​dirección"​ se ejecuta si el flag de paridad está a uno.
  
 Nota: Al hablar de la última operación no nos referimos a la situada antes de la instrucción de salto, sino a la última instrucción ejecutada que además modifique dicho flag. Nota: Al hablar de la última operación no nos referimos a la situada antes de la instrucción de salto, sino a la última instrucción ejecutada que además modifique dicho flag.
Línea 130: Línea 130:
 OP3:    LXI     ​D,​TEXTO3 ​       ;DIRECCION DEL TEXTO A IMPRIMIR OP3:    LXI     ​D,​TEXTO3 ​       ;DIRECCION DEL TEXTO A IMPRIMIR
  
 +; PARTE COMUN A LOS TRES SUBPROGRAMAS
 +
 +COMUN: ​ MVI     ​C,​PRINT
 +        CALL    BDOS            ;IMPRIME EL TEXTO
 +        POP     ​PSW ​            ;​RECUPERA DEL STACK EL CODIGO DEL CARÁCTER QUE
 +                                ;HABIAMOS PULSADO
 +        MVI     ​C,​PRCAR
 +        MOV     ​E,​A ​            ;LO PASA AL REGISTRO E
 +        CALL    BDOS            ;Y LO IMPRIME
 +        LXI     ​D,​FINAL ​        ;​TEXTO QUE TERMINA LA IMPRESION
 +        MVI     ​C,​PRINT
 +        CALL    BDOS            ;LO IMPRIME
 +        RET                     ;Y VUELVE AL SISTEMA OPERATIVO
 +
 +TABLA: ​ DW      OP1             :​DIRECCION DE LA RUTINA PARA LA OPCION ​ 1
 +        DW      OP2             ;​DIRECCION DE LA RUTINA PARA LA OPCION ​ 2
 +        DW      OP3             ;​DIRECCION DE LA RUTINA PARA LA OPCION ​ 3
 +        ​
 +PROMPT: DB      CR,LF
 +        DB      'POR FAVOR, ​ ELIGE UNA OPCION PULSANDO'​
 +        DB      ' UNA TECLA DEL 1 AL 3: $'
 +
 +TEXTO1: DB      CR,LF
 +        DB      '​ESTUPENDO,​ FUISTE DIRECTO A LA OPCION $'
 +
 +TEXTO2: DB      CR,LF
 +        DB      ';​VAYA!, ​ HAS SALTADO A LA OPCION $'
 +
 +TEXTO3: DB      CR,LF
 +        DB      'YA SE SABE: LOS ULTIMOS SERAN LOS PRIMEROS;
 +        DB      ' POR ESO ELEGISTE LA OPCION $'
 +
 +FINAL: ​ DB       ​CR,​LF,'​$'​
 +
 +        END      COMIEN
 </​file>​ </​file>​
  
es/capítulo_2_-_ejecución_condicional_i.txt · Última modificación: 2016/07/10 22:25 por jevicac