; Questo programma è in grado di far accendere i led collegati
; agli ingressi da RB0 a RB7 in modo da visualizzare un conteggio
; da 0 a 15 con un incremento unitario ogni secondo.

                List P=16F84A, F=INHX8M
PORTA		EQU	0x05
TRISA		EQU	0x85
PORTB		EQU	0x06
TRISB		EQU	0x86
STATO		EQU	0x03	
CONT1		EQU	0x0C
CONT2		EQU	0x0D
CONT3		EQU	0x0E
TEMP		EQU	0x0F

		ORG	0x00

		BSF	STATO,5
		MOVLW	0x00
		MOVWF	TRISB
		BCF	STATO,5
	
INIZIO	MOVLW	D'0'
		MOVWF	TEMP
		MOVWF	PORTB
		CALL	RITARDO
CICLO	INCF	TEMP,1
		MOVF	TEMP,0
		MOVWF	PORTB
		CALL	RITARDO
		MOVF	TEMP,0
		XORLW	0x0F
		BTFSS	STATO,2
		GOTO	CICLO
		GOTO	INIZIO

RITARDO	MOVLW	D'5'
		MOVWF	CONT3
LOOP3	MOVLW	D'255'
		MOVWF	CONT2
LOOP2	MOVLW	D'255'
		MOVWF	CONT1
LOOP1	DECFSZ	CONT1,1
		GOTO	LOOP1
		DECFSZ	CONT2,1
		GOTO	LOOP2
		DECFSZ	CONT3,1
		GOTO	LOOP3
		RETURN
		END	