Este documento presenta información sobre instrucciones de salto condicional en ensamblador. Define salto como un punto en un programa donde el flujo se altera, y proporciona ejemplos de instrucciones de salto como jmp, je, jg. También incluye un ejemplo de código que muestra un número mayor, menor o igual dependiendo de la comparación de dos valores almacenados en variables.
3. DEFINICION
La rama o salto es un punto de un programa
informática donde el flujo del programa se ve alterado. Los
términos de salto o rama suelen utilizarse para referirse a
programas escritos en lenguaje maquina o en lenguaje
ensamblador; en los lenguajes de alto nivel, los saltos
normalmente toman la forma de sentencias, llamadas a
subrutinas o sentencias GOTO.
4. Instrucción Descripción
jmp etiqueta
Salto incondicional
directo
je etiqueta Salto por igual
jne etiqueta Salto por no igual
jg etiqueta Salto por mayor
jng etiqueta Salto por no mayor
jge etiqueta Salto por mayor igual
jnge etiqueta Salto por no mayor igual
jl etiqueta Salto por menor
jnl etiqueta Salto por no menor
jle etiqueta Salto por menor igual
jnle etiqueta Salto por no menor igual
js etiqueta Salto negativo
5. model small
.stack
.data
var1 db ?
var2 db ?
msg1 db '++ El primero es mayor++ $'
msg2 db '++ El primero es menor++$'
msg3 db '++ Son iguales++$'
msg4 db '++ Primero valor++ $'
msg5 db '++ Segundo valor++ $'
.code
.startup
EJEMPLO: Mostrar numero mayor, menor, o si son iguales
6. mov ah,00h
mov al,03h
int 10h
mov ah,02h
mov dx,0510
h
mov bh,0
int 10h
mov ah,09h
lea dx,msg4
int 21h
mov ah,07h
int 21h
mov ah, 02h
mov dl,al
int 21h
mov var1,al
7. mov ah,00h
mov al,03h
int 10h
mov ah,02h
mov dx,0510h
mov bh,0
int 10h
mov ah,09h
lea dx,msg4
int 21h
mov ah,07h
int 21h
mov ah, 02h
mov dl,al
int 21h
mov var1,al
8. mayor:
mov ah,09h
lea dx,msg1
int 21h
jmp salir
menor:
mov ah,09h
lea dx,msg2
int 21h
jmp salir
igual:
mov ah,09h
lea dx,msg3
int 21h
jmp salir
salir:
.exit
end