La verdad es que eso lo hice de rápido y pero la idea es mostrar un while en ensamblador de una forma básica. Espero les pueda servir y bueno, ya luego les pongo el método principal.
__CONFIG _LVP_OFF & _CP_OFF & _PWRTE_ON & _XT_OSC & _BODEN_OFF & _WDT_OFF list p=pic16f877 include <p16f877.inc>;VariablesCont equ 0x20Hrs equ 0x21Min equ 0x22Seg equ 0x23ContadorC equ 0x24Temp0 equ 0x25Temp1 equ 0x26ContadorB equ 0x27ContadorA equ 0x28org 0 goto Principalorg 4 retfieorg 5Un_Min movlw d'60' movwf Temp0 decfsz Temp0,1 ;Este es mi while. Temp0 == 0? goto retraso_1_seg ;No... return ;Si!retraso_1_seg movlw D'6' movwf ContadorCretraso_1_seg_bucle call sub_delay_1_seg decfsz ContadorC,1 ; Aquí otro; ContadorC == 0? goto retraso_1_seg_bucle ;No... return ;Si!!1sub_delay_1_seg movlw D'217' movwf ContadorB movlw D'111' movwf ContadorAsub_delay_1_seg_bucle decfsz ContadorA,1 goto sub_delay_1_seg_bucle decfsz ContadorB,1 goto sub_delay_1_seg_bucle return
No hay comentarios:
Publicar un comentario