Los saltos son instrucciones que permiten al programador cambiar el
orden de ejecución del programa según sea necesario, dentro de ensamblador
existen dos tipos de salto principales: condicionales e incondicionales.
Saltos
Incondicionales:
Los saltos incondicionales se utilizan mediante la instrucción JMP, la
cual transfiere el control a la línea especificada después de la palabra JMP,
la cual puede ser un valor directo o una etiqueta.
También se puede contar como un salto incondicional la instrucción CALL,
la cual llama una procedimiento y al terminarla devuelve el control a la línea
siguiente de donde se inicio la llamada a procedimiento, pero eso se ve con más
detalle en la sección 3.1.
Ejemplo:
Salto: Etiqueta a la que se hará
referencia para el salto incondicional.
JMP
Salto: Instrucción que indica que el
flujo del programa continuara desde la ubicación de la etiqueta Salto.
Saltos
Condicionales:
Los saltos condicionales transfieren el control del programa a la
ubicación que se les dé como parámetro si al hacer una comparación se cumple la
condición establecida en el salto, los saltos condicionales son los siguientes:
JA
(Jump if Above):
Salta cuando el valor es superior, su condición es equivalente al salto
JNBE (Jump if Not Below or Equal).
JAE
(Jump if Above or Equal):
Salta cuando el valor es superior o igual, su condición es equivalente
al salto JNB (Jump if Not Below).
JB
(Jump if Below):
Salta cuando el valor es menor, su condición es equivalente al salto
JNAE (Jump if Not Above or Equal).
JBE
(Jump if Below or Equal):
Salta cuando el valor es menor o igual, su condición es equivalente al
salto JNA (Jump if Not Above).
JE
(Jump if Equal):
Salta cuando el valor es igual.
JZ
(Jump if Zero):
Salta cuando el valor es cero.
JNE
(Jump if Not Equal):
Salta cuando el valor no es igual.
JNZ
(Jump if Not Zero):
Salta cuando el valor no es cero.
JG
(Jump if Greater):
Salta cuando el valor es mayor, su condición es equivalente al salto
JNLE (Jump if Not Less or Equal).
JGE
(Jump if Greater or Equal):
Salta cuando el valor es mayor o igual, su condición es equivalente al
salto JNL (Jump if Not Less).
JL
(Jump if Less):
Salta cuando el valor es menor, su condición es equivalente al salto
JNGE (Jump if Not Greater or Equal).
JLE
(Jump if Less or Equal):
Salta cuando el valor es menor o igual, su condición es equivalente al
salto JNG (Jump if Not Greater).
Ejemplo:
Salto: Etiqueta a la que se hará
referencia para el salto condicional.
CMP
al, bl: Comparación entre el valor
almacenado en al y el almacenado en bl.
JG
Salto: Instrucción que indica que el
flujo del programa continuara desde la ubicación de la etiqueta Salto si el
valor de al es mayor al de bl.
No hay comentarios.:
Publicar un comentario