; Assembly PIC18 - Versione 0.1 - Marzo 2016 ; Copyright (c) 2016, Vincenzo Villa ; Creative Commons | Attribuzione - Condividi allo stesso modo 4.0 Internazionale (CC BY-SA 4.0) ; Creative Commons | Attribution-Share Alike 4.0 Unported ; https://www.vincenzov.net/tutorial/PIC18/assembly/hello-2.htm ; PIC18F26K20 / MPLAB X 3.26 / MPASM v5.66 ; "Supercar", seconda versione ; Nota: questo programma va eseguito passo-passo oppure occorre usare un oscilloscopio #include "p18f26k20.inc" ; il file con la definizine dei registri specifici del PIC in uso CODE 0x0000 ; vettore di reset, indirizzo 0. Il codice inizia qui movlw 0 ; azzera il registro W (accumulatore) movwf TRISC ; copia il contenuto del registro W nel registro speciale TRISC ; (imposta PORTC come uscita) movlw 0x01 ; copia in W il numero binario 0000 0001 (0x01) movwf LATC ; copia il contenuto del registro W nel registro speciale LATC ; (un solo LED è acceso) sinistra rlncf LATC ; ruota a sinistra (senza usare C) il registro speciale LATC ; (il LED scorre verso sinistra) btfss LATC, 7 ; salta la prossima istruzione se il bit 7 di LATC è 1 bra sinistra ; continua a ripetere il blocco di codice di "sinistra" destra rrncf LATC ; ruota a destra (senza usare C) il registro speciale LATC btfss LATC, 0 ; salta la prossima istruzione se il bit 0 di LATC è 1 bra destra ; continua a ripetere il blocco di codice di "destra" bra sinistra ; ricomincia con lo scorrimento da "sinistra" END ; Fine del file