viernes, 20 de febrero de 2009

SC. Do-While Bucle Infinito

La finalidad de este apartado consiste en mostrar como diseñar sentencias de control, en este caso de repetición y cuyo bucle no se acabe nunca es decir, sea infinito.

Para tal fin, se empleará sentencias de control condicional-repetición tal como la Do-While.

La sintaxis en un lenguaje de medio-alto nivel es la siguiente:

do
{
sentencia; // Bloque de Código

}
while(TRUE);

La forma de actuar esta sentencia de control es la siguiente: Repetir la sentencia indefinidamente.

La traducción a código ensamblador sería tal como sigue:

     ·····    ········

Do_While

     ·····    ········     ; Aqí el bloque de código a repetir
goto Do_While ; Bucle infinito.

     ·····    ········     
Como se puede observar, es una sentencia simple, donde se realizará el bloque de código a ejecutar y posteriormente saltará, nuevamente, al principio, haciendo que la repetición sea infinita.

Los ciclos de máquina que el código anterior por ciclo, son:

Bloque_Código + 2

Hay que tener en cuenta que los ciclos de máquina son infinitos ya que se repite constantemente, por lo tanto, lo mostrado anteriormente es por cada ciclo del bucle do-while de repetición infinita.

Otra consideración a tener muy en cuenta cuando se emplea esta sentencia de control tal cual se muestra es, ser conciente de que la instrucción goto no puede saltar donde quiera, sino que está limitado, su salto (direcciones de memoria totales), dependiendo la arquitectura del PIC.

Este código suele ser bastante útil y usado para la confección de nuestros proyectos, ya que así, el programa principal nunca se acaba, también es usado para monitorear entradas.

0 comentarios: