Tutorial del ensamblador 8086 para principiantes (parte 7)
Programa de control de flujo
Controlar el flujo del programa es algo muy importante, aquí es donde su programa puede tomar decisiones de acuerdo con ciertas condiciones.- Saltos incondicionales
La instrucción básica que transfiere el control a otro punto del programa es JMP .
La sintaxis básica de la instrucción JMP :Etiqueta JMP
Para declarar una etiqueta en su programa, simplemente escriba su nombre y agregue " : " al final, la etiqueta puede ser cualquier combinación de caracteres pero no puede comenzar con un número, por ejemplo, aquí hay 3 definiciones de etiquetas legales:label1:
La etiqueta se puede declarar en una línea separada o antes de cualquier otra instrucción, por ejemplo:
label2:
a:x1:
MOV AX, 1
x2: MOV AX, 2
#1 programa de ejemplo del uso de jmp\
\
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 operating system.
include "emu8086.inc"
org 100h
mov al, 25 ; set al to 25.
mov bl, 10 ; set bl to 10.
cmp al, bl ; compare al - bl.
je equal ; jump if al = bl (zf = 1).
putc 'n' ; if it gets here, then al <> bl,
jmp stop ; so print 'n', and jump to stop.
equal: ; if gets here,
putc 'y' ; then al = bl, so print 'y'.
stop:
ret ; gets here no matter what.
y este es su ejecucion en pantalla:
#3 ejemplo de comparacion de dos valores y haciendo una condicion para si es mayor o iguales los valores:
include 'emu8086.inc'
.model small
.stack
.data
num1 db 8
num2 db 4
msg1 db 'numeros iguales $'
msg2 db 'numero 1 es mayor $'
msg3 db 'numero 2 es mayor $'
.code
main:
mov ax,@data
mov ds,ax
mov al,num1
cmp al,num2
jc mayor2
jz igual
jnz mayor1
.exit
igual:
print 'son iguales'
mov ah,09h
lea dx,msg1
int 21h
.exit
mayor1:
print 'es mayor el numero 1'
.exit
mayor2:
print 'es mayor el numero 2'
.exit
capturas de la ejecucion:
si el numero 1 es mayor:
si el numero 2 es mayor:
\si ambos números son iguales:
No hay comentarios.:
Publicar un comentario