Sie sind auf Seite 1von 13

MICROPROCESADORES

Universidad Politécnica Amazónica


Alumna. Flor Taqui Wajuyat
taqui.sistemasytelematica@gmail.c
om
CONTENIDO:
• Definición • Instrucciones Repetitivas WHILE

• Instrucciones Repetitivas LOOP • Instrucciones Repetitivas DO WHILE

• Instrucciones Repetitivas LOOPE • Instrucciones Repetitivas FOR

• Instrucciones Repetitivas LOOPNE • Instrucciones Repetitivas BREAK Y


CONTINUE
• Instrucciones Repetitivas DEC
• Ejemplos
• Instrucciones Repetitivas INC
Definición
Los ciclos repetitivos también son llamados lazos o bucles que permiten repetir una operación o
secuencia de operaciones en función de ciertas condiciones. Es un segmento de un algoritmo o
programa cuyas instrucciones se repiten un número determinado de veces mientras se cumpla
una determinada condición.

Son estructuras que están especialmente diseñadas para todas aquellas aplicaciones en las cuales
una operación o conjunto de ellas deben repetirse muchas veces.

Fases de un Programa Cíclico: Las estructuras de repetición básicas son:


• Entrada de datos e instrucciones previas  Estructura Desde/Para
• Lazo o bucle  Estructura Mientras
• Instrucciones finales o resto del proceso  Estructura Hacer
• Salida de resultado.
Instrucciones Repetitivas LOOP
La instrucción LOOP decrementa CX en 1,
y transfiere el flujo del programa a la
etiqueta dada como operando si CX es
diferente a 1

Propósito: Generar un ciclo en el programa


considerando el estado de ZF.
Instrucciones Repetitivas LOOPE
Esta instrucción decrementa CX en 1. Si
CX es diferente a cero y ZF es igual a 1,
entonces el flujo del programa se transfiere
a la etiqueta indicada como operando.

Propósito: Generar un ciclo en el programa,


considerando el estado de ZF.
Instrucciones Repetitivas LOOPNE

Esta instrucción decrementa en uno a CX y


transfiere el flujo del programa solo si ZF
es diferente a 0.

Propósito: Decrementar el operando.


Instrucciones Repetitivas DEC

Esta operación resta 1 al operando destino


y almacena el nuevo valor en el mismo
operando.

Propósito: Incrementar el operando.


Instrucciones Repetitivas INC

La instrucción suma 1 al operando destino


y guarda el resultado en el mismo operando
destino.

Propósito: Comparar los operandos.


Instrucciones Repetitivas WHILE
Es la estructura básica que permite repetir varias
veces una secuencia de operaciones, mientras se
cumpla una determina condición.

Repetirá el bucle mientras la condición que contiene


se verdadera; esto implica que, de alguna forma las
instrucciones que componen la sentencia que ejecuta
WHILE tienen que modificar la condición para que
en algún momento llegue a ser falsa y el programa
pueda continuar por la siguiente sentencia o bien
romper el bucle implícitamente con break. De la
misma forma se puede volver al principio del bucle
con continúe.
Instrucciones Repetitivas DO WHILE

Permite repetir una sentencia un número


indeterminado de veces dependiendo de una
condición, de forma parecida a while.

Repetirá el bucle mientras la condición sea


verdadera: al igual que while se que
tiene
modificar la condición para que en algún momento
llegue a ser falsa y el programa pueda continuar
por la sentencia siguiente a do while.

A diferencia de while, do while garantiza que al


menos se ejecutará una iteracción.
Instrucciones Repetitivas FOR

Se utiliza cuando se
puede determinar el
número de veces que hay
que ejecutar las
instrucciones.
Instrucciones Repetitivas BREAK Y CONTINUE

Hay dos palabras reservadas que pueden ayudar a mejorar las


estructuras repetitivas: break y continue.

Break: Obliga a que el ciclo se rompa aunque la condición


lógica no se haya cumplido.

Continue: Obliga a que un ciclo vuelva a iterarse. Es preferible


que se trate de evitar el uso de break a menos que sea
absolutamente necesario, ya que puede causar conflictos y es
difícil de debuggear.
EJEMPLOS
Sumar la edad de 15 personas ;DEFINIR MENSAJES inc k
• Pseudocódigo msg1 db 10,30 “Ingrese la Edad ::”, ’$’ jmp CICLO
msg2 db 10,30 “La suma de edades FINCICLO
suma=0
es::,’$’
k=0 ;INICIALIZAR EL PROGRAMA ;MOSTRAR SUMA DE EDADES
Mientras (k<10) .code mov ah,09
hacer Leer: Edad begin proc far lea dx,msg2
suma=suma+edad int 21h
k=k+1 mov ax;@data mov dl, suma
mov ds, ax add dl,30h
Fin Mientras
mov ah,02
Escribir: suma ;PROCESO REPETITIVO int 21h
mov k,0
• Assembler ;FINALIZAR PROGRAMA
;INICIO CICLO: mov ah,4ch
.model small cmp k,15 int 21h
jae FINCICLO
.stack 64
begin endp
.data mov ah,09 end
lea dx,msg1
;DECLARACION DE VARIABLES int 21h
edad db 0 mov ah,01
k db 0 int 21h
sub al,30h
suma dd 0
mov edad,al
add
suma,al

Das könnte Ihnen auch gefallen