;*********************************** Elemental_07.asm ***********************************
;
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.		www.pic16f84a.com
; 	  Editorial Ra-Ma.  www.ra-ma.es
;	===================================================================
;
; Por el Puerto B obtiene el dato del Puerto A desplazando un bit hacia la izquierda, por
; la derecha entrará un "1". Por ejemplo, si por el Puerto A se introduce "---11001", por
; el Puerto B aparecerá "xx110011" (no importa el estado de los dos bits superiores del
; Puerto B).
;
; ZONA DE DATOS *********************************************************************

	LIST	   P=16F84A			; Procesador utilizado.
	INCLUDE  <P16F84A.INC>		; Definición de algunos operandos utilizados.
	__CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

; ZONA DE CÓDIGOS ********************************************************************

	ORG 	0				; El programa comienza en la dirección 0.
Inicio
	bsf		STATUS,RP0		; Acceso al Banco 1.
	clrf	TRISB			; Las líneas del Puerto B se configuran como salida.
	movlw	b'00011111'		; Las 5 líneas del Puerto A se configuran como entrada.
	movwf	TRISA
	bcf		STATUS,RP0		; Acceso al Banco 0.
Principal
 	bsf		STATUS,C		; Este es el "1" que entrará por la derecha.
	rlf		PORTA,W			; Rota los bits una posición a la izquierda y lo
	movwf	PORTB			; lleva al Puerto B para que se visualice.
	goto 	Principal		; Se crea un bucle cerrado e infinito.

	END						; Fin del programa.
	
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.		www.pic16f84a.com
; 	  Editorial Ra-Ma.  www.ra-ma.es
;	===================================================================
