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 un procedimiento y al terminarla devuelve el control
a la línea siguiente de donde se inició la llamada a procedimiento.
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 la es mayor al de bl.
No hay comentarios.:
Publicar un comentario