2.1 Device Description
This guide describes the MPLAB XC8 PIC
Assembler's support for all 8-bit Microchip PIC devices with baseline, enhanced
baseline, mid-range, enhanced mid-range and PIC18 cores. Check the ARCH
field in the device's INI file to confirm the core architecture used by the assembler when building code. The information contained within
the INI files typically comes from your selected Device Family Pack (DFP), but the assembler maintains a default set of INI files in the MPLAB XC8
pic/dat/ini
directory. The following descriptions indicate the
distinctions within those device cores.
The baseline core uses a 12-bit-wide instruction set and is available in
PIC10, PIC12 and PIC16 part numbers (ARCH
value of
PIC12
).
The enhanced baseline core also uses a 12-bit instruction set, but this
set includes additional instructions. Some of the enhanced baseline chips support
interrupts and the additional instructions used by interrupts. These devices are available
in PIC12 and PIC16 part numbers (ARCH
value of PIC12E
, or
PIC12IE
for those with interrupt support).
The mid-range core uses a 14-bit-wide instruction set that includes more
instructions than the baseline core. It has larger data memory banks and program memory
pages, as well. It is available in PIC12, PIC14 and PIC16 part numbers
(ARCH
value of PIC14
).
The Enhanced mid-range core also uses a 14-bit-wide instruction set but
incorporates additional instructions and features. There are both PIC12 and PIC16 part
numbers that are based on the Enhanced mid-range core (ARCH
value of
PIC14E
or PIC14EX
).
The PIC18 core instruction set is 16 bits wide and features additional
instructions and an expanded register set. PIC18 core devices have part numbers that begin
with PIC18. Some PIC18 devices implement extended data memory and a vectored interrupt
controller module with support for one or more interrupt vector tables, rather than
fixed-location, dual priority vectors (ARCH
value of
PIC18
, or PIC18XV
for those with the extended data
memory and the vectored interrupt controller module).
See 3.4.20 Print-devices for information on finding the full list of devices that are supported by the assembler. Support for a new device might be possible after downloading an updated Device Family Pack.