3 Ejemplos de Programas con Saltos


;Ejemplo 1
org 100h
mov    ax, 5        ; set ax to 5.
mov    bx, 2          ; set bx to 2.

 jmp    calc            ; go to 'calc'.
 back:  jmp stop      ; go to 'stop'.
calc:
add    ax, bx         ; add bx to ax.
jmp    back           ; go 'back'.
 stop:
 ret                   ; return to os


;Ejemplo 2
include 'emu8086.inc' 
.MODEL SMALL
.STACK .DATA 
num1 db 8 
num2 db 8 
msg1 db , 'NUMEROS IGUALES', '$' 
msg2 db , 'NUMEROS 1 MAYOR', '$' 
msg3 db , 'NUMEROS 2 MAYORES', '$'
 .code 
main: 
mov ax, @data 
mov ds, ax   
mov al, num1 
cmp al, num2   
jc Mayor2 
jz igual 
jnz Mayor1   
. exit
 igual: 
printn 'Los numeros son iguales' 
jmp fin

 Mayor2: 
printn 'Numero 2 es mayor' 
 jmp fin
 Mayor1: 
printn 'Numero 1 es mayor' 
 jmp fin
 fin:
 END


;Ejemplo 3
include 'emu8086.inc'
.MODEL SMALL
.STACK
.DATA
    num1 db 8
    num2 db 8
    msg1 db , 'NUMEROS IGUALES', '$'
    msg2 db , 'NUMEROS 1 MAYOR', '$' 
    msg3 db , 'NUMEROS 2 MAYORES', '$'
.code
    main:
    mov ax, @data
    mov ds, ax
   
    mov al, num1 
    cmp al, num2
   
    jc Mayor2
    jz igual
    jnz Mayor1   
   
.exit
igual:
    printn 'Los numeros son iguales'
    jmp fin
    ;mov ah, 09H
    ;lea dx,msg1
    ;int 21h
;.exit
Mayor2:
    printn 'Numero 2 es mayor'
    jmp fin
    ;mov ah,09H
    ;lea dx,msg1
    ;int 21h
;.exit
Mayor1: 
    printn 'Numero 1 es mayor'
    jmp fin
    ;mov ah,09H
    ;lea dx,msg1
    ;int 21h
;.exit
fin:
END