ALL DIGITAL OUTPUTS PORTS A & E
BCF STATUS,RP1 ;CLEAR BANK 2/3
BSF STATUS,RP0 ;SET BANK 1 BITS
MOVLW b'00000111' ;PORTS ALL DIGITAL FUNCTIONS PORTS PINS
MOVWF ADCON1 ; LOAD IT TO ADCON1
CLRF TRISA ; ALL PORTA FOR ALL OUTPUTS
CLRF TRISE ; ALL PORTE SET ALL OUTPUTS
BCF STATUS,RP0 ; RESET TO BANK 0
CLRW ;TIDY UP
DIGITAL ALL OUTPUTS EXCEPT E0 OPTIONAL I/O PIN ON E
BCF STATUS,RP1 ;CLEAR BANK 2/3
BSF STATUS,RP0 ;SET BANK 1 BITS
MOVLW b'00000111' ;PORTS ALL DIGITAL FUNCTIONS PORTS PINS
MOVWF ADCON1 ; LOAD IT TO ADCON1
CLRF TRISA ; ALL PORTA FOR ALL OUTPUTS
CLRW ; CLEAR W REGISTER
MOVLW b'11111110' ; INSTEAD OF CLRF TRISE YOU CAN
MOVWF TRISE ;HERE TO SET A PIN FOR EXAMPLE AS AN I/O
// CLRF TRISE ; ALL PORTE SET ALL OUTPUTS
BCF STATUS,RP0 ; RESET TO BANK 0
CLRW ;TIDY UP
OR
FOR ALL DIGITAL INPUTS PORT A AND E
BCF STATUS,RP1 ;CLEAR BANK 2/3
BSF STATUS,RP0 ;SET BANK 1 BITS
MOVLW b'00000111' ;PORTS ALL DIGITAL FUNCTIONS PORTS PINS
MOVWF ADCON1 ; LOAD IT TO ADCON1 REGISTER
MOVLW b'00111111' ; SET ALL PINS BOTH PORT FOR INPUT
MOVWF TRISA ; ALL PORTA FOR ALL OUTPUTS
MOVWF TRISE ; ALL PORTE SET ALL OUTPUTS
BCF STATUS,RP0 ; RESET TO BANK 0
CLRW ;TIDY UP
TRIS E WILL IGNORE THE BITS 3 TO 7 THIS WAY
http://www.epemag.wimborne.co.uk/pictutorial.pdf
FIRST FEW PAGES ARE THE BEST
REST IS HIS OWN COMPILER YOU MAY NEED TO THINK CAREFULLY IF YOU WANT TO BIT SET PORT E WHILE USING PORT A AS ANALOGUE BUT IT IS ALL EASILY POSSIBLE
DEFINATLY READ THIS GOOD TEXTS NOW
**broken link removed**