Los blucles deben ir acompañados del registro CX.
Control de Bucles (instrucciones simples)
Éstas posibilitan el grupo de control más elemental de nuestros programas. Un bucle es un bloque de código que se ejecuta varias veces. Hay 4 tipos de bucles básicos:
o Bucles sin fin
o Bucles por conteo
o Bucles hasta
o Bucles mientras
Las instrucciones de control de bucles son las siguientes:
·· INC incrementar
·· DEC decrementar
·· LOOP realizar un bucle
·· LOOPZ,LOOPE realizar un bucle si es cero
·· LOOPNZ,LOOPNE realizar un bucle si no es cero
·· JCXZ salta si CX es cero
Instrucciones de Prueba, Comparación y Saltos.
Este grupo es una continuación del anterior, incluye las siguientes instrucciones:
·· TEST verifica
·· CMP compara
·· JMP salta
·· JE, JZ salta si es igual a cero
·· JNE, JNZ salta si no igual a cero
·· JS salta si signo negativo
·· JNS salta si signo no negativo
·· JP, JPE salta si paridad par
·· JNP, JOP salta si paridad impar
·· JO salta si hay capacidad excedida
·· JNO salta si no hay capacidad excedida
·· JB, JNAE salta si por abajo (no encima o igual)
·· JNB, JAE salta si no está por abajo (encima o igual)
·· JBE, JNA salta si por abajo o igual (no encima)
·· JNBE, JA salta si no por abajo o igual (encima)
·· JL, JNGE salta si menor que (no mayor o igual)
·· JNL, JGE salta si no menor que (mayor o igual)
·· JLE, JNG salta si menor que o igual (no mayor)
·· JNLE, JG salta si no menor que o igual (mayor)
Programa 1:
Ejecución del programa:
Programa 1:
Ejecución del programa:
Código:
; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt
org 100h
include 'emu8086.inc'
mov cx,50 ;es registro que controla el numero de veces de iteraciones
comienzo: ;debe tener un etiqueta loop
printn 'letrero'
loop comienzo
ret
Programa No.2:
Ejecución del programa:
Código:
.model tiny
name 'bucle'
.data
dato db 10,13,'letrero $'
.code
inicio:
mov cx,50
comienzo:
mov dx,offset dato
mov ah,09
int 21h
loop comienzo
Programa No.3:
Ejecución del programa:
Código:
.model tiny
name 'bucle'
.data
dato db 10,13,'letrero $'
.code
inicio:
mov cx,50
comienzo:
lea dx,dato
mov ah,09
int 21h
loop comienzo
Programa No.4:
Ejecución del programa:
Código:
.model tiny
name 'bucle'
.data
dato db 10,13,'letrero $'
.code
inicio:
mov cx,9
comienzo:
lea dx,dato
mov ah,09
int 21h
loopne comienzo
No hay comentarios.:
Publicar un comentario