martes, 17 de marzo de 2020

2.6 CICLOS CONDICIONALES

2.6 CICLOS CONDICIONALES

Sintaxis:

 LOOP etiqueta 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. 

Instrucción LOOPE Propósito: Generar un ciclo en el programa considerando el estado de ZF 

Sintaxis: 

LOOPE etiqueta 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. 

Instrucción LOOPNE Propósito: Generar un ciclo en el programa, considerando el estado de ZF 


Sintaxis:

 LOOPNE etiqueta Esta instrucción decrementa en uno a CX y transfiere el flujo del programa solo si ZF es diferente a 0. 

Dentro de la programación existen ocasiones en la que es necesario ejecutar una misma instrucción un cierto número de veces, el cual no siempre es conocido por el programador o puede cambiar durante la ejecución del programa, para lo que existen los ciclos condicionales, los cuales una vez se cumpla la condición que tienen establecida, dejaran de ejecutarse como ciclo y permitirán que el programa continúe con su flujo normal.
En ensamblador no existen de forma predefinida estos ciclos, pero pueden crearse haciendo uso de los saltos incondicionales, generando ciclos que se repetirán hasta que se cumpla la condición definida por el programador.
Ejemplo:
  • mov al, 0: Asigna el valor cero al registro al.
  • ciclo: Etiqueta a la que se hará referencia para el ciclo condicional.
  • INC al: Aumenta en 1 el valor del registro al.
  • CMP al, bl : Comparación entre el valor almacenado en al y el almacenado en bl.
  • JL ciclo: Instrucción que indica que el flujo del programa continuara desde la ubicación de la etiqueta ciclo si el valor de al es menor al de bl.
Resultado de imagen para Ciclos condicionales asm

No hay comentarios.:

Publicar un comentario