CONDICIONALES
La ejecucion coondicional se logra mediante varias instrucciones de bucle bifurcacion. Estas instrucciones pueden cambiar el flujo del programa. La ejecucion condicional se observa en dos escenarios:
Sr.No.
Instrucciones condicionales
1
Salto Incondicional
Esto lo realiza la instrucciรณn JMP. La ejecuciรณn condicional a menudo implica una transferencia de control a la direcciรณn de una instrucciรณn que no sigue a la instrucciรณn que se estรก ejecutando actualmente. La transferencia de control puede ser hacia adelante, para ejecutar un nuevo conjunto de instrucciones o hacia atrรกs, para volver a ejecutar los mismos pasos.
2
Salto Condicional
Esto se realiza mediante un conjunto de instrucciones de salto j <condiciรณn> dependiendo de la condiciรณn. Las instrucciones condicionales transfieren el control rompiendo el flujo secuencial y lo hacen cambiando el valor de compensaciรณn en IP.
Analicemos la instruccion CMP antes de analizar las instruccines condicionales.
Instruccion CMP:
Esta compara dos operandos. Basicamente resta un operando del otro para comparar si son iguales o no. No perturba los operandos de origen o destino. Se utiliza junto con la instruccion de salto condicional para tomar desiciones.
CMP compara dos campos numericos. El operando de destino podria estar en el registro o en la memoria. El operando source posria ser un dato constante (inmediato), un registro o una memoria.
EJEMPLO:
CMP se usa a menudo para comparar si un valor de contador ha alcanzado la cantidad de veces que se debe ejecutar un ciclo.
Salto Incondicional
Esto lo realiza la instruccion JMP. La ejecucion condicional a menudo implica una trasferencia de control a la direccion de una instruccion que se esta ejecutando actualmente. La transferencia de control puede ser hacia adelante, para ejecutar un nuevo conjunto de instrucciones o hacia atras.
SINTAXIS:
La instruccion JMP proporciona un nombre de etiqueta donde el flujo de control se transfiere inmediatamente:
EJEMPLO:
El siguiente fragmento de codigo ilustra la instruccion JMP:
Salto Condicional
si se cumple una condicion especifica , el flujo de control se transfiere a una instruccion de destino. existen numerosas instrucciones de salto condicional, segun la condicion y los datos.
Estas son las instrucciones de salto condicionla utilizadas en dtaos firmados utilizados en la aritmetica:
JE/JZ
Jump Equal or Jump Zero
ZF
JNE/JNZ
Jump not Equal or Jump Not Zero
ZF
JG/JNLE
Jump Greater or Jump Not Less/Equal
OF, SF, ZF
JGE/JNL
Jump Greater/Equal or Jump Not Less
OF, SF
JL/JNGE
Jump Less or Jump Not Greater/Equal
OF, SF
JLE/JNG
Jump Less/Equal or Jump Not Greater
OF, SF, ZF
Estas son las instruccines de salto condicional utilizadas en datos sin firmar de operaciones logicas:
JNE/JNZ
Jump not Equal or Jump Not Zero
ZF
JA/JNBE
Jump Above or Jump Not Below/Equal
CF, ZF
JAE/JNB
Jump Above/Equal or Jump Not Below
CF
JB/JNAE
Jump Below or Jump Not Above/Equal
CF
JBE/JNA
Jump Below/Equal or Jump Not Above
AF, CF
Estas instrucciones de salto condicional tienen usos especiales y verifican el valor de las flags:
JXCZ
Jump if CX is Zero
none
JC
Jump If Carry
CF
JNC
Jump If No Carry
CF
JO
Jump If Overflow
OF
JNO
Jump If No Overflow
OF
JP/JPE
Jump Parity or Jump Parity Even
PF
JNP/JPO
Jump No Parity or Jump Parity Odd
PF
JS
Jump Sign (negative value)
SF
JNS
Jump No Sign (positive value)
SF
La sintaxis para el conjunto de instrucciones J <condition>
EJEMPLO:
El siguiente programa muestra la mayor de tres variables. Las variables son variables de dos digitos. Las tres num1, num2 y num3 tienen valores 47, 22 y 31:
รltima actualizaciรณn