The table gives some of the names, addresses and functions of the special function registers. Some of these are used internally by the PIC microcontroller itself, for example the PCL and PCLATH register files hold the address of the next instruction to be executed. Others will be used by our programs to interact with the PIC microcontroller hardware and communicate with the outside world.

Note that some of the registers have two addresses, each 0x80 apart. This means that they exist in both "banks".

 

Register name

Purpose

Address in the PICmicro

INDF

indf register

0x00

TMR0

8-bit real-time clock/counter

0x01

PCL

low order 8 bits program counter

0x02, 0x82

STATUS

status register

0x03, 0x83

FSR

indirect data memory address pointer

0x04, 0x84

PORTA

port A

0x05

PORTB

port B

0x06

EEDATA

EEPROM data register

0x08

EEADR

EEPROM address register

0x09

PCLATH

high order 5 bits program counter

0x0A, 0x8A

INTCON

intcon register

0x0b, 0x8b

OPTION_REG

option register

0x81

TRISA

port A data direction register

0x85

TRISB

port B data direction register

0x86

EECON1

EEPROM control register

0x88

EECON2

EEPROM control register

0x89