Multibyte Registers

Some registers are used in conjunction with other registers to represent 16-bit values. These registers can be accessed as a whole using the register macro or by accessing the low/high bytes using the ‘L’/’H’ suffixes attached to the register macro. For example, the 16-bit ADC Result register has the following declaration in the header file:

#define ADRES ADRES
extern volatile unsigned short          ADRES               __at(0xF5E);
#define ADRESL ADRESL
extern volatile unsigned char           ADRESL              __at(0xF5E);
#define ADRESH ADRESH
extern volatile unsigned char           ADRESH              __at(0xF5F);