De los cambios de banco ya se encarga el compilador por tí.Tú solo te tienes que preocupar de acceder a la dirección de memoria que te interese
Codigo:
#BYTE TRISA = 0x85
#BYTE PORTA = 0x05
#BYTE OSCCON = 0x8F
void inicializa()
{
TRISA = 0x00; // banco 1
PORTA = 0x0F; // banco 0
OSCCON = 0x76; // banco 1
}
ASM LIST:
.................... void inicializa()
.................... {
.................... TRISA = 0x00; // banco 1
*
001F: BSF 03.5 ; Modifica STATUS
0020: CLRF 05
.................... PORTA = 0x0F; // banco 0
0021: MOVLW 0F
0022: BCF 03.5 ; Modifica STATUS
0023: MOVWF 05
.................... OSCCON = 0x76; // banco 1
0024: MOVLW 76
0025: BSF 03.5 ; Modifica STATUS
0026: MOVWF 0F
.................... }
0027: BCF 03.5 ; Modifica STATUS
0028: BCF 0A.3
0029: GOTO 31F (RETURN)
....................