BRANCH / BRANCHL

BRANCH index , [ etiqueta { ,etiqueta .....} ]

Causa que el programa salte a una posición diferente, basada en una variable indexada. Es similar al ON...GOTO de otros BASIC.

Index selecciona una etiqueta de una lista .La ejecucion comienza en la etiqueta especificada .Por ejemplo , si Index es 0 , el programa salta a la primer etiqueta especificada en la lista ,si Index es 1 , salta a la segunda y así sucesivamente ..Si Index es mayor ó igual al número de etiquetas ,no se toma ninguna acción y la ejecución continúa con la declaración siguiente al BRANCH .Se pueden usar hasta 256 etiquetas en un BRANCH .

Etiqueta debe estar en la misma página de código que la instrucción BRANCH . Si no está seguro de esto , use BRANCHL .

 

 BRANCH B4 , [ dog,cat,fish ]

´ igual que :

´ if B4=0 then dog (goto dog)

´ if B4=1 then cat(goto cat)

´ if B4=2 then fish (goto fish)

BRANCHL Index , [ etiqueta {, etiqueta ....} ]

 BRANCHL trabaja en forma similar a BRANCH ,haciendo que el programa salte a una localización determinada , basándose en una variable indexada .Las principales diferencias son que puede saltar a una etiqueta ubicada en otra página de código y que genera un código dos veces mayor en tamaño al de BRANCH ..Si está seguro que las etiquetas están en la misma página que el BRANCH ó si el microcontrolador no tiene más que una página de código (2K ó menos de ROM) , use BRANCH para minimizar el uso de memoria Index selecciona una etiqueta de una lista .La ejecucion comienza en la etiqueta especificada .Por ejemplo , si Index es 0 , el programa salta a la primer etiqueta especificada en la lista ,si Index es 1 , salta a la segunda y así sucesivamente ..Si Index es mayor ó igual al número de etiquetas ,no se toma ninguna acción y la ejecución continúa con la declaración siguiente al BRANCHL .Se pueden usar hasta 128 etiquetas en un BRANCHL .

BRANCHL B4 , [ dog,cat,fish ]

´ igual que :

´ if B4=0 then dog (goto dog)

´ if B4=1 then cat(goto cat)

´ if B4=2 then fish (goto fish)