Requisito previo: instrucciones de bifurcación en el microprocesador 8085
Las instrucciones de transferencia de ejecución de programa son similares a las instrucciones de bifurcación y se refieren al acto de cambiar la ejecución a una secuencia de instrucciones diferente como resultado de ejecutar una instrucción de bifurcación.
Los dos tipos de instrucciones de transferencia de ejecución de programa son:
- Incondicional
- Condicional
1. Instrucciones de transferencia de ejecución de programa incondicional: estas instrucciones siempre se ejecutan.
código de operación | operando | Explicación | Ejemplo |
---|---|---|---|
LLAMAR | Dirección | llama a una subrutina y guarda la dirección de retorno en la pila | CONVOCATORIA 2050 |
RETIRADO | ninguna | vuelve de la subrutina al programa principal | RETIRADO |
SALTO | Dirección | transfiere el control de ejecución a la dirección especificada | SALTO 2050 |
CÍRCULO | Dirección | recorre una secuencia de instrucciones hasta que CX=0 | BUCLE 2050 |
Aquí la dirección se puede especificar directa o indirectamente.
2. Instrucciones de transferencia de ejecución de programa condicional: estas instrucciones solo se ejecutan cuando la condición especificada es verdadera.
código de operación | operando | Explicación | Ejemplo |
---|---|---|---|
JC | Dirección | salta si CF = 1 | JC 2050 |
JNC | Dirección | salta si CF = 0 | JNC 2050 |
JZ | Dirección | salta si ZF = 1 | JZ2050 |
JNZ | Dirección | salta si ZF = 0 | JNZ 2050 |
JO | Dirección | salta si OF = 1 | JO 2050 |
JNO | Dirección | salta si OF = 0 | JNO 2050 |
JP | Dirección | salta si PF = 1 | JP 2050 |
JNP | Dirección | salta si PF = 0 | JNP 2050 |
JPE | Dirección | salta si PF = 1 | JPE 2050 |
JPO | Dirección | salta si PF = 0 | JPO 2050 |
JS | Dirección | salta si SF = 1 | JS 2050 |
JNS | Dirección | salta si SF = 0 | JNS 2050 |
JA | Dirección | saltar si CF=0 y ZF=0 | enero de 2050 |
JNBE | Dirección | saltar si CF=0 y ZF=0 | JNBE 2050 |
JAE | Dirección | salta si CF=0 | JAE 2050 |
JNB | Dirección | salta si CF=0 | JNB 2050 |
JBE | Dirección | saltar si CF = 1 o ZF = 1 | JBE 2050 |
JNA | Dirección | saltar si CF = 1 o ZF = 1 | JNA 2050 |
JE | Dirección | salta si ZF = 1 | JE 2050 |
JG | Dirección | salta si ZF = 0 y SF = OF | JG 2050 |
JNLE | Dirección | salta si ZF = 0 y SF = OF | JNLE 2050 |
JGE | Dirección | salta si SF = OF | JGE 2050 |
JNL | Dirección | salta si SF = OF | JNL 2050 |
JL | Dirección | salta si SF != OF | JL 2050 |
JNGE | Dirección | salta si SF != OF | JNGE 2050 |
JLE | Dirección | salta si ZF = 1 o SF != OF | JLE 2050 |
JNG | Dirección | salta si ZF = 1 o SF != OF | JNG 2050 |
JCXZ | Dirección | salta si CX = 0 | JCXZ 2050 |
BUCLE | Dirección | bucle mientras ZF = 1 y CX = 0 | BUCLE 2050 |
LOOPZ | Dirección | bucle mientras ZF = 1 y CX = 0 | LOOPZ 2050 |
LOOPNE | Dirección | bucle mientras ZF = 0 y CX = 0 | LOOPNE 2050 |
LOOPNZ | Dirección | bucle mientras ZF = 0 y CX = 0 | LOOPNZ 2050 |
Aquí la dirección se puede especificar directa o indirectamente.
CF es bandera de acarreo
ZF es bandera de cero
OF es bandera de desbordamiento
PF es bandera de paridad
SF es bandera de signo
CX es el registro