Instrucciones de tipo
salto del Lenguaje
Ensamblador
Direcciones
Corta
Una operación de salto corta se realiza con un
desplazamiento de un byte, limitado a una distancia
de -128 a 127 bytes
Cercana
Se realiza con el desplazamiento de una palabra limitado a una
distancia de -32768 a 32767 bytes dentro del mismo segmento
Lejana
Puede estar en otro segmento y es alcanzada por medio de una dirección de
segmento y un desplazamiento, CALL es la instrucción normal para este
propósito.
Etiquetas
Es una palabra utilizada para designar alguna línea o sección del programa, se
pueden utilizar para saltar de una parte hacia esa etiqueta. Es importante que
las etiquetas empiecen con una letra o con un guión bajo "_". La longitud de una
etiqueta puede ser de hasta 32 caracteres.
Saltos
Incondicionales
Se designan mediante el mnemotécnico "JMP", proveniente del
inglés "JuMP". Cuando se encuentra esta orden, se ejecuta
invariablemente. Por lo que muchos "JMP" en un código lo pueden
ralentizar.
Condicionales
Son cortos, con su limitación inherente de -128d y +127d de longitud,
puesto que saltamos a algún lugar si se cumple cierta condición y
sino continuamos en la siguiente línea, también podemos generar
bucles, por ejemplo el bucle "LOOP etiqueta" consiste en saltar a
"etiqueta" si CX>0.
Instrucciones de testeo
Cualquier instrucción capaz de modificar un registro o
posición de memoria es susceptible de variar el registro
de banderas. contando con las siguientes opciones
La bandera de paridad
La bandera de dirección
La bandera de desbordamiento
La bandera de interrupciones
La bandera auxiliar
La bandera de acarreo
La bandera de signo
La bandera de trazado
La bandera de cero
Decisiones
Si bien lo podemos simular mediante macros (MASM ya nos lo ofrece
como directivas internas que producen saltos condicionales). En
MASM se pueden evaluar expresiones complejas.
Bucles
Los bucles realmente podrían englobarse dentro de los saltos
condicionales porque eso es lo que son, buscan una condición y
en función de ella repiten el bucle o no.