Saludos!! Siempre es util tener la informacion a la mano cuando se esta trabajado con ensamblador, principalemte las instrucciones y que funcion realiza o que registros afecta el uso de estas. Recordar que estas instrucciones pueden no estar disponibles en todos los microcontroladores, asi que para mas detalle recomiendo revisar la hoja de datos.
Como dice el titulo el dia de hoy tenemos la instruccion DECFSZ con el cual podemos decrementar un registro.
Esta instruccion decrementa uno al regitro "f" y dependiendo del valor de "d" almacena el resultado en "f" o "w". Cuando el valor del registro f = 0 no se ejecuta la siguiente intruccion, caso contrario la siguiente intrucciones se ejecutara. Veamos el siguiente fragmento de codigo:
En este ejemplo, primero vemos que se asigna Contador = 5, para despues decrementar su valor y almacenar el resultado en el mismo registro, mientras Contador sea distinto de cero la subrutina SHOWDisplay se estara repitiendo (en esencia ejecutara dicho codigo 5 veces), cuando Contador = 0 se salta la siguiente linea y entonces ejecutara GOTO LOOP.
Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, asà también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.
Referencias:
- Microchip, "PIC16F882/883/884/886/887 Data Sheet", http://ww1.microchip.com/downloads/en/devicedoc/41291d.pdf
0 Comentarios