martes, 12 de marzo de 2019

UNIDAD 2-Ejercicios del día 12 de marzo del 2019(BUCLES O LAZOS)

Bucles o Lazos:


los bucles loop van acompañados de registros ax es un contador y en el es el numero de vueltas que dara nuestro ciclo
si yo digo que ax=10 
se usa inc para incrementar
y se usa dec para decremenntar

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 


ejemplos

#1 ejemplo de bucle 1:

 org 100h


include 'emu8086.inc';libreria para las letras

mov cx,10;darle el valor de 10 a cx

comienzo:          ;inicio de la funcion

   printn 'letrero' ;letrero
   inc cx ;incrementar cx 
   

LOOP comienzo             ;inicio del bucle
ret


Capturas de ejecucion del programa

#2 CREACION DE UN BUCLe:

.MODEL tiny

NAME "BUCLE"

.DATA
    dato db 10,13,"letrero $" ,13,10




.code   
INICIO:
mov cx,2
comienzo:
    mov dx,OFFSET dato:
    mov ah,09
    int 21h
   loop comienzo
   
ret  

end
    

captura de ejecucion(no salio del todo bien):


#3 ejemplo de bucle 3 (cambio la salida en pantalla)

.MODEL tiny

NAME "BUCLE"

.DATA
    dato db 10,13,"letrero $" ,13,10




.code   
INICIO:
mov cx,2
comienzo:
    lea dx,dato
    mov ah,09
    int 21h
   loop comienzo
   
ret  

end

    
captura del programa en ejecucion:


#4 ejemplo con loopne
este ejemplo hace la utilizacion de las banderas.\


.MODEL tiny

NAME "BUCLE"

.DATA
    dato db 10,13,"letrero $" ,13,10

.code   
INICIO:
mov cx,10
comienzo:
    lea dx,dato
    mov ah,09
    int 21h
   loopne comienzo      ;esto es lo que cambia en ejemplo al anterior
   
ret  

end
    

captura de la ejecucion:




#5 ejemplo de la ejecucion con jcxz:

.MODEL tiny

NAME "BUCLE"

.DATA
    dato db 10,13,"letrero $" ,13,10
 
.code   
INICIO:
mov cx,0
comienzo:
    lea dx,dato
    mov ah,09
    int 21h
   jcxz comienzo      ;esto es lo que cambia en ejemplo al anterior
   
ret  

end

captura de la ejecucion:



No hay comentarios.:

Publicar un comentario

Unidad 3-ejemplo con macros

Programa que que imprime valores numericos en hexadecimales pero haciendo la utilizacion de macros. include 'emu8086.inc' Mostra...