Decrementa automáticamente CX. Cuando
CX=0, termina el bucle. LOOP genera un salto
corto hacia atrás con las limitaciones que
implica.
LOOPE/LOOPZ, LOOPNE/LOOPNZ
LOOPZ termina en cuanto CX=0 o la bandera de
cero esté nula. LOOPNZ termina cuando CX=0 o
la bandera de cero esté activa.
JCXZ
Produce un salto corto
cuando CX = 0.
REPE/REPZ, REPNE/REPNZ
REPZ termina el bucle cuando CX=0 o
cuando ZF=0 REPNZ termina el bucle
cuando CX=0 o cuando ZF=1.
REP
Realmente es un prefijo que repite la
instrucción que va a continuación tantas veces
como indique el registro CX, si éste es cero no
se ejecuta nunca.
Decisiones
Indica que hacer en
caso de que una
condición se cumpla
Expresiones
== igual
> mayor que
>= Mayor o igual
< menor que
<= menor o igual
& Testeo de un bit
! No lógico
&& Y lógico
¡¡ O lógico
Saltos
Tipo
Incondicional
JNE
Salto por no igual
JG
Salto por Mayor
JGE
Salto por mayor igual
JNGE
Salto por no mayor igual
JNG
Salto por no mayor
JE
Salto por igual
JL
Salto por menor
JNL
Salto por no menor
JMP
Salto Incondicional directo
JLE
Salto por menor igual
Salta sin comprobar
ninguna condición
JNLE
Salto por no menor igual
JS
Salto negativo
Nemotécnicos
jump
brantch
Condicional
JNO
Salta si no hay desbordamiento.
JNC, JAE, JNB
Salta si no hay acarreo
JNZ O JNE
Salta si no es igual o salta si no es cero
JC, JNAE, JB
Salta si hay acarreo
JS
Salta si el signo está prendido
JBE O JNA
Salta si está abajo o si es igual o salta si no está arriba.
JNS
Salta si el signo no está prendido
JL, JNGE
Salta si es menor que o salta si no es mayor o igual.
JA O JNBE
Después de una comparación este comando salta si está arriba
o salta si no está abajo o si no es igual.
JO
Salta si hay desbordamiento
JNP, JPO
Salta si el signo esta desactivado
JP, JPE
Salta si hay paridad o salta si la paridad es par.
Salta si la
condición se
cumple
Nemotécnicos
jcond
bcond
JGE, JNL
Salta si es más grande o igual o salta si no es menor que.
JLE, JNG
Salta si es menor o igual o salta si no es más grande.
JG, JNLE
Salta si es más grande o salta si no es menor o igual.
Producen cambios en la
ejecución del programa
pasando a una nueva posición
Orden
JMP (jump = salto)
Sintaxis
Etiqueta + JMP + dirección
Es una instrucción de lenguaje
ensamblador que envía el control del
programa a un conjunto de
instrucciones que se identifican por
medio de una etiqueta
Permiten el retorno al lugar
donde ocurrieron
Producen una ruptura de la ejecución
lineal del código para retomarla por
delante o detrás de la orden de salto
Etiquetas
Clasificación
Situación
De código
si se utiliza para localizar una
posición de la memoria dentro
del código del programa.
De datos
cuando se utiliza de cabecera
para una sucesión de datos
Tipo
Cercana
cuando se define así para ser
accedida por saltos cercanos
Lejana
cuando saltaremos a ella
de forma lejana
Acceso
Global
Acceso fuera de la rutina
Local
Acceso dentro de la rutina
Nombres que se les asignan a las direcciones
de cualquier instrucción o localización de
memoria. Una etiqueta toma el lugar de una
dirección. Tan pronto como el ensamblador
encuentra una etiqueta, esta es remplazada
por la dirección correcta.
Direcciones
Longitud de la instrucción
Corta = Short
Está limitado a una
distancia de un byte, de
-128 a 127 bytes.
Cercana = Near
Restringido a una longitud de
una palabra, de -32.768 a
32.767 bytes.
Lejana = Far
Una dirección lejana puede estar en otro
segmento y es alcanzada por medio de una
dirección de segmento y un desplazamiento