;Curso básico de microcontroladores PIC. --- micropic@lleida.org
;prac_05.asm - Suma el literal .100 a PORTA y muestra el resultado en PORTB

	list	p=16F84		;indica al ensamblador el modelo de PIC
	include	"P16F84.inc"	;incluye librería de definiciones para el PIC16F84
	__config	_CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ;palabra de configuración

	org	0x00	;primera posición de la memoria de programa
	goto	INICIO	;salto a la etiqueta inicio
	org	0x05	;para pasar por encima del vector de interrupción

INICIO	bsf	STATUS,RP0	;selecciona banco 1 del área de datos
	clrf	TRISB		;PORTB todo salidas (TRISB=00000000)
	movlw	0xFF		;carga W con 00011111
	movwf	TRISA		;PORTA como entradas (TRISA=00011111)
	bcf	STATUS,RP0	;vuelve a banco 0 del área de datos
	clrf	PORTB		;empieza apagando todos los Led

;programa principal

SUMAR	movlw	0x64	;carga W con 64 en HEX (100 en decimal)
	addwf	PORTA,W	;suma W al PORTA y guarda en W
	movwf	PORTB	;muestra resultado en los leds de PORTB
	goto	SUMAR	;vualve a efectuar la suma

	end		;indica al ensamblador que no hay más programa
