/* GNU PIC processor definitions
Copyright 2001-2005 Craig Franklin
Copyright 2014-2016 Molnár Károly
*/
//#include <config.h>
#include <stdlib.h>
#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h> /* ioctl(TIOCGWINSZ) with GNU and BSD */
#endif
#ifdef HAVE_TERMIOS_H
# include <termios.h> /* ioctl(TIOCGWINSZ) with Solaris */
#endif
#include "stdhdr.h"
#include "libgputils.h"
/* XXXPRO: Need to add a line here for any extra processors. Please
keep this list sorted primarily by number, secondarily sorting
alphabetically. */
/* pclass defined_as names[3] coff_type common_ram_addrs[2] maxrom config_addrs[2] script
| | | | num_pages | common_ram_max | prog_mem_size | eeprom_addrs[2] | cpu_flags
| | | | | num_banks | | linear_ram_addrs[2] | | badrom[MAX_BADROM] | | idlocs_mask | |
| | | | | | bank_bits| | | maxram | | | idlocs_addrs[2] | | | header | |
| | | | | | | | | | | | | | | | | | | | |
V V V V V V V V V V V V V V V V V V V V V */
static struct px pics[] = {
{ PROC_CLASS_PIC12 , "__10F200" , { "pic10f200" , "p10f200" , "10f200" }, 0xF200, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0000FF, 0x000100, { -1, -1 }, { 0x000100, 0x000103 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p10f200.inc" , "10f200_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__10F202" , { "pic10f202" , "p10f202" , "10f202" }, 0xF202, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p10f202.inc" , "10f202_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__10F204" , { "pic10f204" , "p10f204" , "10f204" }, 0xF204, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0000FF, 0x000100, { -1, -1 }, { 0x000100, 0x000103 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p10f204.inc" , "10f204_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__10F206" , { "pic10f206" , "p10f206" , "10f206" }, 0xF206, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p10f206.inc" , "10f206_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__10F220" , { "pic10f220" , "p10f220" , "10f220" }, 0xF220, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0000FF, 0x000100, { -1, -1 }, { 0x000100, 0x000103 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p10f220.inc" , "10f220_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__10F222" , { "pic10f222" , "p10f222" , "10f222" }, 0xF222, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p10f222.inc" , "10f222_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__10F320" , { "pic10f320" , "p10f320" , "10f320" }, 0xF320, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x007F, 0x0000FF, 0x000100, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p10f320.inc" , "10f320_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__10F322" , { "pic10f322" , "p10f322" , "10f322" }, 0xF322, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x007F, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p10f322.inc" , "10f322_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__10LF320" , { "pic10lf320" , "p10lf320" , "10lf320" }, 0xA320, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x007F, 0x0000FF, 0x000100, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p10lf320.inc" , "10lf320_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__10LF322" , { "pic10lf322" , "p10lf322" , "10lf322" }, 0xA322, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x007F, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p10lf322.inc" , "10lf322_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12C508" , { "pic12c508" , "p12c508" , "12c508" }, 0x2508, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12c508.inc" , "12c508_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12C508A" , { "pic12c508a" , "p12c508a" , "12c508a" }, 0x508A, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12c508a.inc" , "12c508a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12C509" , { "pic12c509" , "p12c509" , "12c509" }, 0x2509, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12c509.inc" , "12c509_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12C509A" , { "pic12c509a" , "p12c509a" , "12c509a" }, 0x509A, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12c509a.inc" , "12c509a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12C671" , { "pic12c671" , "p12c671" , "12c671" }, 0x2671, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12c671.inc" , "12c671_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12C672" , { "pic12c672" , "p12c672" , "12c672" }, 0x2672, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12c672.inc" , "12c672_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12CE518" , { "pic12ce518" , "p12ce518" , "12ce518" }, 0x2518, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12ce518.inc" , "12ce518_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12CE519" , { "pic12ce519" , "p12ce519" , "12ce519" }, 0x2519, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12ce519.inc" , "12ce519_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12CE673" , { "pic12ce673" , "p12ce673" , "12ce673" }, 0x2673, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12ce673.inc" , "12ce673_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12CE674" , { "pic12ce674" , "p12ce674" , "12ce674" }, 0x2674, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12ce674.inc" , "12ce674_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12CR509A" , { "pic12cr509a" , "p12cr509a" , "12cr509a" }, 0xD09A, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12cr509a.inc" , "12cr509a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12F508" , { "pic12f508" , "p12f508" , "12f508" }, 0xF508, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12f508.inc" , "12f508_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12F509" , { "pic12f509" , "p12f509" , "12f509" }, 0xF509, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12f509.inc" , "12f509_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12F510" , { "pic12f510" , "p12f510" , "12f510" }, 0xF510, 2, 2, 0x0020, { 0x0A, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p12f510.inc" , "12f510_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12F519" , { "pic12f519" , "p12f519" , "12f519" }, 0xF519, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000440, 0x000443 }, { 0x000FFF, 0x000FFF }, { 0x000400, 0x00043F }, 0x0FF0, "p12f519.inc" , "12f519_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__12F520" , { "pic12f520" , "p12f520" , "12f520" }, 0xF520, 3, 8, 0x00E0, { 0x07, 0x0F }, -1, { -1, -1 }, 0x00FF, 0x0005FF, 0x000600, { -1, -1 }, { 0x000640, 0x000643 }, { 0x000FFF, 0x000FFF }, { 0x000600, 0x00063F }, 0x0FF0, "p12f520.inc" , "12f520_g.lkr" , 0 },
{ PROC_CLASS_PIC12E , "__12F529T39A" , { "pic12f529t39a" , "p12f529t39a" , "12f529t39a" }, 0xE529, 3, 8, 0x00E0, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x00FF, 0x0005FF, 0x000600, { -1, -1 }, { 0x000640, 0x000643 }, { 0x000FFF, 0x000FFF }, { 0x000600, 0x00063F }, 0x0FF0, "p12f529t39a.inc" , "12f529t39a_g.lkr" , 0 },
{ PROC_CLASS_PIC12E , "__12F529T48A" , { "pic12f529t48a" , "p12f529t48a" , "12f529t48a" }, 0xD529, 3, 8, 0x00E0, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x00FF, 0x0005FF, 0x000600, { -1, -1 }, { 0x000640, 0x000643 }, { 0x000FFF, 0x000FFF }, { 0x000600, 0x00063F }, 0x0FF0, "p12f529t48a.inc" , "12f529t48a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F609" , { "pic12f609" , "p12f609" , "12f609" }, 0xF609, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12f609.inc" , "12f609_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F615" , { "pic12f615" , "p12f615" , "12f615" }, 0xF615, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12f615.inc" , "12f615_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F617" , { "pic12f617" , "p12f617" , "12f617" }, 0xF617, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12f617.inc" , "12f617_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F629" , { "pic12f629" , "p12f629" , "12f629" }, 0x2629, 1, 2, 0x0080, { 0x20, 0x5F }, -1, { -1, -1 }, 0x00DF, 0x00217F, 0x000400, { 0x0003FF, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p12f629.inc" , "12f629_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F635" , { "pic12f635" , "p12f635" , "12f635" }, 0xF635, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p12f635.inc" , "12f635_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F675" , { "pic12f675" , "p12f675" , "12f675" }, 0x2675, 1, 2, 0x0080, { 0x20, 0x5F }, -1, { -1, -1 }, 0x00DF, 0x00217F, 0x000400, { 0x0003FF, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p12f675.inc" , "12f675_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F683" , { "pic12f683" , "p12f683" , "12f683" }, 0xF683, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p12f683.inc" , "12f683_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12F752" , { "pic12f752" , "p12f752" , "12f752" }, 0xF752, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12f752.inc" , "12f752_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12F1501" , { "pic12f1501" , "p12f1501" , "12f1501" }, 0x1501, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x202F }, 0x0FFF, 0x0003FF, 0x000400, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p12f1501.inc" , "12f1501_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12F1571" , { "pic12f1571" , "p12f1571" , "12f1571" }, 0x1571, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0003FF, 0x000400, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p12f1571.inc" , "12f1571_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12F1572" , { "pic12f1572" , "p12f1572" , "12f1572" }, 0x1572, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p12f1572.inc" , "12f1572_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12F1612" , { "pic12f1612" , "p12f1612" , "12f1612" }, 0x1612, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p12f1612.inc" , "12f1612_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12F1822" , { "pic12f1822" , "p12f1822" , "12f1822" }, 0x1822, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p12f1822.inc" , "12f1822_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12F1840" , { "pic12f1840" , "p12f1840" , "12f1840" }, 0x1840, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p12f1840.inc" , "12f1840_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12HV609" , { "pic12hv609" , "p12hv609" , "12hv609" }, 0x6609, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12hv609.inc" , "12hv609_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12HV615" , { "pic12hv615" , "p12hv615" , "12hv615" }, 0x6615, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12hv615.inc" , "12hv615_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__12HV752" , { "pic12hv752" , "p12hv752" , "12hv752" }, 0x6652, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p12hv752.inc" , "12hv752_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1501" , { "pic12lf1501" , "p12lf1501" , "12lf1501" }, 0xA501, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x202F }, 0x0FFF, 0x0003FF, 0x000400, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p12lf1501.inc" , "12lf1501_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1552" , { "pic12lf1552" , "p12lf1552" , "12lf1552" }, 0xA552, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p12lf1552.inc" , "12lf1552_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1571" , { "pic12lf1571" , "p12lf1571" , "12lf1571" }, 0xA571, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0003FF, 0x000400, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p12lf1571.inc" , "12lf1571_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1572" , { "pic12lf1572" , "p12lf1572" , "12lf1572" }, 0xA572, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p12lf1572.inc" , "12lf1572_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1612" , { "pic12lf1612" , "p12lf1612" , "12lf1612" }, 0xA612, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p12lf1612.inc" , "12lf1612_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1822" , { "pic12lf1822" , "p12lf1822" , "12lf1822" }, 0xA822, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p12lf1822.inc" , "12lf1822_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1840" , { "pic12lf1840" , "p12lf1840" , "12lf1840" }, 0xA840, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p12lf1840.inc" , "12lf1840_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__12LF1840T39A", { "pic12lf1840t39a", "p12lf1840t39a" , "12lf1840t39a" }, 0xC840, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p12lf1840t39a.inc", "12lf1840t39a_g.lkr", 0 },
{ PROC_CLASS_PIC14E , "__12LF1840T48A", { "pic12lf1840t48a", "p12lf1840t48a" , "12lf1840t48a" }, 0xB840, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p12lf1840t48a.inc", "12lf1840t48a_g.lkr", 0 },
{ PROC_CLASS_PIC12 , "__16C5X" , { "pic16c5x" , "p16c5x" , "16c5x" }, 0x658A, 4, 4, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { 0x000200, 0x000203 }, { -1, -1 }, { -1, -1 }, 0x0FF0, "p16c5x.inc" , NULL , 0 },
{ PROC_CLASS_PIC12 , "__16C52" , { "pic16c52" , "p16c52" , "16c52" }, 0x6C52, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x00017F, 0x000180, { -1, -1 }, { 0x000180, 0x000183 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c5x.inc" , "16c52_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C54" , { "pic16c54" , "p16c54" , "16c54" }, 0x6C54, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c54.inc" , "16c54_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C54A" , { "pic16c54a" , "p16c54a" , "16c54a" }, 0x654A, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c54a.inc" , "16c54a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C54B" , { "pic16c54b" , "p16c54b" , "16c54b" }, 0x654B, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c54a.inc" , "16c54b_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C54C" , { "pic16c54c" , "p16c54c" , "16c54c" }, 0x654C, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c54c.inc" , "16c54c_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C55" , { "pic16c55" , "p16c55" , "16c55" }, 0x6C55, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c55.inc" , "16c55_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C55A" , { "pic16c55a" , "p16c55a" , "16c55a" }, 0x655A, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c55a.inc" , "16c55a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C56" , { "pic16c56" , "p16c56" , "16c56" }, 0x6C56, 2, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c56.inc" , "16c56_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C56A" , { "pic16c56a" , "p16c56a" , "16c56a" }, 0x656A, 2, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c56a.inc" , "16c56a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C57" , { "pic16c57" , "p16c57" , "16c57" }, 0x6C57, 4, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c57.inc" , "16c57_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C57C" , { "pic16c57c" , "p16c57c" , "16c57c" }, 0x657C, 4, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c57c.inc" , "16c57c_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C58A" , { "pic16c58a" , "p16c58a" , "16c58a" }, 0x658A, 4, 4, 0x0060, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c58a.inc" , "16c58a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C58B" , { "pic16c58b" , "p16c58b" , "16c58b" }, 0x658B, 4, 4, 0x0060, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c58b.inc" , "16c58b_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C61" , { "pic16c61" , "p16c61" , "16c61" }, 0x6C61, 1, 2, 0x0080, { 0x0C, 0x2F }, -1, { -1, -1 }, 0x00AF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c61.inc" , "16c61_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C62" , { "pic16c62" , "p16c62" , "16c62" }, 0x6C62, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c62.inc" , "16c62_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C62A" , { "pic16c62a" , "p16c62a" , "16c62a" }, 0x662A, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c62a.inc" , "16c62a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C62B" , { "pic16c62b" , "p16c62b" , "16c62b" }, 0x662B, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c62b.inc" , "16c62b_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C63" , { "pic16c63" , "p16c63" , "16c63" }, 0x6C63, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c63.inc" , "16c63_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C63A" , { "pic16c63a" , "p16c63a" , "16c63a" }, 0x663A, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c63a.inc" , "16c63a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C64" , { "pic16c64" , "p16c64" , "16c64" }, 0x6C64, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c64.inc" , "16c64_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C64A" , { "pic16c64a" , "p16c64a" , "16c64a" }, 0x664A, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c64a.inc" , "16c64a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C65" , { "pic16c65" , "p16c65" , "16c65" }, 0x6C65, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c65.inc" , "16c65_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C65A" , { "pic16c65a" , "p16c65a" , "16c65a" }, 0x665A, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c65a.inc" , "16c65a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C65B" , { "pic16c65b" , "p16c65b" , "16c65b" }, 0x665B, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c65b.inc" , "16c65b_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C66" , { "pic16c66" , "p16c66" , "16c66" }, 0x6C66, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c66.inc" , "16c66_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C67" , { "pic16c67" , "p16c67" , "16c67" }, 0x6C67, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c67.inc" , "16c67_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C71" , { "pic16c71" , "p16c71" , "16c71" }, 0x6C71, 1, 2, 0x0080, { 0x0C, 0x2F }, -1, { -1, -1 }, 0x00AF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c71.inc" , "16c71_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C72" , { "pic16c72" , "p16c72" , "16c72" }, 0x6C72, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c72.inc" , "16c72_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C72A" , { "pic16c72a" , "p16c72a" , "16c72a" }, 0x672A, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c72a.inc" , "16c72a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C73" , { "pic16c73" , "p16c73" , "16c73" }, 0x6C73, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c73.inc" , "16c73_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C73A" , { "pic16c73a" , "p16c73a" , "16c73a" }, 0x673A, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c73a.inc" , "16c73a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C73B" , { "pic16c73b" , "p16c73b" , "16c73b" }, 0x673B, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c73b.inc" , "16c73b_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C74" , { "pic16c74" , "p16c74" , "16c74" }, 0x6C74, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c74.inc" , "16c74_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C74A" , { "pic16c74a" , "p16c74a" , "16c74a" }, 0x674A, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c74a.inc" , "16c74a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C74B" , { "pic16c74b" , "p16c74b" , "16c74b" }, 0x674B, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c74b.inc" , "16c74b_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C76" , { "pic16c76" , "p16c76" , "16c76" }, 0x6C76, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c76.inc" , "16c76_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C77" , { "pic16c77" , "p16c77" , "16c77" }, 0x6C77, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c77.inc" , "16c77_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C84" , { "pic16c84" , "p16c84" , "16c84" }, 0x6C84, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x008B, 0x00213F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16c84.inc" , "16c84_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C432" , { "pic16c432" , "p16c432" , "16c432" }, 0x6432, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c432.inc" , "16c432_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C433" , { "pic16c433" , "p16c433" , "16c433" }, 0x6433, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c433.inc" , "16c433_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16C505" , { "pic16c505" , "p16c505" , "16c505" }, 0x2505, 2, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16c505.inc" , "16c505_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C554" , { "pic16c554" , "p16c554" , "16c554" }, 0x6554, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x009F, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c554.inc" , "16c554_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C557" , { "pic16c557" , "p16c557" , "16c557" }, 0x6557, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c557.inc" , "16c557_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C558" , { "pic16c558" , "p16c558" , "16c558" }, 0x6558, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c558.inc" , "16c558_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C620" , { "pic16c620" , "p16c620" , "16c620" }, 0x6620, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x009F, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c620.inc" , "16c620_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C620A" , { "pic16c620a" , "p16c620a" , "16c620a" }, 0x620A, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c620a.inc" , "16c620a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C621" , { "pic16c621" , "p16c621" , "16c621" }, 0x6621, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x009F, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c621.inc" , "16c621_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C621A" , { "pic16c621a" , "p16c621a" , "16c621a" }, 0x621A, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c621a.inc" , "16c621a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C622" , { "pic16c622" , "p16c622" , "16c622" }, 0x6622, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c622.inc" , "16c622_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C622A" , { "pic16c622a" , "p16c622a" , "16c622a" }, 0x622A, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c622a.inc" , "16c622a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C642" , { "pic16c642" , "p16c642" , "16c642" }, 0x6642, 2, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c642.inc" , "16c642_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C662" , { "pic16c662" , "p16c662" , "16c662" }, 0x6662, 2, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c662.inc" , "16c662_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C710" , { "pic16c710" , "p16c710" , "16c710" }, 0x6710, 1, 2, 0x0080, { 0x0C, 0x2F }, -1, { -1, -1 }, 0x00AF, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c710.inc" , "16c710_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C711" , { "pic16c711" , "p16c711" , "16c711" }, 0x6711, 1, 2, 0x0080, { 0x0C, 0x4F }, -1, { -1, -1 }, 0x00CF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c711.inc" , "16c711_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C712" , { "pic16c712" , "p16c712" , "16c712" }, 0x6712, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c712.inc" , "16c712_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C715" , { "pic16c715" , "p16c715" , "16c715" }, 0x6715, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c715.inc" , "16c715_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C716" , { "pic16c716" , "p16c716" , "16c716" }, 0x6716, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c716.inc" , "16c716_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C717" , { "pic16c717" , "p16c717" , "16c717" }, 0x6717, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c717.inc" , "16c717_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C745" , { "pic16c745" , "p16c745" , "16c745" }, 0x6745, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c745.inc" , "16c745_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C765" , { "pic16c765" , "p16c765" , "16c765" }, 0x6765, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c765.inc" , "16c765_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C770" , { "pic16c770" , "p16c770" , "16c770" }, 0x6770, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c770.inc" , "16c770_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C771" , { "pic16c771" , "p16c771" , "16c771" }, 0x6771, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c771.inc" , "16c771_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C773" , { "pic16c773" , "p16c773" , "16c773" }, 0x6773, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c773.inc" , "16c773_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C774" , { "pic16c774" , "p16c774" , "16c774" }, 0x6774, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c774.inc" , "16c774_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C781" , { "pic16c781" , "p16c781" , "16c781" }, 0x6781, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c781.inc" , "16c781_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C782" , { "pic16c782" , "p16c782" , "16c782" }, 0x6782, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c782.inc" , "16c782_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C923" , { "pic16c923" , "p16c923" , "16c923" }, 0x6923, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c923.inc" , "16c923_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C924" , { "pic16c924" , "p16c924" , "16c924" }, 0x6924, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c924.inc" , "16c924_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C925" , { "pic16c925" , "p16c925" , "16c925" }, 0x6925, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c925.inc" , "16c925_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16C926" , { "pic16c926" , "p16c926" , "16c926" }, 0x6926, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16c926.inc" , "16c926_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CE623" , { "pic16ce623" , "p16ce623" , "16ce623" }, 0x6623, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16ce623.inc" , "16ce623_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CE624" , { "pic16ce624" , "p16ce624" , "16ce624" }, 0x6624, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16ce624.inc" , "16ce624_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CE625" , { "pic16ce625" , "p16ce625" , "16ce625" }, 0x6625, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16ce625.inc" , "16ce625_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR54" , { "pic16cr54" , "p16cr54" , "16cr54" }, 0xDC54, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr54.inc" , "16cr54_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR54A" , { "pic16cr54a" , "p16cr54a" , "16cr54a" }, 0xD54A, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr54a.inc" , "16cr54a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR54B" , { "pic16cr54b" , "p16cr54b" , "16cr54b" }, 0xD54B, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr54a.inc" , "16cr54b_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR54C" , { "pic16cr54c" , "p16cr54c" , "16cr54c" }, 0xD54C, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr54c.inc" , "16cr54c_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR56A" , { "pic16cr56a" , "p16cr56a" , "16cr56a" }, 0xD56A, 2, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr56a.inc" , "16cr56a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR57A" , { "pic16cr57a" , "p16cr57a" , "16cr57a" }, 0xD57A, 4, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr57a.inc" , "16cr57a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR57B" , { "pic16cr57b" , "p16cr57b" , "16cr57b" }, 0xD57B, 4, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr57b.inc" , "16cr57b_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR57C" , { "pic16cr57c" , "p16cr57c" , "16cr57c" }, 0xD57C, 4, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr57c.inc" , "16cr57c_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR58A" , { "pic16cr58a" , "p16cr58a" , "16cr58a" }, 0xD58A, 4, 4, 0x0060, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr58a.inc" , "16cr58a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16CR58B" , { "pic16cr58b" , "p16cr58b" , "16cr58b" }, 0xD58B, 4, 4, 0x0060, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16cr58b.inc" , "16cr58b_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR62" , { "pic16cr62" , "p16cr62" , "16cr62" }, 0xDC62, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16cr62.inc" , "16cr62_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR63" , { "pic16cr63" , "p16cr63" , "16cr63" }, 0x6D63, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16cr63.inc" , "16cr63_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR64" , { "pic16cr64" , "p16cr64" , "16cr64" }, 0xDC64, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16cr64.inc" , "16cr64_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR65" , { "pic16cr65" , "p16cr65" , "16cr65" }, 0x6D65, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16cr65.inc" , "16cr65_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR72" , { "pic16cr72" , "p16cr72" , "16cr72" }, 0x6D72, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00BF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16cr72.inc" , "16cr72_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR83" , { "pic16cr83" , "p16cr83" , "16cr83" }, 0xDC83, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x008B, 0x00213F, 0x000200, { 0x000200, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16cr83.inc" , "16cr83_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR84" , { "pic16cr84" , "p16cr84" , "16cr84" }, 0xDC84, 1, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x008B, 0x00213F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16cr84.inc" , "16cr84_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CR620A" , { "pic16cr620a" , "p16cr620a" , "16cr620a" }, 0xD20A, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0001FF, 0x000200, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16cr620a.inc" , "16cr620a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16CXX" , { "pic16cxx" , "p16cxx" , "16cxx" }, 0x6C77, 4, 4, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { 0x002000, 0x002003 }, { -1, -1 }, { -1, -1 }, 0x3F80, NULL , NULL , 0 },
{ PROC_CLASS_PIC12 , "__16F54" , { "pic16f54" , "p16f54" , "16f54" }, 0x6F54, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16f54.inc" , "16f54_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16F57" , { "pic16f57" , "p16f57" , "16f57" }, 0x6F57, 4, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16f57.inc" , "16f57_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16F59" , { "pic16f59" , "p16f59" , "16f59" }, 0x6F59, 4, 8, 0x00E0, { 0x0A, 0x0F }, 0x00F, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16f59.inc" , "16f59_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F72" , { "pic16f72" , "p16f72" , "16f72" }, 0x672F, 1, 4, 0x0180, { 0x40, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f72.inc" , "16f72_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F73" , { "pic16f73" , "p16f73" , "16f73" }, 0x673F, 2, 4, 0x0180, { -1, -1 }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f73.inc" , "16f73_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F74" , { "pic16f74" , "p16f74" , "16f74" }, 0x674F, 2, 4, 0x0180, { -1, -1 }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f74.inc" , "16f74_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F76" , { "pic16f76" , "p16f76" , "16f76" }, 0x676F, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f76.inc" , "16f76_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F77" , { "pic16f77" , "p16f77" , "16f77" }, 0x677F, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f77.inc" , "16f77_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F83" , { "pic16f83" , "p16f83" , "16f83" }, 0x6C83, 1, 2, 0x0080, { 0x0C, 0x2F }, -1, { -1, -1 }, 0x00AF, 0x00213F, 0x000200, { 0x000200, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16f83.inc" , "16f83_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F84" , { "pic16f84" , "p16f84" , "16f84" }, 0x684A, 1, 2, 0x0080, { 0x0C, 0x4F }, -1, { -1, -1 }, 0x00CF, 0x00213F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16f84.inc" , "16f84_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F84A" , { "pic16f84a" , "p16f84a" , "16f84a" }, 0x6F84, 1, 2, 0x0080, { 0x0C, 0x4F }, -1, { -1, -1 }, 0x00CF, 0x00213F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16f84a.inc" , "16f84a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F87" , { "pic16f87" , "p16f87" , "16f87" }, 0x687F, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f87.inc" , "16f87_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F88" , { "pic16f88" , "p16f88" , "16f88" }, 0x688F, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f88.inc" , "16f88_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16F505" , { "pic16f505" , "p16f505" , "16f505" }, 0xF505, 2, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16f505.inc" , "16f505_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16F506" , { "pic16f506" , "p16f506" , "16f506" }, 0xF506, 2, 4, 0x0060, { 0x0D, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16f506.inc" , "16f506_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__16F526" , { "pic16f526" , "p16f526" , "16f526" }, 0xF526, 2, 4, 0x0060, { 0x0D, 0x0F }, -1, { -1, -1 }, 0x007F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000440, 0x000443 }, { 0x000FFF, 0x000FFF }, { 0x000400, 0x00043F }, 0x0FF0, "p16f526.inc" , "16f526_g.lkr" , 0 },
{ PROC_CLASS_PIC12I , "__16F527" , { "pic16f527" , "p16f527" , "16f527" }, 0xF527, 2, 4, 0x0060, { 0x0C, 0x0F }, -1, { -1, -1 }, 0x007F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000440, 0x000443 }, { 0x000FFF, 0x000FFF }, { 0x000400, 0x00043F }, 0x0FF0, "p16f527.inc" , "16f527_g.lkr" , 0 },
{ PROC_CLASS_PIC12I , "__16F570" , { "pic16f570" , "p16f570" , "16f570" }, 0xF570, 4, 8, 0x00E0, { 0x0C, 0x0F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x000840, 0x000843 }, { 0x000FFF, 0x000FFF }, { 0x000800, 0x00083F }, 0x0FF0, "p16f570.inc" , "16f570_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F610" , { "pic16f610" , "p16f610" , "16f610" }, 0xF610, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f610.inc" , "16f610_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F616" , { "pic16f616" , "p16f616" , "16f616" }, 0xF616, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f616.inc" , "16f616_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F627" , { "pic16f627" , "p16f627" , "16f627" }, 0x6627, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f627.inc" , "16f627_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F627A" , { "pic16f627a" , "p16f627a" , "16f627a" }, 0x627A, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f627a.inc" , "16f627a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F628" , { "pic16f628" , "p16f628" , "16f628" }, 0x6628, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f628.inc" , "16f628_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F628A" , { "pic16f628a" , "p16f628a" , "16f628a" }, 0x628A, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f628a.inc" , "16f628a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F630" , { "pic16f630" , "p16f630" , "16f630" }, 0x6630, 1, 2, 0x0080, { 0x20, 0x5F }, -1, { -1, -1 }, 0x00DF, 0x00217F, 0x000400, { 0x0003FF, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f630.inc" , "16f630_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F631" , { "pic16f631" , "p16f631" , "16f631" }, 0x6631, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f631.inc" , "16f631_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F636" , { "pic16f636" , "p16f636" , "16f636" }, 0xF636, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f636.inc" , "16f636_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F639" , { "pic16f639" , "p16f639" , "16f639" }, 0xF639, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f639.inc" , "16f639_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F648A" , { "pic16f648a" , "p16f648a" , "16f648a" }, 0x648A, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f648a.inc" , "16f648a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F676" , { "pic16f676" , "p16f676" , "16f676" }, 0x6676, 1, 2, 0x0080, { 0x20, 0x5F }, -1, { -1, -1 }, 0x00DF, 0x00217F, 0x000400, { 0x0003FF, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f676.inc" , "16f676_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F677" , { "pic16f677" , "p16f677" , "16f677" }, 0x6677, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f677.inc" , "16f677_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F684" , { "pic16f684" , "p16f684" , "16f684" }, 0x6684, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f684.inc" , "16f684_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F685" , { "pic16f685" , "p16f685" , "16f685" }, 0x6685, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f685.inc" , "16f685_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F687" , { "pic16f687" , "p16f687" , "16f687" }, 0x6687, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f687.inc" , "16f687_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F688" , { "pic16f688" , "p16f688" , "16f688" }, 0x6688, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f688.inc" , "16f688_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F689" , { "pic16f689" , "p16f689" , "16f689" }, 0x6689, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f689.inc" , "16f689_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F690" , { "pic16f690" , "p16f690" , "16f690" }, 0x6690, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f690.inc" , "16f690_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F707" , { "pic16f707" , "p16f707" , "16f707" }, 0xF707, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f707.inc" , "16f707_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F716" , { "pic16f716" , "p16f716" , "16f716" }, 0xF716, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f716.inc" , "16f716_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F720" , { "pic16f720" , "p16f720" , "16f720" }, 0xF720, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f720.inc" , "16f720_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F721" , { "pic16f721" , "p16f721" , "16f721" }, 0xF721, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f721.inc" , "16f721_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F722" , { "pic16f722" , "p16f722" , "16f722" }, 0xF722, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f722.inc" , "16f722_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F722A" , { "pic16f722a" , "p16f722a" , "16f722a" }, 0xA722, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f722a.inc" , "16f722a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F723" , { "pic16f723" , "p16f723" , "16f723" }, 0xF723, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f723.inc" , "16f723_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F723A" , { "pic16f723a" , "p16f723a" , "16f723a" }, 0xA723, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f723a.inc" , "16f723a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F724" , { "pic16f724" , "p16f724" , "16f724" }, 0xF724, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f724.inc" , "16f724_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F726" , { "pic16f726" , "p16f726" , "16f726" }, 0xF726, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f726.inc" , "16f726_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F727" , { "pic16f727" , "p16f727" , "16f727" }, 0xF727, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f727.inc" , "16f727_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F737" , { "pic16f737" , "p16f737" , "16f737" }, 0x6737, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f737.inc" , "16f737_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F747" , { "pic16f747" , "p16f747" , "16f747" }, 0x6747, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f747.inc" , "16f747_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F753" , { "pic16f753" , "p16f753" , "16f753" }, 0xF753, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16f753.inc" , "16f753_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F767" , { "pic16f767" , "p16f767" , "16f767" }, 0x6767, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f767.inc" , "16f767_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F777" , { "pic16f777" , "p16f777" , "16f777" }, 0x6777, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16f777.inc" , "16f777_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F785" , { "pic16f785" , "p16f785" , "16f785" }, 0xF785, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f785.inc" , "16f785_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F818" , { "pic16f818" , "p16f818" , "16f818" }, 0x818F, 1, 4, 0x0180, { 0x40, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f818.inc" , "16f818_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F819" , { "pic16f819" , "p16f819" , "16f819" }, 0x819F, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f819.inc" , "16f819_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F870" , { "pic16f870" , "p16f870" , "16f870" }, 0x870F, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00213F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16f870.inc" , "16f870_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F871" , { "pic16f871" , "p16f871" , "16f871" }, 0x871F, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00213F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16f871.inc" , "16f871_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F872" , { "pic16f872" , "p16f872" , "16f872" }, 0x872F, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00213F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16f872.inc" , "16f872_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F873" , { "pic16f873" , "p16f873" , "16f873" }, 0x873F, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f873.inc" , "16f873_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F873A" , { "pic16f873a" , "p16f873a" , "16f873a" }, 0x873A, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f873a.inc" , "16f873a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F874" , { "pic16f874" , "p16f874" , "16f874" }, 0x874F, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f874.inc" , "16f874_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F874A" , { "pic16f874a" , "p16f874a" , "16f874a" }, 0x874A, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16f874a.inc" , "16f874a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F876" , { "pic16f876" , "p16f876" , "16f876" }, 0x876F, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f876.inc" , "16f876_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F876A" , { "pic16f876a" , "p16f876a" , "16f876a" }, 0x876A, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f876a.inc" , "16f876a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F877" , { "pic16f877" , "p16f877" , "16f877" }, 0x877F, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f877.inc" , "16f877_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F877A" , { "pic16f877a" , "p16f877a" , "16f877a" }, 0x877A, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f877a.inc" , "16f877a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F882" , { "pic16f882" , "p16f882" , "16f882" }, 0x882F, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x00217F }, 0x3F80, "p16f882.inc" , "16f882_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F883" , { "pic16f883" , "p16f883" , "16f883" }, 0x883F, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f883.inc" , "16f883_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F884" , { "pic16f884" , "p16f884" , "16f884" }, 0x884F, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f884.inc" , "16f884_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F886" , { "pic16f886" , "p16f886" , "16f886" }, 0x886F, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f886.inc" , "16f886_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F887" , { "pic16f887" , "p16f887" , "16f887" }, 0x887F, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f887.inc" , "16f887_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F913" , { "pic16f913" , "p16f913" , "16f913" }, 0xF913, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f913.inc" , "16f913_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F914" , { "pic16f914" , "p16f914" , "16f914" }, 0xF914, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f914.inc" , "16f914_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F916" , { "pic16f916" , "p16f916" , "16f916" }, 0xF916, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f916.inc" , "16f916_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F917" , { "pic16f917" , "p16f917" , "16f917" }, 0xF917, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f917.inc" , "16f917_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16F946" , { "pic16f946" , "p16f946" , "16f946" }, 0xF946, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16f946.inc" , "16f946_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1454" , { "pic16f1454" , "p16f1454" , "16f1454" }, 0x1454, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1454.inc" , "16f1454_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1455" , { "pic16f1455" , "p16f1455" , "16f1455" }, 0x1455, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1455.inc" , "16f1455_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1458" , { "pic16f1458" , "p16f1458" , "16f1458" }, 0x1458, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1458.inc" , "16f1458_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1459" , { "pic16f1459" , "p16f1459" , "16f1459" }, 0x1459, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1459.inc" , "16f1459_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1503" , { "pic16f1503" , "p16f1503" , "16f1503" }, 0x1503, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1503.inc" , "16f1503_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1507" , { "pic16f1507" , "p16f1507" , "16f1507" }, 0x1507, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1507.inc" , "16f1507_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1508" , { "pic16f1508" , "p16f1508" , "16f1508" }, 0x1508, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1508.inc" , "16f1508_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1509" , { "pic16f1509" , "p16f1509" , "16f1509" }, 0x1509, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1509.inc" , "16f1509_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1512" , { "pic16f1512" , "p16f1512" , "16f1512" }, 0x1512, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1512.inc" , "16f1512_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1513" , { "pic16f1513" , "p16f1513" , "16f1513" }, 0x1513, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1513.inc" , "16f1513_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1516" , { "pic16f1516" , "p16f1516" , "16f1516" }, 0x1516, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1516.inc" , "16f1516_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1517" , { "pic16f1517" , "p16f1517" , "16f1517" }, 0x1517, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1517.inc" , "16f1517_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1518" , { "pic16f1518" , "p16f1518" , "16f1518" }, 0x1518, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1518.inc" , "16f1518_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1519" , { "pic16f1519" , "p16f1519" , "16f1519" }, 0x1519, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1519.inc" , "16f1519_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1526" , { "pic16f1526" , "p16f1526" , "16f1526" }, 0x1526, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x22EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1526.inc" , "16f1526_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1527" , { "pic16f1527" , "p16f1527" , "16f1527" }, 0x1527, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x25EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1527.inc" , "16f1527_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1574" , { "pic16f1574" , "p16f1574" , "16f1574" }, 0x1574, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1574.inc" , "16f1574_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1575" , { "pic16f1575" , "p16f1575" , "16f1575" }, 0x1575, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1575.inc" , "16f1575_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1578" , { "pic16f1578" , "p16f1578" , "16f1578" }, 0x1578, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1578.inc" , "16f1578_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1579" , { "pic16f1579" , "p16f1579" , "16f1579" }, 0x1579, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1579.inc" , "16f1579_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1613" , { "pic16f1613" , "p16f1613" , "16f1613" }, 0x1613, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16f1613.inc" , "16f1613_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1614" , { "pic16f1614" , "p16f1614" , "16f1614" }, 0x1614, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16f1614.inc" , "16f1614_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1615" , { "pic16f1615" , "p16f1615" , "16f1615" }, 0x1615, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16f1615.inc" , "16f1615_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1618" , { "pic16f1618" , "p16f1618" , "16f1618" }, 0x1618, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16f1618.inc" , "16f1618_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1619" , { "pic16f1619" , "p16f1619" , "16f1619" }, 0x1619, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16f1619.inc" , "16f1619_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1703" , { "pic16f1703" , "p16f1703" , "16f1703" }, 0x1703, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1703.inc" , "16f1703_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1704" , { "pic16f1704" , "p16f1704" , "16f1704" }, 0x1704, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1704.inc" , "16f1704_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1705" , { "pic16f1705" , "p16f1705" , "16f1705" }, 0x1705, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1705.inc" , "16f1705_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1707" , { "pic16f1707" , "p16f1707" , "16f1707" }, 0x1707, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1707.inc" , "16f1707_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1708" , { "pic16f1708" , "p16f1708" , "16f1708" }, 0x1708, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1708.inc" , "16f1708_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1709" , { "pic16f1709" , "p16f1709" , "16f1709" }, 0x1709, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1709.inc" , "16f1709_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1713" , { "pic16f1713" , "p16f1713" , "16f1713" }, 0x1713, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1713.inc" , "16f1713_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1716" , { "pic16f1716" , "p16f1716" , "16f1716" }, 0x1716, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1716.inc" , "16f1716_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1717" , { "pic16f1717" , "p16f1717" , "16f1717" }, 0x1717, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1717.inc" , "16f1717_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1718" , { "pic16f1718" , "p16f1718" , "16f1718" }, 0x1718, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1718.inc" , "16f1718_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1719" , { "pic16f1719" , "p16f1719" , "16f1719" }, 0x1719, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1719.inc" , "16f1719_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1764" , { "pic16f1764" , "p16f1764" , "16f1764" }, 0x1764, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1764.inc" , "16f1764_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1765" , { "pic16f1765" , "p16f1765" , "16f1765" }, 0x1765, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23AF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1765.inc" , "16f1765_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1768" , { "pic16f1768" , "p16f1768" , "16f1768" }, 0x1768, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1768.inc" , "16f1768_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1769" , { "pic16f1769" , "p16f1769" , "16f1769" }, 0x1769, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1769.inc" , "16f1769_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1773" , { "pic16f1773" , "p16f1773" , "16f1773" }, 0x1773, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1773.inc" , "16f1773_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1776" , { "pic16f1776" , "p16f1776" , "16f1776" }, 0x1776, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1776.inc" , "16f1776_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1777" , { "pic16f1777" , "p16f1777" , "16f1777" }, 0x1777, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1777.inc" , "16f1777_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1778" , { "pic16f1778" , "p16f1778" , "16f1778" }, 0x1778, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27CF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1778.inc" , "16f1778_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1779" , { "pic16f1779" , "p16f1779" , "16f1779" }, 0x1779, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16f1779.inc" , "16f1779_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1782" , { "pic16f1782" , "p16f1782" , "16f1782" }, 0x1782, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1782.inc" , "16f1782_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1783" , { "pic16f1783" , "p16f1783" , "16f1783" }, 0x1783, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1783.inc" , "16f1783_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1784" , { "pic16f1784" , "p16f1784" , "16f1784" }, 0x1784, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1784.inc" , "16f1784_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1786" , { "pic16f1786" , "p16f1786" , "16f1786" }, 0x1786, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1786.inc" , "16f1786_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1787" , { "pic16f1787" , "p16f1787" , "16f1787" }, 0x1787, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1787.inc" , "16f1787_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1788" , { "pic16f1788" , "p16f1788" , "16f1788" }, 0x1788, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1788.inc" , "16f1788_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1789" , { "pic16f1789" , "p16f1789" , "16f1789" }, 0x1789, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1789.inc" , "16f1789_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1823" , { "pic16f1823" , "p16f1823" , "16f1823" }, 0x1823, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1823.inc" , "16f1823_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1824" , { "pic16f1824" , "p16f1824" , "16f1824" }, 0x1824, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1824.inc" , "16f1824_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1825" , { "pic16f1825" , "p16f1825" , "16f1825" }, 0x1825, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1825.inc" , "16f1825_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1826" , { "pic16f1826" , "p16f1826" , "16f1826" }, 0x1826, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1826.inc" , "16f1826_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1827" , { "pic16f1827" , "p16f1827" , "16f1827" }, 0x1827, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x216F }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1827.inc" , "16f1827_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1828" , { "pic16f1828" , "p16f1828" , "16f1828" }, 0x1828, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1828.inc" , "16f1828_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1829" , { "pic16f1829" , "p16f1829" , "16f1829" }, 0x1829, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1829.inc" , "16f1829_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1829LIN" , { "pic16f1829lin" , "p16f1829lin" , "16f1829lin" }, 0xB829, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1829lin.inc" , "16f1829lin_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1847" , { "pic16f1847" , "p16f1847" , "16f1847" }, 0x1847, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1847.inc" , "16f1847_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1933" , { "pic16f1933" , "p16f1933" , "16f1933" }, 0x1933, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1933.inc" , "16f1933_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1934" , { "pic16f1934" , "p16f1934" , "16f1934" }, 0x1934, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1934.inc" , "16f1934_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1936" , { "pic16f1936" , "p16f1936" , "16f1936" }, 0x1936, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1936.inc" , "16f1936_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1937" , { "pic16f1937" , "p16f1937" , "16f1937" }, 0x1937, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1937.inc" , "16f1937_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1938" , { "pic16f1938" , "p16f1938" , "16f1938" }, 0x1938, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1938.inc" , "16f1938_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1939" , { "pic16f1939" , "p16f1939" , "16f1939" }, 0x1939, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1939.inc" , "16f1939_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1946" , { "pic16f1946" , "p16f1946" , "16f1946" }, 0x1946, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1946.inc" , "16f1946_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F1947" , { "pic16f1947" , "p16f1947" , "16f1947" }, 0x1947, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f1947.inc" , "16f1947_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16F15324" , { "pic16f15324" , "p16f15324" , "16f15324" }, 0xA2AA, 2, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x1FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15324.inc" , "16f15324_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15325" , { "pic16f15325" , "p16f15325" , "16f15325" }, 0xA29E, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15325.inc" , "16f15325_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15344" , { "pic16f15344" , "p16f15344" , "16f15344" }, 0xA2AB, 2, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x1FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15344.inc" , "16f15344_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15345" , { "pic16f15345" , "p16f15345" , "16f15345" }, 0xA29F, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15345.inc" , "16f15345_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15354" , { "pic16f15354" , "p16f15354" , "16f15354" }, 0xA280, 2, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15354.inc" , "16f15354_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15355" , { "pic16f15355" , "p16f15355" , "16f15355" }, 0xA27F, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x25EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15355.inc" , "16f15355_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15356" , { "pic16f15356" , "p16f15356" , "16f15356" }, 0xA290, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15356.inc" , "16f15356_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15375" , { "pic16f15375" , "p16f15375" , "16f15375" }, 0xA292, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15375.inc" , "16f15375_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15376" , { "pic16f15376" , "p16f15376" , "16f15376" }, 0xA294, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15376.inc" , "16f15376_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15385" , { "pic16f15385" , "p16f15385" , "16f15385" }, 0xA296, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15385.inc" , "16f15385_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F15386" , { "pic16f15386" , "p16f15386" , "16f15386" }, 0xA298, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16f15386.inc" , "16f15386_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16F18313" , { "pic16f18313" , "p16f18313" , "16f18313" }, 0x1832, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18313.inc" , "16f18313_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16F18323" , { "pic16f18323" , "p16f18323" , "16f18323" }, 0x1833, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18323.inc" , "16f18323_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16F18324" , { "pic16f18324" , "p16f18324" , "16f18324" }, 0x8324, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18324.inc" , "16f18324_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16F18325" , { "pic16f18325" , "p16f18325" , "16f18325" }, 0x1835, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18325.inc" , "16f18325_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16F18326" , { "pic16f18326" , "p16f18326" , "16f18326" }, 0x8326, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18326.inc" , "16f18326_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F18344" , { "pic16f18344" , "p16f18344" , "16f18344" }, 0x8344, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18344.inc" , "16f18344_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16F18345" , { "pic16f18345" , "p16f18345" , "16f18345" }, 0x1834, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18345.inc" , "16f18345_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16F18346" , { "pic16f18346" , "p16f18346" , "16f18346" }, 0x8346, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18346.inc" , "16f18346_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F18854" , { "pic16f18854" , "p16f18854" , "16f18854" }, 0x8854, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18854.inc" , "16f18854_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F18855" , { "pic16f18855" , "p16f18855" , "16f18855" }, 0x8855, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18855.inc" , "16f18855_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F18856" , { "pic16f18856" , "p16f18856" , "16f18856" }, 0x8856, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18856.inc" , "16f18856_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16F18857" , { "pic16f18857" , "p16f18857" , "16f18857" }, 0x8857, 16, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x30BF }, 0x1FFF, 0x00F0FF, 0x008000, { 0x008000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18857.inc" , "16f18857_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F18875" , { "pic16f18875" , "p16f18875" , "16f18875" }, 0x8875, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18875.inc" , "16f18875_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16F18876" , { "pic16f18876" , "p16f18876" , "16f18876" }, 0x8876, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18876.inc" , "16f18876_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16F18877" , { "pic16f18877" , "p16f18877" , "16f18877" }, 0x8877, 16, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x31EF }, 0x1FFF, 0x00F0FF, 0x008000, { 0x008000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f18877.inc" , "16f18877_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16F19195" , { "pic16f19195" , "p16f19195" , "16f19195" }, 0xA279, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f19195.inc" , "16f19195_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F19196" , { "pic16f19196" , "p16f19196" , "16f19196" }, 0xA27A, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f19196.inc" , "16f19196_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16F19197" , { "pic16f19197" , "p16f19197" , "16f19197" }, 0xA27B, 16, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x31EF }, 0x1FFF, 0x00F0FF, 0x008000, { 0x008000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16f19197.inc" , "16f19197_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC12 , "__16HV540" , { "pic16hv540" , "p16hv540" , "16hv540" }, 0x6540, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "p16hv540.inc" , "16hv540_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16HV610" , { "pic16hv610" , "p16hv610" , "16hv610" }, 0x6610, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0003FF, 0x000400, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16hv610.inc" , "16hv610_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16HV616" , { "pic16hv616" , "p16hv616" , "16hv616" }, 0x6616, 1, 2, 0x0080, { 0x70, 0x7F }, -1, { -1, -1 }, 0x00FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16hv616.inc" , "16hv616_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16HV753" , { "pic16hv753" , "p16hv753" , "16hv753" }, 0x6753, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16hv753.inc" , "16hv753_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16HV785" , { "pic16hv785" , "p16hv785" , "16hv785" }, 0x6785, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16hv785.inc" , "16hv785_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF74" , { "pic16lf74" , "p16lf74" , "16lf74" }, 0xA674, 2, 4, 0x0180, { -1, -1 }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16lf74.inc" , "16lf74_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF76" , { "pic16lf76" , "p16lf76" , "16lf76" }, 0xA676, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16lf76.inc" , "16lf76_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF77" , { "pic16lf77" , "p16lf77" , "16lf77" }, 0xA677, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p16lf77.inc" , "16lf77_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF83" , { "pic16lf83" , "p16lf83" , "16lf83" }, 0xA683, 1, 2, 0x0080, { 0x0C, 0x2F }, -1, { -1, -1 }, 0x00AF, 0x00213F, 0x000200, { 0x000200, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16lf83.inc" , "16lf83_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF84" , { "pic16lf84" , "p16lf84" , "16lf84" }, 0xA684, 1, 2, 0x0080, { 0x0C, 0x4F }, -1, { -1, -1 }, 0x00CF, 0x00213F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16lf84.inc" , "16lf84_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF84A" , { "pic16lf84a" , "p16lf84a" , "16lf84a" }, 0xA685, 1, 2, 0x0080, { 0x0C, 0x4F }, -1, { -1, -1 }, 0x00CF, 0x00213F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16lf84a.inc" , "16lf84a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF87" , { "pic16lf87" , "p16lf87" , "16lf87" }, 0xA807, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf87.inc" , "16lf87_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF88" , { "pic16lf88" , "p16lf88" , "16lf88" }, 0xA808, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf88.inc" , "16lf88_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF627" , { "pic16lf627" , "p16lf627" , "16lf627" }, 0xA627, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf627.inc" , "16lf627_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF627A" , { "pic16lf627a" , "p16lf627a" , "16lf627a" }, 0xC627, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf627a.inc" , "16lf627a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF628" , { "pic16lf628" , "p16lf628" , "16lf628" }, 0xB628, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf628.inc" , "16lf628_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF628A" , { "pic16lf628a" , "p16lf628a" , "16lf628a" }, 0xC628, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf628a.inc" , "16lf628a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF648A" , { "pic16lf648a" , "p16lf648a" , "16lf648a" }, 0xC648, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf648a.inc" , "16lf648a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF707" , { "pic16lf707" , "p16lf707" , "16lf707" }, 0xD707, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf707.inc" , "16lf707_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF720" , { "pic16lf720" , "p16lf720" , "16lf720" }, 0xD720, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf720.inc" , "16lf720_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF721" , { "pic16lf721" , "p16lf721" , "16lf721" }, 0xD721, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf721.inc" , "16lf721_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF722" , { "pic16lf722" , "p16lf722" , "16lf722" }, 0xD722, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf722.inc" , "16lf722_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF722A" , { "pic16lf722a" , "p16lf722a" , "16lf722a" }, 0xB722, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0007FF, 0x000800, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf722a.inc" , "16lf722a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF723" , { "pic16lf723" , "p16lf723" , "16lf723" }, 0xD723, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf723.inc" , "16lf723_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF723A" , { "pic16lf723a" , "p16lf723a" , "16lf723a" }, 0xB723, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf723a.inc" , "16lf723a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF724" , { "pic16lf724" , "p16lf724" , "16lf724" }, 0xD724, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf724.inc" , "16lf724_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF726" , { "pic16lf726" , "p16lf726" , "16lf726" }, 0xD726, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf726.inc" , "16lf726_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF727" , { "pic16lf727" , "p16lf727" , "16lf727" }, 0xD727, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf727.inc" , "16lf727_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF747" , { "pic16lf747" , "p16lf747" , "16lf747" }, 0xA747, 2, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x000FFF, 0x001000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf747.inc" , "16lf747_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF767" , { "pic16lf767" , "p16lf767" , "16lf767" }, 0xA767, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf767.inc" , "16lf767_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF777" , { "pic16lf777" , "p16lf777" , "16lf777" }, 0xA777, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x001FFF, 0x002000, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002008 }, { -1, -1 }, 0x3F80, "p16lf777.inc" , "16lf777_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF818" , { "pic16lf818" , "p16lf818" , "16lf818" }, 0xA818, 1, 4, 0x0180, { 0x40, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x000400, { 0x000400, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf818.inc" , "16lf818_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF819" , { "pic16lf819" , "p16lf819" , "16lf819" }, 0xA819, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf819.inc" , "16lf819_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF870" , { "pic16lf870" , "p16lf870" , "16lf870" }, 0xA870, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00213F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16lf870.inc" , "16lf870_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF871" , { "pic16lf871" , "p16lf871" , "16lf871" }, 0xA871, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00213F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16lf871.inc" , "16lf871_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF872" , { "pic16lf872" , "p16lf872" , "16lf872" }, 0xA800, 1, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x00213F, 0x000800, { 0x000800, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00213F }, 0x3F80, "p16lf872.inc" , "16lf872_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF873" , { "pic16lf873" , "p16lf873" , "16lf873" }, 0xA873, 2, 4, 0x0180, { -1, -1 }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf873.inc" , "16lf873_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF873A" , { "pic16lf873a" , "p16lf873a" , "16lf873a" }, 0xA803, 2, 4, 0x0180, { -1, -1 }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf873a.inc" , "16lf873a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF874" , { "pic16lf874" , "p16lf874" , "16lf874" }, 0xA874, 2, 4, 0x0180, { -1, -1 }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf874.inc" , "16lf874_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF874A" , { "pic16lf874a" , "p16lf874a" , "16lf874a" }, 0xA804, 2, 4, 0x0180, { -1, -1 }, -1, { -1, -1 }, 0x01FF, 0x00217F, 0x001000, { 0x001000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "p16lf874a.inc" , "16lf874a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF876" , { "pic16lf876" , "p16lf876" , "16lf876" }, 0xA801, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf876.inc" , "16lf876_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF876A" , { "pic16lf876a" , "p16lf876a" , "16lf876a" }, 0xA805, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf876a.inc" , "16lf876a_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF877" , { "pic16lf877" , "p16lf877" , "16lf877" }, 0xA802, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf877.inc" , "16lf877_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__16LF877A" , { "pic16lf877a" , "p16lf877a" , "16lf877a" }, 0xA806, 4, 4, 0x0180, { 0x70, 0x7F }, -1, { -1, -1 }, 0x01FF, 0x0021FF, 0x002000, { 0x002000, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x0021FF }, 0x3F80, "p16lf877a.inc" , "16lf877a_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1454" , { "pic16lf1454" , "p16lf1454" , "16lf1454" }, 0xA454, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1454.inc" , "16lf1454_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1455" , { "pic16lf1455" , "p16lf1455" , "16lf1455" }, 0xA455, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1455.inc" , "16lf1455_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1458" , { "pic16lf1458" , "p16lf1458" , "16lf1458" }, 0xA458, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1458.inc" , "16lf1458_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1459" , { "pic16lf1459" , "p16lf1459" , "16lf1459" }, 0xA459, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1459.inc" , "16lf1459_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1503" , { "pic16lf1503" , "p16lf1503" , "16lf1503" }, 0xA503, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1503.inc" , "16lf1503_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1507" , { "pic16lf1507" , "p16lf1507" , "16lf1507" }, 0xA507, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1507.inc" , "16lf1507_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1508" , { "pic16lf1508" , "p16lf1508" , "16lf1508" }, 0xA508, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1508.inc" , "16lf1508_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1509" , { "pic16lf1509" , "p16lf1509" , "16lf1509" }, 0xA509, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1509.inc" , "16lf1509_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1512" , { "pic16lf1512" , "p16lf1512" , "16lf1512" }, 0xA512, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1512.inc" , "16lf1512_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1513" , { "pic16lf1513" , "p16lf1513" , "16lf1513" }, 0xA513, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1513.inc" , "16lf1513_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1516" , { "pic16lf1516" , "p16lf1516" , "16lf1516" }, 0xA516, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1516.inc" , "16lf1516_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1517" , { "pic16lf1517" , "p16lf1517" , "16lf1517" }, 0xA517, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1517.inc" , "16lf1517_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1518" , { "pic16lf1518" , "p16lf1518" , "16lf1518" }, 0xA518, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1518.inc" , "16lf1518_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1519" , { "pic16lf1519" , "p16lf1519" , "16lf1519" }, 0xA519, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1519.inc" , "16lf1519_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1526" , { "pic16lf1526" , "p16lf1526" , "16lf1526" }, 0xA526, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x22EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1526.inc" , "16lf1526_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1527" , { "pic16lf1527" , "p16lf1527" , "16lf1527" }, 0xA527, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x25EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1527.inc" , "16lf1527_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1554" , { "pic16lf1554" , "p16lf1554" , "16lf1554" }, 0xA554, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1554.inc" , "16lf1554_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1559" , { "pic16lf1559" , "p16lf1559" , "16lf1559" }, 0xA559, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1559.inc" , "16lf1559_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1566" , { "pic16lf1566" , "p16lf1566" , "16lf1566" }, 0xA566, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1566.inc" , "16lf1566_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1567" , { "pic16lf1567" , "p16lf1567" , "16lf1567" }, 0xA567, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1567.inc" , "16lf1567_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1574" , { "pic16lf1574" , "p16lf1574" , "16lf1574" }, 0xA574, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1574.inc" , "16lf1574_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1575" , { "pic16lf1575" , "p16lf1575" , "16lf1575" }, 0xA575, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1575.inc" , "16lf1575_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1578" , { "pic16lf1578" , "p16lf1578" , "16lf1578" }, 0xA578, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1578.inc" , "16lf1578_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1579" , { "pic16lf1579" , "p16lf1579" , "16lf1579" }, 0xA579, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1579.inc" , "16lf1579_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1613" , { "pic16lf1613" , "p16lf1613" , "16lf1613" }, 0xA613, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16lf1613.inc" , "16lf1613_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1614" , { "pic16lf1614" , "p16lf1614" , "16lf1614" }, 0xA614, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16lf1614.inc" , "16lf1614_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1615" , { "pic16lf1615" , "p16lf1615" , "16lf1615" }, 0xA615, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16lf1615.inc" , "16lf1615_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1618" , { "pic16lf1618" , "p16lf1618" , "16lf1618" }, 0xA618, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16lf1618.inc" , "16lf1618_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1619" , { "pic16lf1619" , "p16lf1619" , "16lf1619" }, 0xA619, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23DF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008009 }, { -1, -1 }, 0x3F80, "p16lf1619.inc" , "16lf1619_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1703" , { "pic16lf1703" , "p16lf1703" , "16lf1703" }, 0xA703, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1703.inc" , "16lf1703_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1704" , { "pic16lf1704" , "p16lf1704" , "16lf1704" }, 0xA704, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1704.inc" , "16lf1704_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1705" , { "pic16lf1705" , "p16lf1705" , "16lf1705" }, 0xA705, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1705.inc" , "16lf1705_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1707" , { "pic16lf1707" , "p16lf1707" , "16lf1707" }, 0xA707, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1707.inc" , "16lf1707_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1708" , { "pic16lf1708" , "p16lf1708" , "16lf1708" }, 0xA708, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1708.inc" , "16lf1708_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1709" , { "pic16lf1709" , "p16lf1709" , "16lf1709" }, 0xA709, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1709.inc" , "16lf1709_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1713" , { "pic16lf1713" , "p16lf1713" , "16lf1713" }, 0xA713, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1713.inc" , "16lf1713_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1716" , { "pic16lf1716" , "p16lf1716" , "16lf1716" }, 0xB716, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1716.inc" , "16lf1716_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1717" , { "pic16lf1717" , "p16lf1717" , "16lf1717" }, 0xA717, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1717.inc" , "16lf1717_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1718" , { "pic16lf1718" , "p16lf1718" , "16lf1718" }, 0xA718, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1718.inc" , "16lf1718_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1719" , { "pic16lf1719" , "p16lf1719" , "16lf1719" }, 0xA719, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1719.inc" , "16lf1719_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1764" , { "pic16lf1764" , "p16lf1764" , "16lf1764" }, 0xA764, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1764.inc" , "16lf1764_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1765" , { "pic16lf1765" , "p16lf1765" , "16lf1765" }, 0xA765, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23AF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1765.inc" , "16lf1765_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1768" , { "pic16lf1768" , "p16lf1768" , "16lf1768" }, 0xA768, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1768.inc" , "16lf1768_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1769" , { "pic16lf1769" , "p16lf1769" , "16lf1769" }, 0xA769, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1769.inc" , "16lf1769_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1773" , { "pic16lf1773" , "p16lf1773" , "16lf1773" }, 0xA773, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1773.inc" , "16lf1773_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1776" , { "pic16lf1776" , "p16lf1776" , "16lf1776" }, 0xA776, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1776.inc" , "16lf1776_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1777" , { "pic16lf1777" , "p16lf1777" , "16lf1777" }, 0xA26D, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1777.inc" , "16lf1777_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1778" , { "pic16lf1778" , "p16lf1778" , "16lf1778" }, 0xA778, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27CF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1778.inc" , "16lf1778_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1779" , { "pic16lf1779" , "p16lf1779" , "16lf1779" }, 0xA779, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1779.inc" , "16lf1779_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1782" , { "pic16lf1782" , "p16lf1782" , "16lf1782" }, 0xA782, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1782.inc" , "16lf1782_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1783" , { "pic16lf1783" , "p16lf1783" , "16lf1783" }, 0xA783, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1783.inc" , "16lf1783_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1784" , { "pic16lf1784" , "p16lf1784" , "16lf1784" }, 0xA784, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1784.inc" , "16lf1784_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1786" , { "pic16lf1786" , "p16lf1786" , "16lf1786" }, 0xA786, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1786.inc" , "16lf1786_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1787" , { "pic16lf1787" , "p16lf1787" , "16lf1787" }, 0xA787, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1787.inc" , "16lf1787_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1788" , { "pic16lf1788" , "p16lf1788" , "16lf1788" }, 0xA788, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1788.inc" , "16lf1788_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1789" , { "pic16lf1789" , "p16lf1789" , "16lf1789" }, 0xA789, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1789.inc" , "16lf1789_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1823" , { "pic16lf1823" , "p16lf1823" , "16lf1823" }, 0xA823, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1823.inc" , "16lf1823_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1824" , { "pic16lf1824" , "p16lf1824" , "16lf1824" }, 0xA824, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1824.inc" , "16lf1824_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1824T39A", { "pic16lf1824t39a", "p16lf1824t39a" , "16lf1824t39a" }, 0xC824, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1824t39a.inc", "16lf1824t39a_g.lkr", 0 },
{ PROC_CLASS_PIC14E , "__16LF1825" , { "pic16lf1825" , "p16lf1825" , "16lf1825" }, 0xA825, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1825.inc" , "16lf1825_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1826" , { "pic16lf1826" , "p16lf1826" , "16lf1826" }, 0xA826, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1826.inc" , "16lf1826_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1827" , { "pic16lf1827" , "p16lf1827" , "16lf1827" }, 0xA827, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x216F }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1827.inc" , "16lf1827_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1828" , { "pic16lf1828" , "p16lf1828" , "16lf1828" }, 0xA828, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1828.inc" , "16lf1828_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1829" , { "pic16lf1829" , "p16lf1829" , "16lf1829" }, 0xA829, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1829.inc" , "16lf1829_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1847" , { "pic16lf1847" , "p16lf1847" , "16lf1847" }, 0xA847, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1847.inc" , "16lf1847_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1902" , { "pic16lf1902" , "p16lf1902" , "16lf1902" }, 0xA902, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x206F }, 0x0FFF, 0x0007FF, 0x000800, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1902.inc" , "16lf1902_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1903" , { "pic16lf1903" , "p16lf1903" , "16lf1903" }, 0xA903, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1903.inc" , "16lf1903_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1904" , { "pic16lf1904" , "p16lf1904" , "16lf1904" }, 0xA904, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1904.inc" , "16lf1904_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1906" , { "pic16lf1906" , "p16lf1906" , "16lf1906" }, 0xA906, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1906.inc" , "16lf1906_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1907" , { "pic16lf1907" , "p16lf1907" , "16lf1907" }, 0xA907, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { -1, -1 }, 0x3F80, "p16lf1907.inc" , "16lf1907_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1933" , { "pic16lf1933" , "p16lf1933" , "16lf1933" }, 0xA933, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1933.inc" , "16lf1933_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1934" , { "pic16lf1934" , "p16lf1934" , "16lf1934" }, 0xA934, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1934.inc" , "16lf1934_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1936" , { "pic16lf1936" , "p16lf1936" , "16lf1936" }, 0xA936, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1936.inc" , "16lf1936_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1937" , { "pic16lf1937" , "p16lf1937" , "16lf1937" }, 0xA937, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1937.inc" , "16lf1937_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1938" , { "pic16lf1938" , "p16lf1938" , "16lf1938" }, 0xA938, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1938.inc" , "16lf1938_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1939" , { "pic16lf1939" , "p16lf1939" , "16lf1939" }, 0xA939, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1939.inc" , "16lf1939_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1946" , { "pic16lf1946" , "p16lf1946" , "16lf1946" }, 0xA946, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1946.inc" , "16lf1946_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF1947" , { "pic16lf1947" , "p16lf1947" , "16lf1947" }, 0xA947, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x008008 }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf1947.inc" , "16lf1947_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16LF15324" , { "pic16lf15324" , "p16lf15324" , "16lf15324" }, 0xA2AC, 2, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x1FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15324.inc" , "16lf15324_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15325" , { "pic16lf15325" , "p16lf15325" , "16lf15325" }, 0xA2A0, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15325.inc" , "16lf15325_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15344" , { "pic16lf15344" , "p16lf15344" , "16lf15344" }, 0xA2AD, 2, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x1FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15344.inc" , "16lf15344_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15345" , { "pic16lf15345" , "p16lf15345" , "16lf15345" }, 0xA2A1, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15345.inc" , "16lf15345_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15354" , { "pic16lf15354" , "p16lf15354" , "16lf15354" }, 0xA282, 2, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x000FFF, 0x001000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15354.inc" , "16lf15354_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15355" , { "pic16lf15355" , "p16lf15355" , "16lf15355" }, 0xA281, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x25EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15355.inc" , "16lf15355_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15356" , { "pic16lf15356" , "p16lf15356" , "16lf15356" }, 0xA291, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15356.inc" , "16lf15356_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15375" , { "pic16lf15375" , "p16lf15375" , "16lf15375" }, 0xA293, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15375.inc" , "16lf15375_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15376" , { "pic16lf15376" , "p16lf15376" , "16lf15376" }, 0xA295, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15376.inc" , "16lf15376_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15385" , { "pic16lf15385" , "p16lf15385" , "16lf15385" }, 0xA297, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15385.inc" , "16lf15385_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF15386" , { "pic16lf15386" , "p16lf15386" , "16lf15386" }, 0xA299, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { -1, -1 }, 0x3F80, "p16lf15386.inc" , "16lf15386_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16LF18313" , { "pic16lf18313" , "p16lf18313" , "16lf18313" }, 0xA832, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18313.inc" , "16lf18313_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16LF18323" , { "pic16lf18323" , "p16lf18323" , "16lf18323" }, 0xA833, 1, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x20EF }, 0x0FFF, 0x00F0FF, 0x000800, { 0x000800, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18323.inc" , "16lf18323_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16LF18324" , { "pic16lf18324" , "p16lf18324" , "16lf18324" }, 0xA324, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18324.inc" , "16lf18324_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16LF18325" , { "pic16lf18325" , "p16lf18325" , "16lf18325" }, 0xA325, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18325.inc" , "16lf18325_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16LF18326" , { "pic16lf18326" , "p16lf18326" , "16lf18326" }, 0xA274, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18326.inc" , "16lf18326_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF18344" , { "pic16lf18344" , "p16lf18344" , "16lf18344" }, 0xA344, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18344.inc" , "16lf18344_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16LF18345" , { "pic16lf18345" , "p16lf18345" , "16lf18345" }, 0xA345, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18345.inc" , "16lf18345_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14E , "__16LF18346" , { "pic16lf18346" , "p16lf18346" , "16lf18346" }, 0xA275, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800A }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18346.inc" , "16lf18346_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF18854" , { "pic16lf18854" , "p16lf18854" , "16lf18854" }, 0xA854, 2, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x21EF }, 0x0FFF, 0x00F0FF, 0x001000, { 0x001000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18854.inc" , "16lf18854_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF18855" , { "pic16lf18855" , "p16lf18855" , "16lf18855" }, 0xA855, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18855.inc" , "16lf18855_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF18856" , { "pic16lf18856" , "p16lf18856" , "16lf18856" }, 0xA856, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18856.inc" , "16lf18856_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16LF18857" , { "pic16lf18857" , "p16lf18857" , "16lf18857" }, 0xA857, 16, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x31CF }, 0x1FFF, 0x00F0FF, 0x008000, { 0x008000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18857.inc" , "16lf18857_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF18875" , { "pic16lf18875" , "p16lf18875" , "16lf18875" }, 0xA875, 4, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x0FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18875.inc" , "16lf18875_g.lkr" , 0 },
{ PROC_CLASS_PIC14E , "__16LF18876" , { "pic16lf18876" , "p16lf18876" , "16lf18876" }, 0xA876, 8, 32, 0x0F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27CF }, 0x0FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18876.inc" , "16lf18876_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16LF18877" , { "pic16lf18877" , "p16lf18877" , "16lf18877" }, 0xA877, 16, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x25EF }, 0x1FEF, 0x00F0FF, 0x008000, { 0x008000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf18877.inc" , "16lf18877_g.lkr" , 0 },
{ PROC_CLASS_PIC14EX , "__16LF19195" , { "pic16lf19195" , "p16lf19195" , "16lf19195" }, 0xA27C, 4, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x23EF }, 0x1FFF, 0x00F0FF, 0x002000, { 0x002000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf19195.inc" , "16lf19195_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF19196" , { "pic16lf19196" , "p16lf19196" , "16lf19196" }, 0xA27D, 8, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x27EF }, 0x1FFF, 0x00F0FF, 0x004000, { 0x004000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf19196.inc" , "16lf19196_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC14EX , "__16LF19197" , { "pic16lf19197" , "p16lf19197" , "16lf19197" }, 0xA27E, 16, 64, 0x1F80, { 0x70, 0x7F }, -1, { 0x2000, 0x2FEF }, 0x1FFF, 0x00F0FF, 0x008000, { 0x008000, 0x00EFFF }, { 0x008000, 0x008003 }, { 0x008007, 0x00800B }, { 0x00F000, 0x00F0FF }, 0x3F80, "p16lf19197.inc" , "16lf19197_g.lkr" , CPU_NO_OPTION_INSN },
{ PROC_CLASS_PIC16 , "__17C42" , { "pic17c42" , "p17c42" , "17c42" }, 0x7C42, 0, 4, 0x0300, { 0x18, 0x1F }, -1, { -1, -1 }, 0x03FF, 0x0007FF, 0x000800, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c42.inc" , "17c42_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C42A" , { "pic17c42a" , "p17c42a" , "17c42a" }, 0x742A, 0, 4, 0x0300, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x031F, 0x0007FF, 0x000800, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c42a.inc" , "17c42a_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C43" , { "pic17c43" , "p17c43" , "17c43" }, 0x7C43, 0, 4, 0x0300, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x031F, 0x000FFF, 0x001000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c43.inc" , "17c43_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C44" , { "pic17c44" , "p17c44" , "17c44" }, 0x7C44, 0, 4, 0x0300, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x031F, 0x001FFF, 0x002000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c44.inc" , "17c44_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C752" , { "pic17c752" , "p17c752" , "17c752" }, 0x7752, 0, 8, 0x0700, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x071F, 0x001FFF, 0x002000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c752.inc" , "17c752_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C756" , { "pic17c756" , "p17c756" , "17c756" }, 0x7756, 0, 8, 0x0700, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x071F, 0x003FFF, 0x004000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c756.inc" , "17c756_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C756A" , { "pic17c756a" , "p17c756a" , "17c756a" }, 0x756A, 0, 8, 0x0700, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x071F, 0x003FFF, 0x004000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c756a.inc" , "17c756a_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C762" , { "pic17c762" , "p17c762" , "17c762" }, 0x7762, 0, 9, 0x0F00, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x081F, 0x001FFF, 0x002000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c762.inc" , "17c762_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17C766" , { "pic17c766" , "p17c766" , "17c766" }, 0x7766, 0, 9, 0x0F00, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x081F, 0x003FFF, 0x004000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17c766.inc" , "17c766_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17CR42" , { "pic17cr42" , "p17cr42" , "17cr42" }, 0xE42A, 0, 4, 0x0300, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x031F, 0x0007FF, 0x000800, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17cr42.inc" , "17cr42_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17CR43" , { "pic17cr43" , "p17cr43" , "17cr43" }, 0xEC43, 0, 4, 0x0300, { 0x1A, 0x1F }, -1, { -1, -1 }, 0x031F, 0x000FFF, 0x001000, { -1, -1 }, { -1, -1 }, { 0x00FE00, 0x00FE0F }, { -1, -1 }, 0x0000, "p17cr43.inc" , "17cr43_g.lkr" , 0 },
{ PROC_CLASS_PIC16 , "__17CXX" , { "pic17cxx" , "p17cxx" , "17cxx" }, 0x7756, 0, 4, 0x0000, { 0x1A, 0x1F }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_PIC16E , "__18C242" , { "pic18c242" , "p18c242" , "18c242" }, 0x8242, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c242.inc" , "18c242_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18C252" , { "pic18c252" , "p18c252" , "18c252" }, 0x8252, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c252.inc" , "18c252_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18C442" , { "pic18c442" , "p18c442" , "18c442" }, 0x8442, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c442.inc" , "18c442_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18C452" , { "pic18c452" , "p18c452" , "18c452" }, 0x8452, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c452.inc" , "18c452_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18C601" , { "pic18c601" , "p18c601" , "18c601" }, 0x8601, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x03FFFF, 0x040000, { -1, -1 }, { -1, -1 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c601.inc" , "18c601_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18C658" , { "pic18c658" , "p18c658" , "18c658" }, 0x8658, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c658.inc" , "18c658_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18C801" , { "pic18c801" , "p18c801" , "18c801" }, 0x8801, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x1FFFFF, 0x200000, { -1, -1 }, { -1, -1 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c801.inc" , "18c801_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18C858" , { "pic18c858" , "p18c858" , "18c858" }, 0x8858, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x300007 }, { -1, -1 }, 0x0000, "p18c858.inc" , "18c858_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18CXX" , { "pic18cxx" , "p18cxx" , "18cxx" }, 0x8452, 0, 16, 0x0000, { 0x00, 0x7F }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { 0x200000, 0x200007 }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_PIC16E , "__18F13K22" , { "pic18f13k22" , "p18f13k22" , "18f13k22" }, 0xB132, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f13k22.inc" , "18f13k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F13K50" , { "pic18f13k50" , "p18f13k50" , "18f13k50" }, 0xA135, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f13k50.inc" , "18f13k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F14K22" , { "pic18f14k22" , "p18f14k22" , "18f14k22" }, 0xB142, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f14k22.inc" , "18f14k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F14K22LIN" , { "pic18f14k22lin" , "p18f14k22lin" , "18f14k22lin" }, 0xC142, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f14k22lin.inc" , "18f14k22lin_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F14K50" , { "pic18f14k50" , "p18f14k50" , "18f14k50" }, 0xA145, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f14k50.inc" , "18f14k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F23K20" , { "pic18f23k20" , "p18f23k20" , "18f23k20" }, 0xD320, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f23k20.inc" , "18f23k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F23K22" , { "pic18f23k22" , "p18f23k22" , "18f23k22" }, 0xD322, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f23k22.inc" , "18f23k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F24J10" , { "pic18f24j10" , "p18f24j10" , "18f24j10" }, 0xD410, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18f24j10.inc" , "18f24j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F24J11" , { "pic18f24j11" , "p18f24j11" , "18f24j11" }, 0xD411, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18f24j11.inc" , "18f24j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F24J50" , { "pic18f24j50" , "p18f24j50" , "18f24j50" }, 0xD450, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18f24j50.inc" , "18f24j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F24K20" , { "pic18f24k20" , "p18f24k20" , "18f24k20" }, 0xD420, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f24k20.inc" , "18f24k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F24K22" , { "pic18f24k22" , "p18f24k22" , "18f24k22" }, 0xD422, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f24k22.inc" , "18f24k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F24K40" , { "pic18f24k40" , "p18f24k40" , "18f24k40" }, 0x2440, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x004000, { 0x004000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18f24k40.inc" , "18f24k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F24K50" , { "pic18f24k50" , "p18f24k50" , "18f24k50" }, 0xD451, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f24k50.inc" , "18f24k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F24Q10" , { "pic18f24q10" , "p18f24q10" , "18f24q10" }, 0xA2A6, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x004000, { 0x004000, 0x30FFFF }, { 0x200000, 0x2000FF }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18f24q10.inc" , "18f24q10_g.lkr" , CPU_HAVE_EXTINST | 0 },
{ PROC_CLASS_PIC16E , "__18F25J10" , { "pic18f25j10" , "p18f25j10" , "18f25j10" }, 0xD510, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f25j10.inc" , "18f25j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F25J11" , { "pic18f25j11" , "p18f25j11" , "18f25j11" }, 0xD511, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18f25j11.inc" , "18f25j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F25J50" , { "pic18f25j50" , "p18f25j50" , "18f25j50" }, 0xD550, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18f25j50.inc" , "18f25j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F25K20" , { "pic18f25k20" , "p18f25k20" , "18f25k20" }, 0xD520, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f25k20.inc" , "18f25k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F25K22" , { "pic18f25k22" , "p18f25k22" , "18f25k22" }, 0xD522, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f25k22.inc" , "18f25k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F25K40" , { "pic18f25k40" , "p18f25k40" , "18f25k40" }, 0x2540, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18f25k40.inc" , "18f25k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F25K50" , { "pic18f25k50" , "p18f25k50" , "18f25k50" }, 0xD551, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f25k50.inc" , "18f25k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F25K80" , { "pic18f25k80" , "p18f25k80" , "18f25k80" }, 0xA580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f25k80.inc" , "18f25k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F25Q10" , { "pic18f25q10" , "p18f25q10" , "18f25q10" }, 0xA2A8, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x2000FF }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18f25q10.inc" , "18f25q10_g.lkr" , CPU_HAVE_EXTINST | 0 },
{ PROC_CLASS_PIC16E , "__18F26J11" , { "pic18f26j11" , "p18f26j11" , "18f26j11" }, 0xD611, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f26j11.inc" , "18f26j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F26J13" , { "pic18f26j13" , "p18f26j13" , "18f26j13" }, 0xD616, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f26j13.inc" , "18f26j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F26J50" , { "pic18f26j50" , "p18f26j50" , "18f26j50" }, 0xD650, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f26j50.inc" , "18f26j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F26J53" , { "pic18f26j53" , "p18f26j53" , "18f26j53" }, 0xD655, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f26j53.inc" , "18f26j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F26K20" , { "pic18f26k20" , "p18f26k20" , "18f26k20" }, 0xD620, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f26k20.inc" , "18f26k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F26K22" , { "pic18f26k22" , "p18f26k22" , "18f26k22" }, 0xD622, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f26k22.inc" , "18f26k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F26K40" , { "pic18f26k40" , "p18f26k40" , "18f26k40" }, 0x2640, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f26k40.inc" , "18f26k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F26K80" , { "pic18f26k80" , "p18f26k80" , "18f26k80" }, 0xA680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f26k80.inc" , "18f26k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F26Q10" , { "pic18f26q10" , "p18f26q10" , "18f26q10" }, 0xA2D2, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x2000FF }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f26q10.inc" , "18f26q10_g.lkr" , CPU_HAVE_EXTINST | 0 },
{ PROC_CLASS_PIC16E , "__18F27J13" , { "pic18f27j13" , "p18f27j13" , "18f27j13" }, 0xD711, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f27j13.inc" , "18f27j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F27J53" , { "pic18f27j53" , "p18f27j53" , "18f27j53" }, 0xD750, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f27j53.inc" , "18f27j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F27K40" , { "pic18f27k40" , "p18f27k40" , "18f27k40" }, 0x2740, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x020000, { 0x020000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f27k40.inc" , "18f27k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F43K20" , { "pic18f43k20" , "p18f43k20" , "18f43k20" }, 0xE320, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f43k20.inc" , "18f43k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F43K22" , { "pic18f43k22" , "p18f43k22" , "18f43k22" }, 0xE322, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f43k22.inc" , "18f43k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F44J10" , { "pic18f44j10" , "p18f44j10" , "18f44j10" }, 0xE410, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18f44j10.inc" , "18f44j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F44J11" , { "pic18f44j11" , "p18f44j11" , "18f44j11" }, 0xE411, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18f44j11.inc" , "18f44j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F44J50" , { "pic18f44j50" , "p18f44j50" , "18f44j50" }, 0xE450, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18f44j50.inc" , "18f44j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F44K20" , { "pic18f44k20" , "p18f44k20" , "18f44k20" }, 0xE420, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f44k20.inc" , "18f44k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F44K22" , { "pic18f44k22" , "p18f44k22" , "18f44k22" }, 0xE422, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f44k22.inc" , "18f44k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F45J10" , { "pic18f45j10" , "p18f45j10" , "18f45j10" }, 0xE510, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f45j10.inc" , "18f45j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F45J11" , { "pic18f45j11" , "p18f45j11" , "18f45j11" }, 0xE511, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18f45j11.inc" , "18f45j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F45J50" , { "pic18f45j50" , "p18f45j50" , "18f45j50" }, 0xE550, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18f45j50.inc" , "18f45j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F45K20" , { "pic18f45k20" , "p18f45k20" , "18f45k20" }, 0xE520, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f45k20.inc" , "18f45k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F45K22" , { "pic18f45k22" , "p18f45k22" , "18f45k22" }, 0xE522, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f45k22.inc" , "18f45k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F45K40" , { "pic18f45k40" , "p18f45k40" , "18f45k40" }, 0x4540, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18f45k40.inc" , "18f45k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F45K50" , { "pic18f45k50" , "p18f45k50" , "18f45k50" }, 0xE551, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f45k50.inc" , "18f45k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F45K80" , { "pic18f45k80" , "p18f45k80" , "18f45k80" }, 0xB580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f45k80.inc" , "18f45k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F45Q10" , { "pic18f45q10" , "p18f45q10" , "18f45q10" }, 0xA2D3, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x2000FF }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18f45q10.inc" , "18f45q10_g.lkr" , CPU_HAVE_EXTINST | 0 },
{ PROC_CLASS_PIC16E , "__18F46J11" , { "pic18f46j11" , "p18f46j11" , "18f46j11" }, 0xE611, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f46j11.inc" , "18f46j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F46J13" , { "pic18f46j13" , "p18f46j13" , "18f46j13" }, 0xE616, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f46j13.inc" , "18f46j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F46J50" , { "pic18f46j50" , "p18f46j50" , "18f46j50" }, 0xE650, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f46j50.inc" , "18f46j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F46J53" , { "pic18f46j53" , "p18f46j53" , "18f46j53" }, 0xE655, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f46j53.inc" , "18f46j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F46K20" , { "pic18f46k20" , "p18f46k20" , "18f46k20" }, 0xE620, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f46k20.inc" , "18f46k20_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F46K22" , { "pic18f46k22" , "p18f46k22" , "18f46k22" }, 0xE622, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f46k22.inc" , "18f46k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F46K40" , { "pic18f46k40" , "p18f46k40" , "18f46k40" }, 0x4640, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f46k40.inc" , "18f46k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F46K80" , { "pic18f46k80" , "p18f46k80" , "18f46k80" }, 0xB680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f46k80.inc" , "18f46k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F46Q10" , { "pic18f46q10" , "p18f46q10" , "18f46q10" }, 0xA2D4, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x2000FF }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f46q10.inc" , "18f46q10_g.lkr" , CPU_HAVE_EXTINST | 0 },
{ PROC_CLASS_PIC16E , "__18F47J13" , { "pic18f47j13" , "p18f47j13" , "18f47j13" }, 0xE711, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f47j13.inc" , "18f47j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F47J53" , { "pic18f47j53" , "p18f47j53" , "18f47j53" }, 0xE750, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f47j53.inc" , "18f47j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F47K40" , { "pic18f47k40" , "p18f47k40" , "18f47k40" }, 0x4740, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x020000, { 0x020000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f47k40.inc" , "18f47k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F63J11" , { "pic18f63j11" , "p18f63j11" , "18f63j11" }, 0x6311, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FF7, 0x001FF8, { -1, -1 }, { -1, -1 }, { 0x001FF8, 0x001FFD }, { -1, -1 }, 0x0000, "p18f63j11.inc" , "18f63j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F63J90" , { "pic18f63j90" , "p18f63j90" , "18f63j90" }, 0xB390, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FF7, 0x001FF8, { -1, -1 }, { -1, -1 }, { 0x001FF8, 0x001FFD }, { -1, -1 }, 0x0000, "p18f63j90.inc" , "18f63j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F64J11" , { "pic18f64j11" , "p18f64j11" , "18f64j11" }, 0x6411, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18f64j11.inc" , "18f64j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F64J15" , { "pic18f64j15" , "p18f64j15" , "18f64j15" }, 0xB415, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, "p18f64j15.inc" , "18f64j15_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY }, /* not documented by Microchip, added in svn rev. #378, see http://osdir.com/ml/hardware.microcontrollers.gnupic/2008-05/msg00013.html */
{ PROC_CLASS_PIC16E , "__18F64J90" , { "pic18f64j90" , "p18f64j90" , "18f64j90" }, 0xB490, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18f64j90.inc" , "18f64j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F65J10" , { "pic18f65j10" , "p18f65j10" , "18f65j10" }, 0xB510, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f65j10.inc" , "18f65j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F65J11" , { "pic18f65j11" , "p18f65j11" , "18f65j11" }, 0x6511, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f65j11.inc" , "18f65j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F65J15" , { "pic18f65j15" , "p18f65j15" , "18f65j15" }, 0xB515, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00BFF7, 0x00BFF8, { -1, -1 }, { -1, -1 }, { 0x00BFF8, 0x00BFFD }, { -1, -1 }, 0x0000, "p18f65j15.inc" , "18f65j15_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F65J50" , { "pic18f65j50" , "p18f65j50" , "18f65j50" }, 0xB550, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f65j50.inc" , "18f65j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F65J90" , { "pic18f65j90" , "p18f65j90" , "18f65j90" }, 0xB590, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f65j90.inc" , "18f65j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F65J94" , { "pic18f65j94" , "p18f65j94" , "18f65j94" }, 0x6594, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FEF, 0x007FF0, { -1, -1 }, { -1, -1 }, { 0x007FF0, 0x007FFF }, { -1, -1 }, 0x0000, "p18f65j94.inc" , "18f65j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F65K22" , { "pic18f65k22" , "p18f65k22" , "18f65k22" }, 0x6522, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f65k22.inc" , "18f65k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F65K40" , { "pic18f65k40" , "p18f65k40" , "18f65k40" }, 0xA26F, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f65k40.inc" , "18f65k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F65K80" , { "pic18f65k80" , "p18f65k80" , "18f65k80" }, 0xC580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f65k80.inc" , "18f65k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F65K90" , { "pic18f65k90" , "p18f65k90" , "18f65k90" }, 0xB591, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f65k90.inc" , "18f65k90_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F66J10" , { "pic18f66j10" , "p18f66j10" , "18f66j10" }, 0xB610, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f66j10.inc" , "18f66j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J11" , { "pic18f66j11" , "p18f66j11" , "18f66j11" }, 0xB611, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f66j11.inc" , "18f66j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J15" , { "pic18f66j15" , "p18f66j15" , "18f66j15" }, 0xB615, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f66j15.inc" , "18f66j15_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J16" , { "pic18f66j16" , "p18f66j16" , "18f66j16" }, 0xB616, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f66j16.inc" , "18f66j16_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J50" , { "pic18f66j50" , "p18f66j50" , "18f66j50" }, 0xB650, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f66j50.inc" , "18f66j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J55" , { "pic18f66j55" , "p18f66j55" , "18f66j55" }, 0xB655, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f66j55.inc" , "18f66j55_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J60" , { "pic18f66j60" , "p18f66j60" , "18f66j60" }, 0xB660, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f66j60.inc" , "18f66j60_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J65" , { "pic18f66j65" , "p18f66j65" , "18f66j65" }, 0xB665, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f66j65.inc" , "18f66j65_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J90" , { "pic18f66j90" , "p18f66j90" , "18f66j90" }, 0xB690, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f66j90.inc" , "18f66j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J93" , { "pic18f66j93" , "p18f66j93" , "18f66j93" }, 0x6693, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f66j93.inc" , "18f66j93_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J94" , { "pic18f66j94" , "p18f66j94" , "18f66j94" }, 0x6694, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFEF, 0x00FFF0, { -1, -1 }, { -1, -1 }, { 0x00FFF0, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f66j94.inc" , "18f66j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66J99" , { "pic18f66j99" , "p18f66j99" , "18f66j99" }, 0x6699, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FEF, 0x017FF0, { -1, -1 }, { -1, -1 }, { 0x017FF0, 0x017FFF }, { -1, -1 }, 0x0000, "p18f66j99.inc" , "18f66j99_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F66K22" , { "pic18f66k22" , "p18f66k22" , "18f66k22" }, 0xB622, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f66k22.inc" , "18f66k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F66K40" , { "pic18f66k40" , "p18f66k40" , "18f66k40" }, 0x6640, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f66k40.inc" , "18f66k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F66K80" , { "pic18f66k80" , "p18f66k80" , "18f66k80" }, 0xC680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f66k80.inc" , "18f66k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F66K90" , { "pic18f66k90" , "p18f66k90" , "18f66k90" }, 0xB691, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f66k90.inc" , "18f66k90_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F67J10" , { "pic18f67j10" , "p18f67j10" , "18f67j10" }, 0xB710, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f67j10.inc" , "18f67j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F67J11" , { "pic18f67j11" , "p18f67j11" , "18f67j11" }, 0xB711, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f67j11.inc" , "18f67j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F67J50" , { "pic18f67j50" , "p18f67j50" , "18f67j50" }, 0xB750, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f67j50.inc" , "18f67j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F67J60" , { "pic18f67j60" , "p18f67j60" , "18f67j60" }, 0xB760, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f67j60.inc" , "18f67j60_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F67J90" , { "pic18f67j90" , "p18f67j90" , "18f67j90" }, 0x6790, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f67j90.inc" , "18f67j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F67J93" , { "pic18f67j93" , "p18f67j93" , "18f67j93" }, 0x6793, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f67j93.inc" , "18f67j93_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F67J94" , { "pic18f67j94" , "p18f67j94" , "18f67j94" }, 0x6794, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFEF, 0x01FFF0, { -1, -1 }, { -1, -1 }, { 0x01FFF0, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f67j94.inc" , "18f67j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F67K22" , { "pic18f67k22" , "p18f67k22" , "18f67k22" }, 0x6722, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f67k22.inc" , "18f67k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F67K40" , { "pic18f67k40" , "p18f67k40" , "18f67k40" }, 0x6740, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x020000, { 0x020000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18f67k40.inc" , "18f67k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F67K90" , { "pic18f67k90" , "p18f67k90" , "18f67k90" }, 0xB790, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f67k90.inc" , "18f67k90_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F83J11" , { "pic18f83j11" , "p18f83j11" , "18f83j11" }, 0x8311, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FF7, 0x001FF8, { -1, -1 }, { -1, -1 }, { 0x001FF8, 0x001FFD }, { -1, -1 }, 0x0000, "p18f83j11.inc" , "18f83j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F83J90" , { "pic18f83j90" , "p18f83j90" , "18f83j90" }, 0xC390, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FF7, 0x001FF8, { -1, -1 }, { -1, -1 }, { 0x001FF8, 0x001FFD }, { -1, -1 }, 0x0000, "p18f83j90.inc" , "18f83j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F84J11" , { "pic18f84j11" , "p18f84j11" , "18f84j11" }, 0x8411, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18f84j11.inc" , "18f84j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F84J15" , { "pic18f84j15" , "p18f84j15" , "18f84j15" }, 0xC415, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, "p18f84j15.inc" , "18f84j15_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY }, /* not documented by Microchip, added in svn rev. #378, see http://osdir.com/ml/hardware.microcontrollers.gnupic/2008-05/msg00013.html */
{ PROC_CLASS_PIC16E , "__18F84J90" , { "pic18f84j90" , "p18f84j90" , "18f84j90" }, 0xC490, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18f84j90.inc" , "18f84j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F85J10" , { "pic18f85j10" , "p18f85j10" , "18f85j10" }, 0xC510, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f85j10.inc" , "18f85j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F85J11" , { "pic18f85j11" , "p18f85j11" , "18f85j11" }, 0x8511, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f85j11.inc" , "18f85j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F85J15" , { "pic18f85j15" , "p18f85j15" , "18f85j15" }, 0xC515, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00BFF7, 0x00BFF8, { -1, -1 }, { -1, -1 }, { 0x00BFF8, 0x00BFFD }, { -1, -1 }, 0x0000, "p18f85j15.inc" , "18f85j15_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F85J50" , { "pic18f85j50" , "p18f85j50" , "18f85j50" }, 0xC550, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f85j50.inc" , "18f85j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F85J90" , { "pic18f85j90" , "p18f85j90" , "18f85j90" }, 0xC590, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18f85j90.inc" , "18f85j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F85J94" , { "pic18f85j94" , "p18f85j94" , "18f85j94" }, 0x8594, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FEF, 0x007FF0, { -1, -1 }, { -1, -1 }, { 0x007FF0, 0x007FFF }, { -1, -1 }, 0x0000, "p18f85j94.inc" , "18f85j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F85K22" , { "pic18f85k22" , "p18f85k22" , "18f85k22" }, 0x8522, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f85k22.inc" , "18f85k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F85K90" , { "pic18f85k90" , "p18f85k90" , "18f85k90" }, 0xC591, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f85k90.inc" , "18f85k90_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F86J10" , { "pic18f86j10" , "p18f86j10" , "18f86j10" }, 0xC610, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f86j10.inc" , "18f86j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J11" , { "pic18f86j11" , "p18f86j11" , "18f86j11" }, 0xC611, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f86j11.inc" , "18f86j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J15" , { "pic18f86j15" , "p18f86j15" , "18f86j15" }, 0xC615, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f86j15.inc" , "18f86j15_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J16" , { "pic18f86j16" , "p18f86j16" , "18f86j16" }, 0xC616, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f86j16.inc" , "18f86j16_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J50" , { "pic18f86j50" , "p18f86j50" , "18f86j50" }, 0xC650, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f86j50.inc" , "18f86j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J55" , { "pic18f86j55" , "p18f86j55" , "18f86j55" }, 0xC655, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f86j55.inc" , "18f86j55_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J60" , { "pic18f86j60" , "p18f86j60" , "18f86j60" }, 0xC660, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f86j60.inc" , "18f86j60_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J65" , { "pic18f86j65" , "p18f86j65" , "18f86j65" }, 0xC665, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f86j65.inc" , "18f86j65_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J72" , { "pic18f86j72" , "p18f86j72" , "18f86j72" }, 0x8672, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f86j72.inc" , "18f86j72_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J90" , { "pic18f86j90" , "p18f86j90" , "18f86j90" }, 0x8690, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f86j90.inc" , "18f86j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J93" , { "pic18f86j93" , "p18f86j93" , "18f86j93" }, 0x8693, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f86j93.inc" , "18f86j93_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J94" , { "pic18f86j94" , "p18f86j94" , "18f86j94" }, 0x8694, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFEF, 0x00FFF0, { -1, -1 }, { -1, -1 }, { 0x00FFF0, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f86j94.inc" , "18f86j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86J99" , { "pic18f86j99" , "p18f86j99" , "18f86j99" }, 0x8699, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FEF, 0x017FF0, { -1, -1 }, { -1, -1 }, { 0x017FF0, 0x017FFF }, { -1, -1 }, 0x0000, "p18f86j99.inc" , "18f86j99_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F86K22" , { "pic18f86k22" , "p18f86k22" , "18f86k22" }, 0xC622, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f86k22.inc" , "18f86k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F86K90" , { "pic18f86k90" , "p18f86k90" , "18f86k90" }, 0xC690, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f86k90.inc" , "18f86k90_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F87J10" , { "pic18f87j10" , "p18f87j10" , "18f87j10" }, 0xC710, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f87j10.inc" , "18f87j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87J11" , { "pic18f87j11" , "p18f87j11" , "18f87j11" }, 0xC711, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f87j11.inc" , "18f87j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87J50" , { "pic18f87j50" , "p18f87j50" , "18f87j50" }, 0xC750, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f87j50.inc" , "18f87j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87J60" , { "pic18f87j60" , "p18f87j60" , "18f87j60" }, 0xC760, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f87j60.inc" , "18f87j60_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87J72" , { "pic18f87j72" , "p18f87j72" , "18f87j72" }, 0x8772, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f87j72.inc" , "18f87j72_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87J90" , { "pic18f87j90" , "p18f87j90" , "18f87j90" }, 0x8790, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f87j90.inc" , "18f87j90_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87J93" , { "pic18f87j93" , "p18f87j93" , "18f87j93" }, 0x8793, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f87j93.inc" , "18f87j93_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87J94" , { "pic18f87j94" , "p18f87j94" , "18f87j94" }, 0x8794, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFEF, 0x01FFF0, { -1, -1 }, { -1, -1 }, { 0x01FFF0, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f87j94.inc" , "18f87j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F87K22" , { "pic18f87k22" , "p18f87k22" , "18f87k22" }, 0x8722, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f87k22.inc" , "18f87k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F87K90" , { "pic18f87k90" , "p18f87k90" , "18f87k90" }, 0xC790, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f87k90.inc" , "18f87k90_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F95J94" , { "pic18f95j94" , "p18f95j94" , "18f95j94" }, 0x9594, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FEF, 0x007FF0, { -1, -1 }, { -1, -1 }, { 0x007FF0, 0x007FFF }, { -1, -1 }, 0x0000, "p18f95j94.inc" , "18f95j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F96J60" , { "pic18f96j60" , "p18f96j60" , "18f96j60" }, 0xD660, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFD }, { -1, -1 }, 0x0000, "p18f96j60.inc" , "18f96j60_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F96J65" , { "pic18f96j65" , "p18f96j65" , "18f96j65" }, 0xD665, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FF7, 0x017FF8, { -1, -1 }, { -1, -1 }, { 0x017FF8, 0x017FFD }, { -1, -1 }, 0x0000, "p18f96j65.inc" , "18f96j65_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F96J94" , { "pic18f96j94" , "p18f96j94" , "18f96j94" }, 0x9694, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFEF, 0x00FFF0, { -1, -1 }, { -1, -1 }, { 0x00FFF0, 0x00FFFF }, { -1, -1 }, 0x0000, "p18f96j94.inc" , "18f96j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F96J99" , { "pic18f96j99" , "p18f96j99" , "18f96j99" }, 0x9699, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x017FEF, 0x017FF0, { -1, -1 }, { -1, -1 }, { 0x017FF0, 0x017FFF }, { -1, -1 }, 0x0000, "p18f96j99.inc" , "18f96j99_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F97J60" , { "pic18f97j60" , "p18f97j60" , "18f97j60" }, 0xD760, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFD }, { -1, -1 }, 0x0000, "p18f97j60.inc" , "18f97j60_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F97J94" , { "pic18f97j94" , "p18f97j94" , "18f97j94" }, 0x9794, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFEF, 0x01FFF0, { -1, -1 }, { -1, -1 }, { 0x01FFF0, 0x01FFFF }, { -1, -1 }, 0x0000, "p18f97j94.inc" , "18f97j94_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18F242" , { "pic18f242" , "p18f242" , "18f242" }, 0x242F, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f242.inc" , "18f242_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F248" , { "pic18f248" , "p18f248" , "18f248" }, 0x8248, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f248.inc" , "18f248_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F252" , { "pic18f252" , "p18f252" , "18f252" }, 0x252F, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f252.inc" , "18f252_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F258" , { "pic18f258" , "p18f258" , "18f258" }, 0x8258, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f258.inc" , "18f258_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F442" , { "pic18f442" , "p18f442" , "18f442" }, 0x442F, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f442.inc" , "18f442_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F448" , { "pic18f448" , "p18f448" , "18f448" }, 0x8448, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f448.inc" , "18f448_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F452" , { "pic18f452" , "p18f452" , "18f452" }, 0x452F, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f452.inc" , "18f452_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F458" , { "pic18f458" , "p18f458" , "18f458" }, 0x8458, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f458.inc" , "18f458_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F1220" , { "pic18f1220" , "p18f1220" , "18f1220" }, 0xA122, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f1220.inc" , "18f1220_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F1230" , { "pic18f1230" , "p18f1230" , "18f1230" }, 0x1230, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF0007F, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF0007F }, 0x0000, "p18f1230.inc" , "18f1230_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F1320" , { "pic18f1320" , "p18f1320" , "18f1320" }, 0xA132, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f1320.inc" , "18f1320_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F1330" , { "pic18f1330" , "p18f1330" , "18f1330" }, 0x1330, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF0007F, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF0007F }, 0x0000, "p18f1330.inc" , "18f1330_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2220" , { "pic18f2220" , "p18f2220" , "18f2220" }, 0xA222, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2220.inc" , "18f2220_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F2221" , { "pic18f2221" , "p18f2221" , "18f2221" }, 0x2221, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2221.inc" , "18f2221_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2320" , { "pic18f2320" , "p18f2320" , "18f2320" }, 0xA232, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2320.inc" , "18f2320_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F2321" , { "pic18f2321" , "p18f2321" , "18f2321" }, 0x2321, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2321.inc" , "18f2321_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2331" , { "pic18f2331" , "p18f2331" , "18f2331" }, 0x2331, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2331.inc" , "18f2331_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F2410" , { "pic18f2410" , "p18f2410" , "18f2410" }, 0x2410, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f2410.inc" , "18f2410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2420" , { "pic18f2420" , "p18f2420" , "18f2420" }, 0x2420, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2420.inc" , "18f2420_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2423" , { "pic18f2423" , "p18f2423" , "18f2423" }, 0x2423, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2423.inc" , "18f2423_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2431" , { "pic18f2431" , "p18f2431" , "18f2431" }, 0x2431, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2431.inc" , "18f2431_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F2439" , { "pic18f2439" , "p18f2439" , "18f2439" }, 0x2439, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x003000, { 0x003000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2439.inc" , "18f2439_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F2450" , { "pic18f2450" , "p18f2450" , "18f2450" }, 0x2450, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f2450.inc" , "18f2450_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2455" , { "pic18f2455" , "p18f2455" , "18f2455" }, 0x2455, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2455.inc" , "18f2455_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2458" , { "pic18f2458" , "p18f2458" , "18f2458" }, 0x2458, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2458.inc" , "18f2458_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2480" , { "pic18f2480" , "p18f2480" , "18f2480" }, 0x2480, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2480.inc" , "18f2480_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2510" , { "pic18f2510" , "p18f2510" , "18f2510" }, 0x2510, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f2510.inc" , "18f2510_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2515" , { "pic18f2515" , "p18f2515" , "18f2515" }, 0x2515, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00BFFF, 0x00C000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f2515.inc" , "18f2515_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2520" , { "pic18f2520" , "p18f2520" , "18f2520" }, 0x2520, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2520.inc" , "18f2520_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2523" , { "pic18f2523" , "p18f2523" , "18f2523" }, 0x2523, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2523.inc" , "18f2523_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2525" , { "pic18f2525" , "p18f2525" , "18f2525" }, 0x2525, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f2525.inc" , "18f2525_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2539" , { "pic18f2539" , "p18f2539" , "18f2539" }, 0x2539, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2539.inc" , "18f2539_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F2550" , { "pic18f2550" , "p18f2550" , "18f2550" }, 0x2550, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2550.inc" , "18f2550_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2553" , { "pic18f2553" , "p18f2553" , "18f2553" }, 0x2553, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2553.inc" , "18f2553_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2580" , { "pic18f2580" , "p18f2580" , "18f2580" }, 0x2580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f2580.inc" , "18f2580_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2585" , { "pic18f2585" , "p18f2585" , "18f2585" }, 0x2585, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f2585.inc" , "18f2585_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2610" , { "pic18f2610" , "p18f2610" , "18f2610" }, 0x2610, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00FFFF, 0x010000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f2610.inc" , "18f2610_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2620" , { "pic18f2620" , "p18f2620" , "18f2620" }, 0x2620, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f2620.inc" , "18f2620_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2680" , { "pic18f2680" , "p18f2680" , "18f2680" }, 0x2680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f2680.inc" , "18f2680_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2681" , { "pic18f2681" , "p18f2681" , "18f2681" }, 0x2681, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { 0x200000, 0x200007 }, { -1, -1 }, { 0xF00000, 0xF003FF }, 0x0000, "p18f2681.inc" , "18f2681.lkr" , CPU_HAVE_EXTINST }, /* not documented by Microchip, added in svn rev. #317, see http://osdir.com/ml/hardware.microcontrollers.gnupic/2008-05/msg00013.html */
{ PROC_CLASS_PIC16E , "__18F2682" , { "pic18f2682" , "p18f2682" , "18f2682" }, 0x2682, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x014000, { 0x014000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f2682.inc" , "18f2682_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F2685" , { "pic18f2685" , "p18f2685" , "18f2685" }, 0x2685, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f2685.inc" , "18f2685_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4220" , { "pic18f4220" , "p18f4220" , "18f4220" }, 0xA422, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4220.inc" , "18f4220_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F4221" , { "pic18f4221" , "p18f4221" , "18f4221" }, 0x4221, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4221.inc" , "18f4221_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4320" , { "pic18f4320" , "p18f4320" , "18f4320" }, 0xA432, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4320.inc" , "18f4320_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F4321" , { "pic18f4321" , "p18f4321" , "18f4321" }, 0x4321, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4321.inc" , "18f4321_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4331" , { "pic18f4331" , "p18f4331" , "18f4331" }, 0x4331, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4331.inc" , "18f4331_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F4410" , { "pic18f4410" , "p18f4410" , "18f4410" }, 0x4410, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f4410.inc" , "18f4410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4420" , { "pic18f4420" , "p18f4420" , "18f4420" }, 0x4420, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4420.inc" , "18f4420_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4423" , { "pic18f4423" , "p18f4423" , "18f4423" }, 0x4423, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4423.inc" , "18f4423_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4431" , { "pic18f4431" , "p18f4431" , "18f4431" }, 0x4431, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4431.inc" , "18f4431_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F4439" , { "pic18f4439" , "p18f4439" , "18f4439" }, 0x4439, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x003000, { 0x003000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4439.inc" , "18f4439_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F4450" , { "pic18f4450" , "p18f4450" , "18f4450" }, 0x4450, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f4450.inc" , "18f4450_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4455" , { "pic18f4455" , "p18f4455" , "18f4455" }, 0x4455, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4455.inc" , "18f4455_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4458" , { "pic18f4458" , "p18f4458" , "18f4458" }, 0x4458, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4458.inc" , "18f4458_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4480" , { "pic18f4480" , "p18f4480" , "18f4480" }, 0x4480, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4480.inc" , "18f4480_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4510" , { "pic18f4510" , "p18f4510" , "18f4510" }, 0x4510, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f4510.inc" , "18f4510_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4515" , { "pic18f4515" , "p18f4515" , "18f4515" }, 0x4515, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00BFFF, 0x00C000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f4515.inc" , "18f4515_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4520" , { "pic18f4520" , "p18f4520" , "18f4520" }, 0x4520, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4520.inc" , "18f4520_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4523" , { "pic18f4523" , "p18f4523" , "18f4523" }, 0x4523, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4523.inc" , "18f4523_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4525" , { "pic18f4525" , "p18f4525" , "18f4525" }, 0x4525, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f4525.inc" , "18f4525_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4539" , { "pic18f4539" , "p18f4539" , "18f4539" }, 0x4539, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4539.inc" , "18f4539_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F4550" , { "pic18f4550" , "p18f4550" , "18f4550" }, 0x4550, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4550.inc" , "18f4550_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4553" , { "pic18f4553" , "p18f4553" , "18f4553" }, 0x4553, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4553.inc" , "18f4553_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4580" , { "pic18f4580" , "p18f4580" , "18f4580" }, 0x4580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18f4580.inc" , "18f4580_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4585" , { "pic18f4585" , "p18f4585" , "18f4585" }, 0x4585, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f4585.inc" , "18f4585_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4610" , { "pic18f4610" , "p18f4610" , "18f4610" }, 0x4610, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00FFFF, 0x010000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f4610.inc" , "18f4610_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4620" , { "pic18f4620" , "p18f4620" , "18f4620" }, 0x4620, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f4620.inc" , "18f4620_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4680" , { "pic18f4680" , "p18f4680" , "18f4680" }, 0x4680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f4680.inc" , "18f4680_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4681" , { "pic18f4681" , "p18f4681" , "18f4681" }, 0x4681, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { 0x200000, 0x200007 }, { -1, -1 }, { 0xF00000, 0xF003FF }, 0x0000, "p18f4681.inc" , "18f4681.lkr" , CPU_HAVE_EXTINST }, /* not documented by Microchip, added in svn rev. #317, see http://osdir.com/ml/hardware.microcontrollers.gnupic/2008-05/msg00013.html */
{ PROC_CLASS_PIC16E , "__18F4682" , { "pic18f4682" , "p18f4682" , "18f4682" }, 0x4682, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x014000, { 0x014000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f4682.inc" , "18f4682_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F4685" , { "pic18f4685" , "p18f4685" , "18f4685" }, 0x4685, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f4685.inc" , "18f4685_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6310" , { "pic18f6310" , "p18f6310" , "18f6310" }, 0x6310, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f6310.inc" , "18f6310_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6390" , { "pic18f6390" , "p18f6390" , "18f6390" }, 0x6390, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f6390.inc" , "18f6390_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6393" , { "pic18f6393" , "p18f6393" , "18f6393" }, 0x6393, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f6393.inc" , "18f6393_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6410" , { "pic18f6410" , "p18f6410" , "18f6410" }, 0x6410, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f6410.inc" , "18f6410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6490" , { "pic18f6490" , "p18f6490" , "18f6490" }, 0x6490, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f6490.inc" , "18f6490_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6493" , { "pic18f6493" , "p18f6493" , "18f6493" }, 0x6493, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f6493.inc" , "18f6493_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6520" , { "pic18f6520" , "p18f6520" , "18f6520" }, 0xA652, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6520.inc" , "18f6520_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F6525" , { "pic18f6525" , "p18f6525" , "18f6525" }, 0x6525, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6525.inc" , "18f6525_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F6527" , { "pic18f6527" , "p18f6527" , "18f6527" }, 0x6527, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6527.inc" , "18f6527_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6585" , { "pic18f6585" , "p18f6585" , "18f6585" }, 0x6585, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6585.inc" , "18f6585_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F6620" , { "pic18f6620" , "p18f6620" , "18f6620" }, 0xA662, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6620.inc" , "18f6620_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F6621" , { "pic18f6621" , "p18f6621" , "18f6621" }, 0xA621, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6621.inc" , "18f6621_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F6622" , { "pic18f6622" , "p18f6622" , "18f6622" }, 0xF622, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6622.inc" , "18f6622_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6627" , { "pic18f6627" , "p18f6627" , "18f6627" }, 0xF625, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6627.inc" , "18f6627_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6628" , { "pic18f6628" , "p18f6628" , "18f6628" }, 0xA628, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6628.inc" , "18f6628_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6680" , { "pic18f6680" , "p18f6680" , "18f6680" }, 0x6680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6680.inc" , "18f6680_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F6720" , { "pic18f6720" , "p18f6720" , "18f6720" }, 0xA672, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6720.inc" , "18f6720_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F6722" , { "pic18f6722" , "p18f6722" , "18f6722" }, 0x6721, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6722.inc" , "18f6722_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F6723" , { "pic18f6723" , "p18f6723" , "18f6723" }, 0x6723, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f6723.inc" , "18f6723_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8310" , { "pic18f8310" , "p18f8310" , "18f8310" }, 0x8310, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f8310.inc" , "18f8310_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8390" , { "pic18f8390" , "p18f8390" , "18f8390" }, 0x8390, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f8390.inc" , "18f8390_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8393" , { "pic18f8393" , "p18f8393" , "18f8393" }, 0x8393, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f8393.inc" , "18f8393_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8410" , { "pic18f8410" , "p18f8410" , "18f8410" }, 0x8410, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f8410.inc" , "18f8410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8490" , { "pic18f8490" , "p18f8490" , "18f8490" }, 0x8490, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f8490.inc" , "18f8490_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8493" , { "pic18f8493" , "p18f8493" , "18f8493" }, 0x8493, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18f8493.inc" , "18f8493_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8520" , { "pic18f8520" , "p18f8520" , "18f8520" }, 0xA852, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8520.inc" , "18f8520_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F8525" , { "pic18f8525" , "p18f8525" , "18f8525" }, 0x8525, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8525.inc" , "18f8525_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F8527" , { "pic18f8527" , "p18f8527" , "18f8527" }, 0x8527, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8527.inc" , "18f8527_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8585" , { "pic18f8585" , "p18f8585" , "18f8585" }, 0x8585, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8585.inc" , "18f8585_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F8620" , { "pic18f8620" , "p18f8620" , "18f8620" }, 0xA862, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8620.inc" , "18f8620_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F8621" , { "pic18f8621" , "p18f8621" , "18f8621" }, 0x8621, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8621.inc" , "18f8621_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F8622" , { "pic18f8622" , "p18f8622" , "18f8622" }, 0x8622, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8622.inc" , "18f8622_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8627" , { "pic18f8627" , "p18f8627" , "18f8627" }, 0x8625, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8627.inc" , "18f8627_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8628" , { "pic18f8628" , "p18f8628" , "18f8628" }, 0x8628, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8628.inc" , "18f8628_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8680" , { "pic18f8680" , "p18f8680" , "18f8680" }, 0x8680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8680.inc" , "18f8680_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F8720" , { "pic18f8720" , "p18f8720" , "18f8720" }, 0xA872, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8720.inc" , "18f8720_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18F8722" , { "pic18f8722" , "p18f8722" , "18f8722" }, 0x8721, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8722.inc" , "18f8722_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18F8723" , { "pic18f8723" , "p18f8723" , "18f8723" }, 0x8723, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18f8723.inc" , "18f8723_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF13K22" , { "pic18lf13k22" , "p18lf13k22" , "18lf13k22" }, 0xA133, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf13k22.inc" , "18lf13k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF13K50" , { "pic18lf13k50" , "p18lf13k50" , "18lf13k50" }, 0xD135, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf13k50.inc" , "18lf13k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF14K22" , { "pic18lf14k22" , "p18lf14k22" , "18lf14k22" }, 0xA142, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf14k22.inc" , "18lf14k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF14K50" , { "pic18lf14k50" , "p18lf14k50" , "18lf14k50" }, 0xD145, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf14k50.inc" , "18lf14k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF23K22" , { "pic18lf23k22" , "p18lf23k22" , "18lf23k22" }, 0xB322, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf23k22.inc" , "18lf23k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF24J10" , { "pic18lf24j10" , "p18lf24j10" , "18lf24j10" }, 0xA241, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18lf24j10.inc" , "18lf24j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF24J11" , { "pic18lf24j11" , "p18lf24j11" , "18lf24j11" }, 0xB411, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18lf24j11.inc" , "18lf24j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF24J50" , { "pic18lf24j50" , "p18lf24j50" , "18lf24j50" }, 0xB450, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18lf24j50.inc" , "18lf24j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF24K22" , { "pic18lf24k22" , "p18lf24k22" , "18lf24k22" }, 0xB422, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf24k22.inc" , "18lf24k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF24K40" , { "pic18lf24k40" , "p18lf24k40" , "18lf24k40" }, 0xC244, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x004000, { 0x004000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18lf24k40.inc" , "18lf24k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF24K50" , { "pic18lf24k50" , "p18lf24k50" , "18lf24k50" }, 0xD452, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf24k50.inc" , "18lf24k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF25J10" , { "pic18lf25j10" , "p18lf25j10" , "18lf25j10" }, 0xA251, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18lf25j10.inc" , "18lf25j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF25J11" , { "pic18lf25j11" , "p18lf25j11" , "18lf25j11" }, 0xB511, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18lf25j11.inc" , "18lf25j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF25J50" , { "pic18lf25j50" , "p18lf25j50" , "18lf25j50" }, 0xB551, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18lf25j50.inc" , "18lf25j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF25K22" , { "pic18lf25k22" , "p18lf25k22" , "18lf25k22" }, 0xB522, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf25k22.inc" , "18lf25k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF25K40" , { "pic18lf25k40" , "p18lf25k40" , "18lf25k40" }, 0xC254, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18lf25k40.inc" , "18lf25k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF25K50" , { "pic18lf25k50" , "p18lf25k50" , "18lf25k50" }, 0xD552, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf25k50.inc" , "18lf25k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF25K80" , { "pic18lf25k80" , "p18lf25k80" , "18lf25k80" }, 0xD580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf25k80.inc" , "18lf25k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF26J11" , { "pic18lf26j11" , "p18lf26j11" , "18lf26j11" }, 0xB612, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf26j11.inc" , "18lf26j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF26J13" , { "pic18lf26j13" , "p18lf26j13" , "18lf26j13" }, 0xB617, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf26j13.inc" , "18lf26j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF26J50" , { "pic18lf26j50" , "p18lf26j50" , "18lf26j50" }, 0xB651, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf26j50.inc" , "18lf26j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF26J53" , { "pic18lf26j53" , "p18lf26j53" , "18lf26j53" }, 0xB656, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf26j53.inc" , "18lf26j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF26K22" , { "pic18lf26k22" , "p18lf26k22" , "18lf26k22" }, 0xB623, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf26k22.inc" , "18lf26k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF26K40" , { "pic18lf26k40" , "p18lf26k40" , "18lf26k40" }, 0xA640, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18lf26k40.inc" , "18lf26k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF26K80" , { "pic18lf26k80" , "p18lf26k80" , "18lf26k80" }, 0xD680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf26k80.inc" , "18lf26k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF27J13" , { "pic18lf27j13" , "p18lf27j13" , "18lf27j13" }, 0xB712, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18lf27j13.inc" , "18lf27j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF27J53" , { "pic18lf27j53" , "p18lf27j53" , "18lf27j53" }, 0xC753, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18lf27j53.inc" , "18lf27j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF27K40" , { "pic18lf27k40" , "p18lf27k40" , "18lf27k40" }, 0xA277, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x020000, { 0x020000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18lf27k40.inc" , "18lf27k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF43K22" , { "pic18lf43k22" , "p18lf43k22" , "18lf43k22" }, 0xC322, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf43k22.inc" , "18lf43k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF44J10" , { "pic18lf44j10" , "p18lf44j10" , "18lf44j10" }, 0xA441, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFD }, { -1, -1 }, 0x0000, "p18lf44j10.inc" , "18lf44j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF44J11" , { "pic18lf44j11" , "p18lf44j11" , "18lf44j11" }, 0xC411, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18lf44j11.inc" , "18lf44j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF44J50" , { "pic18lf44j50" , "p18lf44j50" , "18lf44j50" }, 0xC450, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FF7, 0x003FF8, { -1, -1 }, { -1, -1 }, { 0x003FF8, 0x003FFF }, { -1, -1 }, 0x0000, "p18lf44j50.inc" , "18lf44j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF44K22" , { "pic18lf44k22" , "p18lf44k22" , "18lf44k22" }, 0xC422, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf44k22.inc" , "18lf44k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF45J10" , { "pic18lf45j10" , "p18lf45j10" , "18lf45j10" }, 0xA451, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFD }, { -1, -1 }, 0x0000, "p18lf45j10.inc" , "18lf45j10_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF45J11" , { "pic18lf45j11" , "p18lf45j11" , "18lf45j11" }, 0xC511, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18lf45j11.inc" , "18lf45j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF45J50" , { "pic18lf45j50" , "p18lf45j50" , "18lf45j50" }, 0xC551, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x007FF7, 0x007FF8, { -1, -1 }, { -1, -1 }, { 0x007FF8, 0x007FFF }, { -1, -1 }, 0x0000, "p18lf45j50.inc" , "18lf45j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF45K22" , { "pic18lf45k22" , "p18lf45k22" , "18lf45k22" }, 0xC522, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf45k22.inc" , "18lf45k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF45K40" , { "pic18lf45k40" , "p18lf45k40" , "18lf45k40" }, 0xC454, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3100FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3100FF }, 0x0000, "p18lf45k40.inc" , "18lf45k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF45K50" , { "pic18lf45k50" , "p18lf45k50" , "18lf45k50" }, 0xE552, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf45k50.inc" , "18lf45k50_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF45K80" , { "pic18lf45k80" , "p18lf45k80" , "18lf45k80" }, 0xE580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf45k80.inc" , "18lf45k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF46J11" , { "pic18lf46j11" , "p18lf46j11" , "18lf46j11" }, 0xC612, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf46j11.inc" , "18lf46j11_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF46J13" , { "pic18lf46j13" , "p18lf46j13" , "18lf46j13" }, 0xC617, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf46j13.inc" , "18lf46j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF46J50" , { "pic18lf46j50" , "p18lf46j50" , "18lf46j50" }, 0xC651, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf46j50.inc" , "18lf46j50_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF46J53" , { "pic18lf46j53" , "p18lf46j53" , "18lf46j53" }, 0xC656, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x00FFF7, 0x00FFF8, { -1, -1 }, { -1, -1 }, { 0x00FFF8, 0x00FFFF }, { -1, -1 }, 0x0000, "p18lf46j53.inc" , "18lf46j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF46K22" , { "pic18lf46k22" , "p18lf46k22" , "18lf46k22" }, 0xC623, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf46k22.inc" , "18lf46k22_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF46K40" , { "pic18lf46k40" , "p18lf46k40" , "18lf46k40" }, 0xA26E, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18lf46k40.inc" , "18lf46k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF46K80" , { "pic18lf46k80" , "p18lf46k80" , "18lf46k80" }, 0xE680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf46k80.inc" , "18lf46k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF47J13" , { "pic18lf47j13" , "p18lf47j13" , "18lf47j13" }, 0xC712, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18lf47j13.inc" , "18lf47j13_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF47J53" , { "pic18lf47j53" , "p18lf47j53" , "18lf47j53" }, 0xC751, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x01FFF7, 0x01FFF8, { -1, -1 }, { -1, -1 }, { 0x01FFF8, 0x01FFFF }, { -1, -1 }, 0x0000, "p18lf47j53.inc" , "18lf47j53_g.lkr" , CPU_HAVE_EXTINST | CPU_18FJ_FAMILY },
{ PROC_CLASS_PIC16E , "__18LF47K40" , { "pic18lf47k40" , "p18lf47k40" , "18lf47k40" }, 0xA276, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x020000, { 0x020000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18lf47k40.inc" , "18lf47k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF65K40" , { "pic18lf65k40" , "p18lf65k40" , "18lf65k40" }, 0xA270, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x008000, { 0x008000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18lf65k40.inc" , "18lf65k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF65K80" , { "pic18lf65k80" , "p18lf65k80" , "18lf65k80" }, 0xF580, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf65k80.inc" , "18lf65k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF66K40" , { "pic18lf66k40" , "p18lf66k40" , "18lf66k40" }, 0xA271, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x010000, { 0x010000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18lf66k40.inc" , "18lf66k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF66K80" , { "pic18lf66k80" , "p18lf66k80" , "18lf66k80" }, 0xF680, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf66k80.inc" , "18lf66k80_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF67K40" , { "pic18lf67k40" , "p18lf67k40" , "18lf67k40" }, 0xA278, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x3103FF, 0x020000, { 0x020000, 0x30FFFF }, { 0x200000, 0x20000F }, { 0x300000, 0x30000B }, { 0x310000, 0x3103FF }, 0x0000, "p18lf67k40.inc" , "18lf67k40_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF242" , { "pic18lf242" , "p18lf242" , "18lf242" }, 0xA208, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf242.inc" , "18lf242_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF248" , { "pic18lf248" , "p18lf248" , "18lf248" }, 0xA20E, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf248.inc" , "18lf248_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF252" , { "pic18lf252" , "p18lf252" , "18lf252" }, 0xA215, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf252.inc" , "18lf252_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF258" , { "pic18lf258" , "p18lf258" , "18lf258" }, 0xA21B, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf258.inc" , "18lf258_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF442" , { "pic18lf442" , "p18lf442" , "18lf442" }, 0xA22A, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf442.inc" , "18lf442_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF448" , { "pic18lf448" , "p18lf448" , "18lf448" }, 0xA233, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf448.inc" , "18lf448_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF452" , { "pic18lf452" , "p18lf452" , "18lf452" }, 0xA236, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf452.inc" , "18lf452_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF458" , { "pic18lf458" , "p18lf458" , "18lf458" }, 0xA23F, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf458.inc" , "18lf458_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF1220" , { "pic18lf1220" , "p18lf1220" , "18lf1220" }, 0xA120, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf1220.inc" , "18lf1220_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF1230" , { "pic18lf1230" , "p18lf1230" , "18lf1230" }, 0xA121, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF0007F, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF0007F }, 0x0000, "p18lf1230.inc" , "18lf1230_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF1320" , { "pic18lf1320" , "p18lf1320" , "18lf1320" }, 0xA130, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf1320.inc" , "18lf1320_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF1330" , { "pic18lf1330" , "p18lf1330" , "18lf1330" }, 0xA131, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF0007F, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF0007F }, 0x0000, "p18lf1330.inc" , "18lf1330_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2220" , { "pic18lf2220" , "p18lf2220" , "18lf2220" }, 0xA200, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2220.inc" , "18lf2220_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF2221" , { "pic18lf2221" , "p18lf2221" , "18lf2221" }, 0xA201, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2221.inc" , "18lf2221_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2320" , { "pic18lf2320" , "p18lf2320" , "18lf2320" }, 0xA202, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2320.inc" , "18lf2320_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF2321" , { "pic18lf2321" , "p18lf2321" , "18lf2321" }, 0xA203, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2321.inc" , "18lf2321_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2331" , { "pic18lf2331" , "p18lf2331" , "18lf2331" }, 0xA204, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2331.inc" , "18lf2331_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF2410" , { "pic18lf2410" , "p18lf2410" , "18lf2410" }, 0xA205, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf2410.inc" , "18lf2410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2420" , { "pic18lf2420" , "p18lf2420" , "18lf2420" }, 0xA206, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2420.inc" , "18lf2420_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2423" , { "pic18lf2423" , "p18lf2423" , "18lf2423" }, 0xA207, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2423.inc" , "18lf2423_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2431" , { "pic18lf2431" , "p18lf2431" , "18lf2431" }, 0xA209, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2431.inc" , "18lf2431_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF2439" , { "pic18lf2439" , "p18lf2439" , "18lf2439" }, 0xA210, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x003000, { 0x003000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2439.inc" , "18lf2439_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF2450" , { "pic18lf2450" , "p18lf2450" , "18lf2450" }, 0xA20A, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf2450.inc" , "18lf2450_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2455" , { "pic18lf2455" , "p18lf2455" , "18lf2455" }, 0xA20B, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2455.inc" , "18lf2455_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2458" , { "pic18lf2458" , "p18lf2458" , "18lf2458" }, 0xA20C, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2458.inc" , "18lf2458_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2480" , { "pic18lf2480" , "p18lf2480" , "18lf2480" }, 0xA20D, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2480.inc" , "18lf2480_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2510" , { "pic18lf2510" , "p18lf2510" , "18lf2510" }, 0xA20F, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf2510.inc" , "18lf2510_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2515" , { "pic18lf2515" , "p18lf2515" , "18lf2515" }, 0xA211, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00BFFF, 0x00C000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf2515.inc" , "18lf2515_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2520" , { "pic18lf2520" , "p18lf2520" , "18lf2520" }, 0xA212, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2520.inc" , "18lf2520_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2523" , { "pic18lf2523" , "p18lf2523" , "18lf2523" }, 0xA213, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2523.inc" , "18lf2523_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2525" , { "pic18lf2525" , "p18lf2525" , "18lf2525" }, 0xA214, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf2525.inc" , "18lf2525_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2539" , { "pic18lf2539" , "p18lf2539" , "18lf2539" }, 0xA216, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2539.inc" , "18lf2539_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF2550" , { "pic18lf2550" , "p18lf2550" , "18lf2550" }, 0xA217, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2550.inc" , "18lf2550_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2553" , { "pic18lf2553" , "p18lf2553" , "18lf2553" }, 0xA218, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2553.inc" , "18lf2553_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2580" , { "pic18lf2580" , "p18lf2580" , "18lf2580" }, 0xA219, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf2580.inc" , "18lf2580_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2585" , { "pic18lf2585" , "p18lf2585" , "18lf2585" }, 0xA21A, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf2585.inc" , "18lf2585_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2610" , { "pic18lf2610" , "p18lf2610" , "18lf2610" }, 0xA21C, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00FFFF, 0x010000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf2610.inc" , "18lf2610_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2620" , { "pic18lf2620" , "p18lf2620" , "18lf2620" }, 0xA21D, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf2620.inc" , "18lf2620_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2680" , { "pic18lf2680" , "p18lf2680" , "18lf2680" }, 0xA21E, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf2680.inc" , "18lf2680_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2682" , { "pic18lf2682" , "p18lf2682" , "18lf2682" }, 0xA21F, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x014000, { 0x014000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf2682.inc" , "18lf2682_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF2685" , { "pic18lf2685" , "p18lf2685" , "18lf2685" }, 0xA220, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf2685.inc" , "18lf2685_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4220" , { "pic18lf4220" , "p18lf4220" , "18lf4220" }, 0xA223, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4220.inc" , "18lf4220_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF4221" , { "pic18lf4221" , "p18lf4221" , "18lf4221" }, 0xA224, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x001000, { 0x001000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4221.inc" , "18lf4221_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4320" , { "pic18lf4320" , "p18lf4320" , "18lf4320" }, 0xA225, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4320.inc" , "18lf4320_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF4321" , { "pic18lf4321" , "p18lf4321" , "18lf4321" }, 0xA226, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4321.inc" , "18lf4321_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4331" , { "pic18lf4331" , "p18lf4331" , "18lf4331" }, 0xA227, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x002000, { 0x002000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4331.inc" , "18lf4331_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF4410" , { "pic18lf4410" , "p18lf4410" , "18lf4410" }, 0xA228, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf4410.inc" , "18lf4410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4420" , { "pic18lf4420" , "p18lf4420" , "18lf4420" }, 0xA229, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4420.inc" , "18lf4420_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4423" , { "pic18lf4423" , "p18lf4423" , "18lf4423" }, 0xA22B, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4423.inc" , "18lf4423_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4431" , { "pic18lf4431" , "p18lf4431" , "18lf4431" }, 0xA22C, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4431.inc" , "18lf4431_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF4439" , { "pic18lf4439" , "p18lf4439" , "18lf4439" }, 0xA22D, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x003000, { 0x003000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4439.inc" , "18lf4439_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF4450" , { "pic18lf4450" , "p18lf4450" , "18lf4450" }, 0xA22E, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf4450.inc" , "18lf4450_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4455" , { "pic18lf4455" , "p18lf4455" , "18lf4455" }, 0xA22F, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4455.inc" , "18lf4455_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4458" , { "pic18lf4458" , "p18lf4458" , "18lf4458" }, 0xA230, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4458.inc" , "18lf4458_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4480" , { "pic18lf4480" , "p18lf4480" , "18lf4480" }, 0xA231, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4480.inc" , "18lf4480_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4510" , { "pic18lf4510" , "p18lf4510" , "18lf4510" }, 0xA234, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x007FFF, 0x008000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf4510.inc" , "18lf4510_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4515" , { "pic18lf4515" , "p18lf4515" , "18lf4515" }, 0xA235, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00BFFF, 0x00C000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf4515.inc" , "18lf4515_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4520" , { "pic18lf4520" , "p18lf4520" , "18lf4520" }, 0xA237, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4520.inc" , "18lf4520_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4523" , { "pic18lf4523" , "p18lf4523" , "18lf4523" }, 0xA238, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4523.inc" , "18lf4523_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4525" , { "pic18lf4525" , "p18lf4525" , "18lf4525" }, 0xA239, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf4525.inc" , "18lf4525_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4539" , { "pic18lf4539" , "p18lf4539" , "18lf4539" }, 0xA23A, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x006000, { 0x006000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4539.inc" , "18lf4539_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF4550" , { "pic18lf4550" , "p18lf4550" , "18lf4550" }, 0xA23B, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4550.inc" , "18lf4550_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4553" , { "pic18lf4553" , "p18lf4553" , "18lf4553" }, 0xA23C, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4553.inc" , "18lf4553_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4580" , { "pic18lf4580" , "p18lf4580" , "18lf4580" }, 0xA23D, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "p18lf4580.inc" , "18lf4580_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4585" , { "pic18lf4585" , "p18lf4585" , "18lf4585" }, 0xA23E, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf4585.inc" , "18lf4585_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4610" , { "pic18lf4610" , "p18lf4610" , "18lf4610" }, 0xA240, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x00FFFF, 0x010000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf4610.inc" , "18lf4610_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4620" , { "pic18lf4620" , "p18lf4620" , "18lf4620" }, 0xA242, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf4620.inc" , "18lf4620_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4680" , { "pic18lf4680" , "p18lf4680" , "18lf4680" }, 0xA243, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf4680.inc" , "18lf4680_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4682" , { "pic18lf4682" , "p18lf4682" , "18lf4682" }, 0xA244, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x014000, { 0x014000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf4682.inc" , "18lf4682_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF4685" , { "pic18lf4685" , "p18lf4685" , "18lf4685" }, 0xA245, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf4685.inc" , "18lf4685_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6310" , { "pic18lf6310" , "p18lf6310" , "18lf6310" }, 0xA246, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf6310.inc" , "18lf6310_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6390" , { "pic18lf6390" , "p18lf6390" , "18lf6390" }, 0xA247, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf6390.inc" , "18lf6390_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6393" , { "pic18lf6393" , "p18lf6393" , "18lf6393" }, 0xA248, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf6393.inc" , "18lf6393_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6410" , { "pic18lf6410" , "p18lf6410" , "18lf6410" }, 0xA249, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf6410.inc" , "18lf6410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6490" , { "pic18lf6490" , "p18lf6490" , "18lf6490" }, 0xA24A, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf6490.inc" , "18lf6490_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6493" , { "pic18lf6493" , "p18lf6493" , "18lf6493" }, 0xA24B, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf6493.inc" , "18lf6493_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6520" , { "pic18lf6520" , "p18lf6520" , "18lf6520" }, 0xA24C, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6520.inc" , "18lf6520_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF6525" , { "pic18lf6525" , "p18lf6525" , "18lf6525" }, 0xA24D, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6525.inc" , "18lf6525_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF6527" , { "pic18lf6527" , "p18lf6527" , "18lf6527" }, 0xA24E, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6527.inc" , "18lf6527_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6585" , { "pic18lf6585" , "p18lf6585" , "18lf6585" }, 0xA24F, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6585.inc" , "18lf6585_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF6620" , { "pic18lf6620" , "p18lf6620" , "18lf6620" }, 0xA250, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6620.inc" , "18lf6620_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF6621" , { "pic18lf6621" , "p18lf6621" , "18lf6621" }, 0xA252, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6621.inc" , "18lf6621_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF6622" , { "pic18lf6622" , "p18lf6622" , "18lf6622" }, 0xA253, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6622.inc" , "18lf6622_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6627" , { "pic18lf6627" , "p18lf6627" , "18lf6627" }, 0xA254, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6627.inc" , "18lf6627_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6628" , { "pic18lf6628" , "p18lf6628" , "18lf6628" }, 0xA255, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6628.inc" , "18lf6628_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6680" , { "pic18lf6680" , "p18lf6680" , "18lf6680" }, 0xA256, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6680.inc" , "18lf6680_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF6720" , { "pic18lf6720" , "p18lf6720" , "18lf6720" }, 0xA257, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6720.inc" , "18lf6720_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF6722" , { "pic18lf6722" , "p18lf6722" , "18lf6722" }, 0xA258, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6722.inc" , "18lf6722_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF6723" , { "pic18lf6723" , "p18lf6723" , "18lf6723" }, 0xA259, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf6723.inc" , "18lf6723_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8310" , { "pic18lf8310" , "p18lf8310" , "18lf8310" }, 0xA25A, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf8310.inc" , "18lf8310_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8390" , { "pic18lf8390" , "p18lf8390" , "18lf8390" }, 0xA25B, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf8390.inc" , "18lf8390_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8393" , { "pic18lf8393" , "p18lf8393" , "18lf8393" }, 0xA25C, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf8393.inc" , "18lf8393_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8410" , { "pic18lf8410" , "p18lf8410" , "18lf8410" }, 0xA25D, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf8410.inc" , "18lf8410_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8490" , { "pic18lf8490" , "p18lf8490" , "18lf8490" }, 0xA25E, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf8490.inc" , "18lf8490_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8493" , { "pic18lf8493" , "p18lf8493" , "18lf8493" }, 0xA25F, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0x003FFF, 0x004000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "p18lf8493.inc" , "18lf8493_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8520" , { "pic18lf8520" , "p18lf8520" , "18lf8520" }, 0xA260, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x008000, { 0x008000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8520.inc" , "18lf8520_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF8525" , { "pic18lf8525" , "p18lf8525" , "18lf8525" }, 0xA261, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8525.inc" , "18lf8525_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF8527" , { "pic18lf8527" , "p18lf8527" , "18lf8527" }, 0xA262, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8527.inc" , "18lf8527_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8585" , { "pic18lf8585" , "p18lf8585" , "18lf8585" }, 0xA263, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x00C000, { 0x00C000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8585.inc" , "18lf8585_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF8620" , { "pic18lf8620" , "p18lf8620" , "18lf8620" }, 0xA264, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8620.inc" , "18lf8620_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF8621" , { "pic18lf8621" , "p18lf8621" , "18lf8621" }, 0xA265, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8621.inc" , "18lf8621_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF8622" , { "pic18lf8622" , "p18lf8622" , "18lf8622" }, 0xA266, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8622.inc" , "18lf8622_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8627" , { "pic18lf8627" , "p18lf8627" , "18lf8627" }, 0xA267, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8627.inc" , "18lf8627_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8628" , { "pic18lf8628" , "p18lf8628" , "18lf8628" }, 0xA268, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x018000, { 0x018000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8628.inc" , "18lf8628_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8680" , { "pic18lf8680" , "p18lf8680" , "18lf8680" }, 0xA269, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x010000, { 0x010000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8680.inc" , "18lf8680_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF8720" , { "pic18lf8720" , "p18lf8720" , "18lf8720" }, 0xA26A, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8720.inc" , "18lf8720_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__18LF8722" , { "pic18lf8722" , "p18lf8722" , "18lf8722" }, 0xA26B, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8722.inc" , "18lf8722_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC16E , "__18LF8723" , { "pic18lf8723" , "p18lf8723" , "18lf8723" }, 0xA26C, 0, 16, 0x0F00, { 0x00, 0x5F }, -1, { -1, -1 }, 0x0FFF, 0xF003FF, 0x020000, { 0x020000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF003FF }, 0x0000, "p18lf8723.inc" , "18lf8723_g.lkr" , CPU_HAVE_EXTINST },
{ PROC_CLASS_PIC14 , "__14000" , { "pic14000" , "p14000" , "14000" }, 0x4000, 2, 2, 0x0080, { -1, -1 }, -1, { -1, -1 }, 0x00FF, 0x000FBF, 0x000FC0, { -1, -1 }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { -1, -1 }, 0x3F80, "p14000.inc" , "14000_g.lkr" , 0 },
{ PROC_CLASS_EEPROM8 , "__EEPROM8" , { "eeprom8" , "eeprom8" , "eeprom8" }, 0x1FFF, 0, 0, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, 0x0000FF, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_EEPROM16 , "__EEPROM16" , { "eeprom16" , "eeprom16" , "eeprom16" }, 0x1FFF, 0, 0, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, 0x00007F, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_GENERIC , "__GEN" , { "generic" , "gen" , "unknown" }, 0x0000, 0, 0, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, -1, -1, { -1, -1 }, { 0x002000, 0x002003 }, { -1, -1 }, { -1, -1 }, 0x3F80, NULL , NULL , 0 },
{ PROC_CLASS_PIC12 , "__HCS1365" , { "hcs1365" , "hcs1365" , "hcs1365" }, 0xF365, 2, 4, 0x0060, { -1, -1 }, -1, { -1, -1 }, 0x007F, 0x0003FF, -1, { -1, -1 }, { 0x000400, 0x000403 }, { 0x0007FF, 0x0007FF }, { -1, -1 }, 0x0FF0, NULL , "hcs1365_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__HCS1370" , { "hcs1370" , "hcs1370" , "hcs1370" }, 0xF370, 2, 4, 0x0060, { -1, -1 }, -1, { -1, -1 }, 0x007F, 0x0003FF, -1, { -1, -1 }, { 0x000400, 0x000403 }, { 0x0007FF, 0x0007FF }, { -1, -1 }, 0x0FF0, NULL , "hcs1370_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__MCV08A" , { "mcv08a" , "mcv08a" , "mcv08a" }, 0xA510, 2, 2, 0x0020, { 0x0A, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, NULL , "mcv08a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__MCV14A" , { "mcv14a" , "mcv14a" , "mcv14a" }, 0xC526, 2, 4, 0x0060, { 0x0D, 0x0F }, -1, { -1, -1 }, 0x007F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000440, 0x000443 }, { 0x000FFF, 0x000FFF }, { 0x000400, 0x00043F }, 0x0FF0, NULL , "mcv14a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__MCV18A" , { "mcv18a" , "mcv18a" , "mcv18a" }, 0xCF54, 1, 1, 0x0000, { -1, -1 }, -1, { -1, -1 }, 0x001F, 0x0001FF, 0x000200, { -1, -1 }, { 0x000200, 0x000203 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, NULL , "mcv18a_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__MCV28A" , { "mcv28a" , "mcv28a" , "mcv28a" }, 0xCF57, 4, 4, 0x0060, { 0x08, 0x0F }, 0x00F, { -1, -1 }, 0x007F, 0x0007FF, 0x000800, { -1, -1 }, { 0x000800, 0x000803 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, NULL , "mcv28a_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__PS500" , { "ps500" , "ps500" , "ps500" }, 0x0500, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0xF000FF, 0x004000, { 0x004000, 0xEFFFFF }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { 0xF00000, 0xF000FF }, 0x0000, "ps500.inc" , "ps500_g.lkr" , 0 },
{ PROC_CLASS_PIC16E , "__PS810" , { "ps810" , "ps810" , "ps810" }, 0x0810, 0, 16, 0x0F00, { 0x00, 0x7F }, -1, { -1, -1 }, 0x0FFF, 0x001FFF, 0x002000, { -1, -1 }, { 0x200000, 0x200007 }, { 0x300000, 0x30000D }, { -1, -1 }, 0x0000, "ps810.inc" , "ps810_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__RF509AF" , { "rf509af" , "rf509af" , "rf509af" }, 0x6509, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "rf509af.inc" , "rf509af_g.lkr" , 0 },
{ PROC_CLASS_PIC12 , "__RF509AG" , { "rf509ag" , "rf509ag" , "rf509ag" }, 0x7509, 2, 2, 0x0020, { 0x07, 0x0F }, 0x00F, { -1, -1 }, 0x003F, 0x0003FF, 0x000400, { -1, -1 }, { 0x000400, 0x000403 }, { 0x000FFF, 0x000FFF }, { -1, -1 }, 0x0FF0, "rf509ag.inc" , "rf509ag_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__RF675F" , { "rf675f" , "rf675f" , "rf675f" }, 0x3675, 1, 2, 0x0080, { 0x20, 0x5F }, -1, { -1, -1 }, 0x00DF, 0x00217F, 0x000400, { 0x0003FF, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "rf675f.inc" , "rf675f_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__RF675H" , { "rf675h" , "rf675h" , "rf675h" }, 0x4675, 1, 2, 0x0080, { 0x20, 0x5F }, -1, { -1, -1 }, 0x00DF, 0x00217F, 0x000400, { 0x0003FF, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "rf675h.inc" , "rf675h_g.lkr" , 0 },
{ PROC_CLASS_PIC14 , "__RF675K" , { "rf675k" , "rf675k" , "rf675k" }, 0x5675, 1, 2, 0x0080, { 0x20, 0x5F }, -1, { -1, -1 }, 0x00DF, 0x00217F, 0x000400, { 0x0003FF, 0x0020FF }, { 0x002000, 0x002003 }, { 0x002007, 0x002007 }, { 0x002100, 0x00217F }, 0x3F80, "rf675k.inc" , "rf675k_g.lkr" , 0 },
{ PROC_CLASS_SX , "__SX18" , { "sx18ac" , "sx18" , "sx18" }, 0x0018, 4, 4, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, 0x0007FF, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_SX , "__SX20" , { "sx20ac" , "sx20" , "sx20" }, 0x0020, 4, 4, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, 0x0007FF, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_SX , "__SX28" , { "sx28ac" , "sx28" , "sx28" }, 0x0028, 4, 4, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, 0x0007FF, -1, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_SX , "__SX48" , { "sx48bd" , "sx48" , "sx48" }, 0x0048, 8, 8, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, 0x000FFF, -1, { -1, -1 }, { 0x001000, 0x00100F }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
{ PROC_CLASS_SX , "__SX52" , { "sx52bd" , "sx52" , "sx52" }, 0x0052, 8, 8, 0x0000, { -1, -1 }, -1, { -1, -1 }, -1, 0x000FFF, -1, { -1, -1 }, { 0x001000, 0x00100F }, { -1, -1 }, { -1, -1 }, 0x0000, NULL , NULL , 0 },
};
#define NUM_PICS ARRAY_SIZE(pics)
/*------------------------------------------------------------------------------------------------*/
/*
* Display a list of the processor names.
*/
FUNC(void) gp_dump_processor_list(bool List_all, proc_class_t Class0, proc_class_t Class1, proc_class_t Class2) {
#define COLUMNS 6
#define SPACE_BETWEEN 2 /* number of chars between columns */
#define FAVORITE 1 /* there are 3 names to choose from */
int i;
int length;
int column_width;
int columns;
int num;
const char *name;
bool newline;
#ifdef TIOCGWINSZ
struct winsize ws;
#endif
column_width = 0;
columns = COLUMNS;
newline = false;
for (i = 0; i < NUM_PICS; i++) {
if (!List_all && (pics[i].pclass != Class0) && (pics[i].pclass != Class1) && (pics[i].pclass != Class2)) {
continue;
}
length = strlen(pics[i].names[FAVORITE]);
if (length > column_width) {
column_width = length;
}
}
column_width += SPACE_BETWEEN;
#ifdef TIOCGWINSZ
/* Adapt to available screen width. */
if ((isatty(STDOUT_FILENO) > 0) && (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == 0)) {
columns = ws.ws_col / column_width;
}
else
#endif
{
/* This will in particular be executed when a pipeline
* is set up by a shell command.
*/
const char *width = getenv("COLUMNS");
int w = (width) ? atoi(width) : 80;
/* Check that the line width is reasonable. */
if ((w <= 0) || (w > 240)) {
w = 80;
}
columns = w / column_width;
}
num = 0;
for (i = 0; i < NUM_PICS; i++) {
if (List_all || (pics[i].pclass == Class0) || (pics[i].pclass == Class1) || (pics[i].pclass == Class2)) {
num++;
name = pics[i].names[FAVORITE];
newline = ((num % columns) == 0) ? true : false;
if (i >= (NUM_PICS - 1)) {
printf("%s", name);
}
else if (newline) {
printf("%s\n", name);
}
else {
printf("%-*s", column_width, name);
}
}
}
if (!newline || (num == NUM_PICS)) {
putchar('\n');
}
}
/*------------------------------------------------------------------------------------------------*/
FUNC(void) gp_processor_invoke_custom_lister(proc_class_t Class0, proc_class_t Class1,
proc_class_t Class2, void (*Custom_lister)(pic_processor_t)) {
int i;
pic_processor_t proc;
for (i = 0; i < NUM_PICS; i++) {
proc = &pics[i];
if ((Class0 != PROC_CLASS_UNKNOWN) || (Class1 != PROC_CLASS_UNKNOWN) || (Class2 != PROC_CLASS_UNKNOWN)) {
if ((proc->pclass == Class0) || (proc->pclass == Class1) || (proc->pclass == Class2)) {
(*Custom_lister)(proc);
}
}
else {
(*Custom_lister)(proc);
}
}
}
/*------------------------------------------------------------------------------------------------*/
FUNC(pic_processor_t) gp_find_processor(const char *Name) {
int i;
int j;
for (i = 0; i < NUM_PICS; i++) {
for (j = 0; (j < MAX_NAMES) && (pics[i].names[j]); j++) {
if (strcasecmp(Name, pics[i].names[j]) == 0) {
return &pics[i];
}
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(proc_class_t) gp_processor_class(pic_processor_t Processor) {
return ((Processor) ? Processor->pclass : PROC_CLASS_UNKNOWN);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const char*) gp_processor_class_to_str(proc_class_t Class) {
if (Class == PROC_CLASS_EEPROM8) {
return "EEPROM8";
}
else if (Class == PROC_CLASS_EEPROM16) {
return "EEPROM16";
}
else if (Class == PROC_CLASS_GENERIC) {
return "GENERIC";
}
else if (Class == PROC_CLASS_PIC12) {
return "PIC12";
}
else if (Class == PROC_CLASS_PIC12E) {
return "PIC12E";
}
else if (Class == PROC_CLASS_PIC12I) {
return "PIC12I";
}
else if (Class == PROC_CLASS_SX) {
return "SX";
}
else if (Class == PROC_CLASS_PIC14) {
return "PIC14";
}
else if (Class == PROC_CLASS_PIC14E) {
return "PIC14E";
}
else if (Class == PROC_CLASS_PIC14EX) {
return "PIC14EX";
}
else if (Class == PROC_CLASS_PIC16) {
return "PIC16";
}
else if (Class == PROC_CLASS_PIC16E) {
return "PIC16E";
}
else {
return "UNKNOWN";
}
}
/*------------------------------------------------------------------------------------------------*/
/* 18xx bsr boundary location */
FUNC(unsigned) gp_processor_bsr_boundary(pic_processor_t Processor) {
if ((Processor) && (Processor->pclass == PROC_CLASS_PIC16E)) {
return (Processor->common_ram_addrs[1] + 1);
}
return 0;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(uint32_t) gp_processor_coff_type(pic_processor_t Processor) {
return ((Processor) ? Processor->coff_type : 0);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(unsigned) gp_processor_num_pages(pic_processor_t Processor) {
return ((Processor) ? Processor->num_pages : 0);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(unsigned) gp_processor_num_banks(pic_processor_t Processor) {
if (Processor) {
return Processor->num_banks;
}
return 0;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(pic_processor_t) gp_processor_coff_proc(uint32_t Coff_type) {
int i;
for (i = 0; i < NUM_PICS; i++) {
if (pics[i].coff_type == Coff_type) {
return &pics[i];
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const char*) gp_processor_name(pic_processor_t Processor, unsigned Choice) {
assert(!(Choice > (MAX_NAMES - 1)));
return ((Processor) ? Processor->names[Choice] : NULL);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const char*) gp_processor_coff_name(uint32_t Coff_type, unsigned Choice) {
unsigned i;
if (Coff_type == 0) {
return NULL;
}
assert(!(Choice > (MAX_NAMES - 1)));
for (i = 0; i < NUM_PICS; i++) {
if (pics[i].coff_type == Coff_type) {
return pics[i].names[Choice];
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const char*) gp_processor_header(pic_processor_t Processor) {
return ((Processor) ? Processor->header : NULL);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const char*) gp_processor_script(pic_processor_t Processor) {
return ((Processor) ? Processor->script : NULL);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(unsigned) gp_processor_id_location(pic_processor_t Processor) {
return ((Processor->pclass->id_location) ? Processor->pclass->id_location(Processor) : 0);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_byte_from_insn(unsigned Shift, int Insn_address) {
return (Insn_address << Shift);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_insn_from_byte(unsigned Shift, int Byte_address) {
return (Byte_address >> Shift);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_reg_offs(pic_processor_t Processor, int Address) {
if ((Processor == NULL) || (Address < 0)) {
return -1;
}
return (Address & Processor->pclass->bank_mask);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_bank_addr(pic_processor_t Processor, int Address) {
if ((Processor == NULL) || (Address < 0)) {
return -1;
}
return (Address & Processor->bank_bits);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_bank_num(pic_processor_t Processor, int Address) {
if ((Processor == NULL) || (Address < 0)) {
return -1;
}
return ((Address & Processor->bank_bits) >> Processor->pclass->bank_bits_shift);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_addr_from_bank_num(pic_processor_t Processor, int Number) {
if ((Processor == NULL) || (Number < 0)) {
return -1;
}
return ((Number << Processor->pclass->bank_bits_shift) & Processor->bank_bits);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const int*) gp_processor_common_ram_exist(pic_processor_t Processor) {
if (Processor == NULL) {
return NULL;
}
if ((Processor->common_ram_addrs[0] >= 0) &&
(Processor->common_ram_addrs[0] <= Processor->common_ram_addrs[1])) {
return Processor->common_ram_addrs;
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_common_ram_addr(pic_processor_t Processor, int Address) {
const int *cram_addrs;
proc_class_t pclass;
if ((Processor == NULL) || (Address < 0)) {
return -1;
}
pclass = Processor->pclass;
if ((pclass != PROC_CLASS_GENERIC) &&
(pclass != PROC_CLASS_PIC12) &&
(pclass != PROC_CLASS_PIC12E) &&
(pclass != PROC_CLASS_PIC12I) &&
(pclass != PROC_CLASS_SX) &&
(pclass != PROC_CLASS_PIC14) &&
(pclass != PROC_CLASS_PIC14E) &&
(pclass != PROC_CLASS_PIC14EX) &&
(pclass != PROC_CLASS_PIC16) &&
(pclass != PROC_CLASS_PIC16E)) {
return -1;
}
if ((Processor->common_ram_max > 0) && (Address > Processor->common_ram_max)) {
return -1;
}
if (pclass != PROC_CLASS_PIC16E) {
/* The Common RAM - except the PIC16E family - exists in the all RAM banks. */
Address &= pclass->bank_mask;
}
if ((cram_addrs = gp_processor_common_ram_exist(Processor))) {
if ((Address >= cram_addrs[0]) && (Address <= cram_addrs[1])) {
return (Address - cram_addrs[0]);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(bool) gp_processor_is_p16e_access_low(pic_processor_t Processor, int Address) {
const int *cram_addrs;
if ((Processor->pclass != PROC_CLASS_PIC16E) || (Address < 0)) {
return false;
}
if ((cram_addrs = gp_processor_common_ram_exist(Processor))) {
return (((Address >= cram_addrs[0]) && (Address <= cram_addrs[1])) ? true : false);
}
return false;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(bool) gp_processor_is_p16e_access_high(pic_processor_t Processor, int Address, bool Mpasm_compatible) {
const int *cram_addrs;
if ((Processor->pclass != PROC_CLASS_PIC16E) || ((!Mpasm_compatible) && (Address < 0))) {
return false;
}
if ((cram_addrs = gp_processor_common_ram_exist(Processor))) {
int bank_size = Processor->pclass->bank_size;
bool bo = Address > bank_size * 15 + cram_addrs[1];
if (Mpasm_compatible) return bo; // The mpasmx not investigate the upper limit.
return bo && Address < bank_size * 16;
}
return false;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(bool) gp_processor_is_p16e_access(pic_processor_t Processor, int Address, bool Mpasm_compatible) {
return (gp_processor_is_p16e_access_low(Processor, Address) |
gp_processor_is_p16e_access_high(Processor, Address, Mpasm_compatible));
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const int*) gp_processor_linear_ram_exist(pic_processor_t Processor) {
if (!Processor) return NULL;
if ((Processor->linear_ram_addrs[0] > 0) &&
(Processor->linear_ram_addrs[1] >= Processor->linear_ram_addrs[0])) {
return Processor->linear_ram_addrs;
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_linear_ram_addr(pic_processor_t Processor, int Address) {
const int *lram_addrs;
if ((Processor == NULL) ||
((Processor->pclass != PROC_CLASS_PIC14E) && (Processor->pclass != PROC_CLASS_PIC14EX))) {
return -1;
}
if (Address < 0) {
return -1;
}
if ((lram_addrs = gp_processor_linear_ram_exist(Processor))) {
if ((Address >= lram_addrs[0]) && (Address <= lram_addrs[1])) {
return (Address - lram_addrs[0]);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const int*) gp_processor_idlocs_exist(pic_processor_t Processor) {
if (!Processor) return NULL;
if ((Processor->idlocs_addrs[0] > 0) &&
(Processor->idlocs_addrs[1] >= Processor->idlocs_addrs[0])) {
return Processor->idlocs_addrs;
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_idlocs_org(pic_processor_t Processor, int Org) {
const int *id_addrs;
if (!Processor || Org<0) return -1;
if ((id_addrs = gp_processor_idlocs_exist(Processor))) {
if ((Org >= id_addrs[0]) && (Org <= id_addrs[1])) {
return (Org - id_addrs[0]);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_idlocs_byte_addr(pic_processor_t Processor, int Byte_address) {
const int *idlocs;
int start;
int end;
if (Byte_address < 0) return -1;
if ((idlocs = gp_processor_idlocs_exist(Processor))) {
/* There is a need an address conversion. */
start = gp_byte_from_insn(Processor->pclass->org_to_byte_shift, idlocs[0]);
end = idlocs[1] - idlocs[0] + start;
if ((Byte_address >= start) && (Byte_address <= end)) {
return (Byte_address - start);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const int*) gp_processor_config_exist(pic_processor_t Processor) {
if (!Processor) return NULL;
if ((Processor->config_addrs[0] > 0) &&
(Processor->config_addrs[1] >= Processor->config_addrs[0])) {
return Processor->config_addrs;
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_config_org(pic_processor_t Processor, int Org) {
const int *config;
if (!Processor || Org<0) return -1;
if ((config = gp_processor_config_exist(Processor))) {
if ((Org >= config[0]) && (Org <= config[1])) {
return (Org - config[0]);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_config_byte_addr(pic_processor_t Processor, int Byte_address) {
const int *config;
int start;
int end;
if (Byte_address < 0) return -1;
if ((config = gp_processor_config_exist(Processor))) {
/* There is a need an address conversion. */
start = gp_byte_from_insn(Processor->pclass->org_to_byte_shift, config[0]);
end = config[1] - config[0] + start;
if ((Byte_address >= start) && (Byte_address <= end)) {
return (Byte_address - start);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const int*) gp_processor_eeprom_exist(pic_processor_t Processor) {
if (!Processor) return NULL;
if ((Processor->eeprom_addrs[0] > 0) &&
(Processor->eeprom_addrs[1] >= Processor->eeprom_addrs[0])) {
return Processor->eeprom_addrs;
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_eeprom_org(pic_processor_t Processor, int Org) {
const int *eeprom;
if (!Processor || Org<0) return -1;
if ((eeprom = gp_processor_eeprom_exist(Processor))) {
if ((Org >= eeprom[0]) && (Org <= eeprom[1])) {
return (Org - eeprom[0]);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_is_eeprom_byte_addr(pic_processor_t Processor, int Byte_address) {
const int *eeprom;
int start;
int end;
if (Byte_address < 0) {
return -1;
}
if ((eeprom = gp_processor_eeprom_exist(Processor))) {
/* There is a need an address conversion. */
start = gp_byte_from_insn(Processor->pclass->org_to_byte_shift, eeprom[0]);
end = eeprom[1] - eeprom[0] + start;
if ((Byte_address >= start) && (Byte_address <= end)) {
return (Byte_address - start);
}
}
return -1;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(unsigned) gp_processor_rom_width(proc_class_t Class) {
assert(Class->rom_width > 0);
return Class->rom_width;
}
/*------------------------------------------------------------------------------------------------*/
/* Set the page bits, return the number of instructions required. */
FUNC(unsigned) gp_processor_set_page(proc_class_t Class, unsigned Num_pages, unsigned Page, MemBlock_t *M,
unsigned Byte_address, bool Use_wreg) {
return Class->set_page(Num_pages, Page, M, Byte_address, Use_wreg);
}
/*------------------------------------------------------------------------------------------------*/
/* Mask the page bits, if exists. */
FUNC(unsigned) gp_processor_page_addr(proc_class_t Class, unsigned Address) {
return Class->page_addr(Address);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(unsigned) gp_processor_addr_from_page_bits(proc_class_t Class, unsigned Bits) {
return Class->addr_from_page_bits(Bits);
}
/*------------------------------------------------------------------------------------------------*/
/* Set the bank bits, return the number of instructions required. */
FUNC(unsigned) gp_processor_set_bank(proc_class_t Class, unsigned Num_banks, unsigned Bank, MemBlock_t *M,
unsigned Byte_address, bool Mpasm_compatible) {
return Class->set_bank(Num_banks, Bank, M, Byte_address, Mpasm_compatible);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(unsigned) gp_processor_set_ibank(proc_class_t Class, unsigned Num_banks, unsigned Bank, MemBlock_t *M,
unsigned Byte_address) {
return Class->set_ibank(Num_banks, Bank, M, Byte_address);
}
/*------------------------------------------------------------------------------------------------*/
/* determine the value for retlw */
FUNC(unsigned) gp_processor_retlw(proc_class_t Class) {
assert(Class->retlw > 0);
return Class->retlw;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_byte_from_insn_c(proc_class_t Class, int Insn_address) {
/* FIXME: In some places we use this value before we know what the
Processor is. Rather than fix those now, I'll just return some
value. */
if (!Class) return Insn_address;
return gp_byte_from_insn(Class->org_to_byte_shift, Insn_address);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_byte_from_insn_p(pic_processor_t Processor, int Insn_address) {
if (!Processor) return Insn_address;
return gp_processor_byte_from_insn_c(Processor->pclass, Insn_address);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_insn_from_byte_c(proc_class_t Class, int Byte_address) {
/* FIXME: In some places we use this value before we know what the
Processor is. Rather than fix those now, I'll just return some
value. */
if (!Class) return Byte_address;
return gp_insn_from_byte(Class->org_to_byte_shift, Byte_address);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(int) gp_processor_insn_from_byte_p(pic_processor_t Processor, int Byte_address) {
if (!Processor) return Byte_address;
return gp_processor_insn_from_byte_c(Processor->pclass, Byte_address);
}
/*------------------------------------------------------------------------------------------------*/
/* determine which page of program memory the byte address is located */
FUNC(unsigned) gp_processor_check_page(proc_class_t Class, unsigned Insn_address) {
return Class->check_page(Insn_address);
}
/*------------------------------------------------------------------------------------------------*/
/* determine which bank of data memory the address is located */
FUNC(int) gp_processor_bank_from_addr(proc_class_t Class, int Address) {
return Class->bank_from_addr(Address);
}
/*------------------------------------------------------------------------------------------------*/
/* determine which bank of data memory the address is located */
FUNC(int) gp_processor_check_ibank(proc_class_t Class, int Address) {
return Class->check_ibank(Address);
}
/*------------------------------------------------------------------------------------------------*/
/* When unsupported on the pclass. */
static int _xbank_from_addr_unsupported(int Address) {
(void)Address;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _set_bank_unsupported(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Address,
bool Mpasm_compatible) {
(void)Num_banks;
(void)Bank;
(void)M;
(void)Address;
(void)Mpasm_compatible;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _set_ibank_unsupported(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Address) {
(void)Num_banks;
(void)Bank;
(void)M;
(void)Address;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _banksel_byte_length_unsupported(unsigned Num_banks, bool Mpasm_compatible) {
(void)Num_banks;
(void)Mpasm_compatible;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_check_page_unsupported(unsigned Insn_address)
{
(void)Insn_address;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _set_page_unsupported(unsigned Num_pages, unsigned Page, MemBlock_t *M, unsigned Byte_address,
bool Use_wreg) {
(void)Num_pages;
(void)Page;
(void)M;
(void)Byte_address;
(void)Use_wreg;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_pagesel_byte_length_unsupported(unsigned Num_pages, bool Use_wreg)
{
(void)Num_pages;
(void)Use_wreg;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _page_addr_unsupported(unsigned Address) {
(void)Address;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _addr_from_page_bits_unsupported(unsigned Bits) {
(void)Bits;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_unsupported(unsigned Address)
{
(void)Address;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_bra_unsupported(const gp_section_t *Section, unsigned Value, unsigned Byte_address)
{
(void)Section;
(void)Value;
(void)Byte_address;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_high_unsupported(bool Is_code, unsigned Value)
{
(void)Is_code;
(void)Value;
assert(0);
return 0;
}
/*------------------------------------------------------------------------------------------------*/
/* Common to most */
static const insn_t *
_find_insn_generic(proc_class_t Class, unsigned Opcode)
{
const insn_t *base;
int count;
int i;
base = Class->instructions;
if (base == NULL) {
return NULL;
}
count = *(Class->num_instructions);
for (i = 0; i < count; i++) {
if ((base[i].mask & Opcode) == base[i].opcode) {
return &base[i];
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_high_generic(bool Is_code, unsigned Value)
{
(void)Is_code;
return ((Value >> 8) & 0xff);
}
/*------------------------------------------------------------------------------------------------*/
/* Common to PIC12 and PIC14 */
static unsigned
_set_page_pic12_14(unsigned Num_pages, unsigned Page, MemBlock_t *M, unsigned Byte_address,
bool Use_wreg, unsigned Bcf_insn, unsigned Bsf_insn, unsigned Movlw_insn,
unsigned Movwf_insn, unsigned Location, unsigned Page0, unsigned Page1)
{
uint16_t data;
unsigned insn_byte_len;
char buf[BUFSIZ];
assert(Num_pages <= 4);
if (Num_pages == 1) {
return 0;
}
snprintf(buf, sizeof(buf), "page_%u", Page);
if (Use_wreg) {
data = Movlw_insn | Page;
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
insn_byte_len = 2;
data = Movwf_insn | Location;
gp_mem_i_put_le(M, Byte_address + insn_byte_len, data, buf, NULL);
insn_byte_len += 2;
}
else {
/* page low bit */
data = ((Page & 1) ? Bsf_insn : Bcf_insn) | Page0 | Location;
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
insn_byte_len = 2;
if (Num_pages > 2) {
/* page high bit */
data = ((Page & 2) ? Bsf_insn : Bcf_insn) | Page1 | Location;
gp_mem_i_put_le(M, Byte_address + insn_byte_len, data, buf, NULL);
insn_byte_len += 2;
}
}
return insn_byte_len;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_pagesel_byte_length_pic12_14(unsigned Num_pages, bool Use_wreg)
{
if (Num_pages == 1) {
return 0;
}
if (Use_wreg) {
return 4;
}
else {
return ((Num_pages > 2) ? 4 : 2);
}
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic12_14(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
unsigned Bcf_insn, unsigned Bsf_insn, unsigned Location,
unsigned Bank0, unsigned Bank1, unsigned Bank2, bool Mpasm_compatible)
{
uint16_t data;
unsigned insn_byte_len;
char buf[BUFSIZ];
/* 16F59 */
assert(Num_banks <= 8);
if (Num_banks == 1) {
return 0;
}
snprintf(buf, sizeof(buf), "bank_%u", Bank);
/* bank low bit */
data = ((Bank & 1) ? Bsf_insn : Bcf_insn) | Bank0 | Location;
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
insn_byte_len = 2;
if ((Num_banks > 2) || Mpasm_compatible) {
/* bank high bit */
data = ((Bank & 2) ? Bsf_insn : Bcf_insn) | Bank1 | Location;
gp_mem_i_put_le(M, Byte_address + insn_byte_len, data, buf, NULL);
insn_byte_len += 2;
}
if (Num_banks > 4) {
/* bank upper bit */
data = ((Bank & 4) ? Bsf_insn : Bcf_insn) | Bank2 | Location;
gp_mem_i_put_le(M, Byte_address + insn_byte_len, data, buf, NULL);
insn_byte_len += 2;
}
return insn_byte_len;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_banksel_byte_length_pic12_14(unsigned Num_banks, bool Mpasm_compatible)
{
int insn_byte_len;
if (Num_banks == 1) {
return 0;
}
insn_byte_len = 2;
if ((Num_banks > 2) || (Mpasm_compatible)) {
insn_byte_len += 2;
}
if (Num_banks > 4) {
insn_byte_len += 2;
}
return insn_byte_len;
}
/*------------------------------------------------------------------------------------------------*/
/* PIC12 */
static unsigned
_id_location_pic12(pic_processor_t Processor)
{
if ((Processor->idlocs_addrs[0] > 0) && (Processor->idlocs_addrs[1] > 0)) {
/* We carry org in the struct px, but return byte address. */
return gp_byte_from_insn(Processor->pclass->org_to_byte_shift, Processor->idlocs_addrs[0]);
}
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static int
_bank_from_addr_pic12(int Address)
{
if (Address < 0) {
return -1;
}
return ((Address >> PIC12_BANK_SHIFT) & PIC12_BMSK_BANK);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic12(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
bool Mpasm_compatible)
{
return _set_bank_pic12_14(Num_banks, Bank, M, Byte_address,
PIC12_INSN_BCF, PIC12_INSN_BSF,
PIC12_REG_FSR,
PIC12_BIT_FSR_RP0 << PIC12_INSN_BxF_BITSHIFT,
PIC12_BIT_FSR_RP1 << PIC12_INSN_BxF_BITSHIFT,
PIC12_BIT_FSR_RP2 << PIC12_INSN_BxF_BITSHIFT,
Mpasm_compatible);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_check_page_pic12(unsigned Insn_address)
{
return ((Insn_address & PIC12_PAGE_BITS) >> PIC12_PAGE_SHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_page_addr_pic12(unsigned Insn_address)
{
return (Insn_address & PIC12_PAGE_BITS);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_addr_from_page_bits_pic12(unsigned Bits)
{
return _page_addr_pic12(Bits << PIC12_PAGE_SHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_page_pic12(unsigned Num_pages, unsigned Page, MemBlock_t *M, unsigned Byte_address,
bool Use_wreg)
{
return _set_page_pic12_14(Num_pages, Page, M, Byte_address, Use_wreg,
PIC12_INSN_BCF, PIC12_INSN_BSF,
PIC12_INSN_MOVLW, PIC12_INSN_MOVWF,
PIC12_REG_STATUS,
PIC12_BIT_STATUS_PA0 << PIC12_INSN_BxF_BITSHIFT,
PIC12_BIT_STATUS_PA1 << PIC12_INSN_BxF_BITSHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_call_pic12(unsigned Insn_address)
{
return (Insn_address & PIC12_BMSK_CALL);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_goto_pic12(unsigned Insn_address)
{
return (Insn_address & PIC12_BMSK_GOTO);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_f_pic12(unsigned Address)
{
return (Address & PIC12_BMSK_FILE);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_tris_pic12(unsigned Address)
{
/* TODO This is not accurate, for example PIC12F510/16F506 only has
three bits and allowed values of 6 and 7. MPASM 5.34 has
Error[126] : Argument out of range (0000 not between 0005 and 0009)
*/
/* Seen in the data sheets that everywhere three bits there are in the PIC12 family. */
return (Address & PIC12_BMSK_TRIS);
}
/*------------------------------------------------------------------------------------------------*/
/* PIC12E */
static int
_bank_from_addr_pic12e(int Address)
{
if (Address < 0) {
return -1;
}
return ((Address >> PIC12_BANK_SHIFT) & PIC12E_BMSK_BANK);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic12e(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
bool Mpasm_compatible)
{
uint16_t data;
char buf[BUFSIZ];
(void)Mpasm_compatible;
Bank &= PIC12E_BMSK_BANK;
data = PIC12E_INSN_MOVLB | Bank;
snprintf(buf, sizeof(buf), "bank_%u", Bank);
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_banksel_byte_length_pic12e(unsigned Num_banks, bool Mpasm_compatible)
{
(void)Num_banks;
(void)Mpasm_compatible;
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_tris_pic12e(unsigned address)
{
return (address & PIC12_BMSK_TRIS);
}
/*------------------------------------------------------------------------------------------------*/
static const insn_t *
_find_insn_pic12e(proc_class_t Class, unsigned Opcode)
{
unsigned i;
(void)Class;
/* First explore the enhanced instruction set. */
for (i = 0; i < num_op_16c5xx_enh; i++) {
if ((op_16c5xx_enh[i].mask & Opcode) == op_16c5xx_enh[i].opcode) {
return &op_16c5xx_enh[i];
}
}
for (i = 0; i < num_op_12c5xx; i++) {
if ((op_12c5xx[i].mask & Opcode) == op_12c5xx[i].opcode) {
return &op_12c5xx[i];
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
/* SX */
static unsigned
_check_page_sx(unsigned Insn_address)
{
return ((Insn_address & PIC12_PAGE_BITS) >> PIC12_PAGE_SHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_page_addr_sx(unsigned Insn_address)
{
return (Insn_address & PIC12_PAGE_BITS);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_addr_from_page_bits_sx(unsigned Bits)
{
return _page_addr_sx(Bits << PIC12_PAGE_SHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_page_sx(unsigned Num_pages, unsigned Page, MemBlock_t *M, unsigned Byte_address,
bool Use_wreg)
{
uint16_t data;
char buf[BUFSIZ];
if (Num_pages == 1) {
return 0;
}
Page &= MASK_SX_PAGE;
snprintf(buf, sizeof(buf), "page_%u", Page);
data = SX_INSN_PAGE | Page;
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
return 2;
}
/*------------------------------------------------------------------------------------------------*/
/* PIC14 */
static unsigned
_id_location_pic14(pic_processor_t Processor)
{
if ((Processor->idlocs_addrs[0] > 0) && (Processor->idlocs_addrs[1] > 0)) {
/* We carry org in the struct px, but return byte address. */
return gp_byte_from_insn(Processor->pclass->org_to_byte_shift, Processor->idlocs_addrs[0]);
}
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static int
_bank_from_addr_pic14(int Address)
{
if (Address < 0) {
return -1;
}
return ((Address >> PIC14_BANK_SHIFT) & PIC14_BMSK_BANK);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic14(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
bool Mpasm_compatible)
{
return _set_bank_pic12_14(Num_banks, Bank, M, Byte_address,
PIC14_INSN_BCF, PIC14_INSN_BSF,
PIC14_REG_STATUS,
PIC14_BIT_STATUS_RP0 << PIC14_INSN_BxF_BITSHIFT,
PIC14_BIT_STATUS_RP1 << PIC14_INSN_BxF_BITSHIFT,
-1,
Mpasm_compatible);
}
/*------------------------------------------------------------------------------------------------*/
static int
_check_ibank_pic14(int Address)
{
if (Address < 0) {
return -1;
}
return ((Address >> 8) & 0x0f);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _set_ibank_pic14(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address) {
/* bcf STATUS,7 or bsf STATUS,7 (STATUS: 3) */
/* bcf: 01 00bb bfff ffff
* bsf: 01 01bb bfff ffff */
gp_mem_i_put_le(M, Byte_address, (Bank == 0) ? 0x1383 : 0x1783, (Bank == 0) ? "ibank0" : "ibank1", NULL);
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned _check_page_pic14(unsigned insn_address) {
return ((insn_address & PIC14_PAGE_BITS) >> PIC14_PAGE_SHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_page_addr_pic14(unsigned Insn_address)
{
return (Insn_address & PIC14_PAGE_BITS);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_addr_from_page_bits_pic14(unsigned Bits)
{
return _page_addr_pic14(Bits << PIC14_PAGE_SHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_page_pic14(unsigned Num_pages, unsigned Page, MemBlock_t *M, unsigned Byte_address,
bool Use_wreg)
{
return _set_page_pic12_14(Num_pages, Page, M, Byte_address, Use_wreg,
PIC14_INSN_BCF, PIC14_INSN_BSF,
PIC14_INSN_MOVLW, PIC14_INSN_MOVWF,
PIC14_REG_PCLATH,
PIC14_BIT_PCLATH_3 << PIC14_INSN_BxF_BITSHIFT,
PIC14_BIT_PCLATH_4 << PIC14_INSN_BxF_BITSHIFT);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_call_pic14(unsigned Insn_address)
{
return (Insn_address & PIC14_BMSK_BRANCH);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_goto_pic14(unsigned Insn_address)
{
return (Insn_address & PIC14_BMSK_BRANCH);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_f_pic14(unsigned Address)
{
return (Address & PIC14_BMSK_FILE);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_tris_pic14(unsigned Address)
{
/* According to the data sheets, the TRIS instruction does not exist in the PIC14 family. */
return (Address & PIC14_BMSK_TRIS);
}
/*------------------------------------------------------------------------------------------------*/
static void
_patch_strict_pic14(void)
{
unsigned i;
unsigned j;
for (i = 0, j = 0; (i < num_op_16cxx) && (j < num_op_16cxx_strict_mask); ++i) {
if (strcasecmp(op_16cxx[i].name, op_16cxx_strict_mask[j].name) == 0) {
op_16cxx[i].mask = op_16cxx_strict_mask[j].mask;
++j;
}
}
}
/*------------------------------------------------------------------------------------------------*/
/* PIC14E */
static int
_bank_from_addr_pic14e(int Address)
{
if (Address < 0) {
return -1;
}
return ((Address >> PIC14_BANK_SHIFT) & PIC14E_BMSK_BANK);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic14e(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
bool Mpasm_compatible)
{
uint16_t data;
char buf[BUFSIZ];
(void)Mpasm_compatible;
Bank &= PIC14E_BMSK_BANK;
data = PIC14E_INSN_MOVLB | Bank;
snprintf(buf, sizeof(buf), "bank_%u", Bank);
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_banksel_byte_length_pic14e(unsigned Num_banks, bool Mpasm_compatible)
{
(void)Num_banks;
(void)Mpasm_compatible;
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static int
_check_ibank_pic14e(int Address)
{
if (Address < 0) {
return -1;
}
return ((Address >> 8) & 0x0f);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_ibank_pic14e(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address)
{
/* bcf: 01 00bb bfff ffff
* bsf: 01 01bb bfff ffff
* PIC14E
* FSR0H: 0000bbbb
* FSR0L: blllllll
* PIC14EX
* FSR0H: 000bbbbb
* FSR0L: blllllll
*/
unsigned mask;
unsigned bit;
char buf[BUFSIZ];
snprintf(buf, sizeof(buf), "bank_%u", Bank);
Num_banks >>= 1; /* FSR0L bit 7. */
for (bit = 0, mask = 0x01; mask < Num_banks; ++bit, mask <<= 1, Byte_address += 2)
gp_mem_i_put_le(M,
Byte_address,
((Bank & mask) ? PIC14_INSN_BSF : PIC14_INSN_BCF) |
(bit << PIC14_INSN_BxF_BITSHIFT) |
PIC14E_REG_FSR0H,
buf, NULL);
return (bit * 2);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_check_page_pic14e(unsigned Insn_address)
{
return ((Insn_address >> 8) & PIC14E_BMSK_PAGE512);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_page_addr_pic14e(unsigned Insn_address)
{
return (Insn_address & PIC14E_PAGE_BITS);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_addr_from_page_bits_pic14e(unsigned Bits)
{
return _page_addr_pic14e(Bits << 8);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_page_pic14e(unsigned Num_pages, unsigned Page, MemBlock_t *M, unsigned Byte_address,
bool Use_wreg)
{
uint16_t data;
unsigned insn_byte_len;
char buf[BUFSIZ];
if (Num_pages == 1) {
return 0;
}
/* Page is in bits 6:0 of PCLATH. */
Page &= PIC14E_BMSK_PAGE512;
snprintf(buf, sizeof(buf), "page_%u", Page);
if (Use_wreg) {
data = PIC14_INSN_MOVLW | Page;
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
insn_byte_len = 2;
data = PIC14_INSN_MOVWF | PIC14_REG_PCLATH;
gp_mem_i_put_le(M, Byte_address + insn_byte_len, data, buf, NULL);
insn_byte_len += 2;
}
else {
data = PIC14E_INSN_MOVLP | Page;
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
insn_byte_len = 2;
}
return insn_byte_len;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_pagesel_byte_length_pic14e(unsigned Num_pages, bool Use_wreg)
{
if (Num_pages == 1) {
return 0;
}
return ((Use_wreg) ? 4 : 2);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_movlb_pic14e(unsigned Address)
{
return ((Address >> PIC14_BANK_SHIFT) & 0xff);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_bra_pic14e(const gp_section_t *Section, unsigned Value, unsigned Byte_address)
{
int offset;
offset = Value - (Byte_address / 2) - 1;
if ((offset > 0xff) || (offset < -0x100)) {
gp_warning("Relative branch out of range in at %#x of section \"%s\".", Byte_address << 1, Section->name);
}
return (offset & PIC14E_BMSK_RBRA9);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_high_pic14e(bool Is_code, unsigned Value)
{
/* set 7th bit if in is_code */
return (((Value >> 8) & 0xff) | (Is_code ? PIC14E_FSRxH_FLASH_SEL : 0));
}
/*------------------------------------------------------------------------------------------------*/
static const insn_t *
_find_insn_pic14e(proc_class_t Class, unsigned Opcode)
{
unsigned i;
(void)Class;
/* might be from the enhanced instruction set */
for (i = 0; i < num_op_16cxx_enh; i++) {
if ((op_16cxx_enh[i].mask & Opcode) == op_16cxx_enh[i].opcode) {
return &op_16cxx_enh[i];
}
}
for (i = 0; i < num_op_16cxx; i++) {
if ((op_16cxx[i].mask & Opcode) == op_16cxx[i].opcode) {
return &op_16cxx[i];
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
/* PIC14EX */
static int
_bank_from_addr_pic14ex(int Address)
{
if (Address < 0) {
return -1;
}
return ((Address >> PIC14_BANK_SHIFT) & PIC14EX_BMSK_BANK);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic14ex(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
bool Mpasm_compatible)
{
uint16_t data;
char buf[BUFSIZ];
(void)Mpasm_compatible;
Bank &= PIC14EX_BMSK_BANK;
data = PIC14EX_INSN_MOVLB | Bank;
snprintf(buf, sizeof(buf), "bank_%u", Bank);
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static const insn_t *
_find_insn_pic14ex(proc_class_t Class, unsigned Opcode)
{
unsigned i;
(void)Class;
/* might be from the enhanced instruction set */
for (i = 0; i < num_op_16cxx_enhx; i++) {
if ((op_16cxx_enhx[i].mask & Opcode) == op_16cxx_enhx[i].opcode) {
return &op_16cxx_enhx[i];
}
}
for (i = 0; i < num_op_16cxx; i++) {
if ((op_16cxx[i].mask & Opcode) == op_16cxx[i].opcode) {
return &op_16cxx[i];
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
/* PIC16 */
static int
_bank_from_addr_pic16(int Address)
{
if (Address < 0) {
return -1;
}
if ((Address & 0xff) < 0x20) {
return (Address >> PIC16_BANK_SHIFT) & PIC16_BMSK_BANK;
}
else {
/* 0x200 turns MOVLB to MOVLR for setting GPR RAM bank in set_bank. */
return (0x200 + ((Address >> PIC16_BANK_SHIFT) & PIC16_BMSK_BANK));
}
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic16(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
bool Mpasm_compatible)
{
char buf[BUFSIZ];
(void)Mpasm_compatible;
Bank &= 0x200 | PIC16_BMSK_BANK;
snprintf(buf, sizeof(buf), "bank_%u", Bank & PIC16_BMSK_BANK);
gp_mem_i_put_le(M, Byte_address, PIC16_INSN_MOVLB | Bank, buf, NULL);
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_ibank_pic16(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address)
{
return _set_bank_pic16(Num_banks, Bank, M, Byte_address, false);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_banksel_byte_length_pic16(unsigned Num_banks, bool Mpasm_compatible)
{
(void)Num_banks;
(void)Mpasm_compatible;
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_check_page_pic16(unsigned Insn_address)
{
return ((Insn_address >> 8) & PIC16_BMSK_PAGE);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_page_addr_pic16(unsigned Insn_address)
{
return (Insn_address & (PIC16_BMSK_PAGE << 8));
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_addr_from_page_bits_pic16(unsigned Bits)
{
return _page_addr_pic16(Bits << 8);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_page_pic16(unsigned Num_pages, unsigned Page, MemBlock_t *M, unsigned Byte_address,
bool Use_wreg)
{
uint16_t data;
char buf[BUFSIZ];
Page &= PIC16_BMSK_PAGE;
snprintf(buf, sizeof(buf), "page_%u", Page);
data = PIC16_INSN_MOVLW | Page;
gp_mem_i_put_le(M, Byte_address, data, buf, NULL);
data = PIC16_INSN_MOVWF | PIC16_REG_PCLATH;
gp_mem_i_put_le(M, Byte_address + 2, data, buf, NULL);
return 4;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_pagesel_byte_length_pic16(unsigned Num_pages, bool Use_wreg)
{
(void)Num_pages;
(void)Use_wreg;
return 4;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_call_pic16(unsigned Insn_address)
{
return (Insn_address & PIC16_BMSK_BRANCH);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_goto_pic16(unsigned Insn_address)
{
return (Insn_address & PIC16_BMSK_BRANCH);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_f_pic16(unsigned Address)
{
return (Address & PIC16_BMSK_FILE);
}
/*------------------------------------------------------------------------------------------------*/
/* PIC16E */
static unsigned
_id_location_pic16e(pic_processor_t Processor)
{
if ((Processor->idlocs_addrs[0] > 0) && (Processor->idlocs_addrs[1] > 0)) {
return Processor->idlocs_addrs[0];
}
return 0;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_set_bank_pic16e(unsigned Num_banks, unsigned Bank, MemBlock_t *M, unsigned Byte_address,
bool Mpasm_compatible)
{
char buf[BUFSIZ];
(void)Mpasm_compatible;
Bank &= ~PIC16E_MASK_MOVLB;
snprintf(buf, sizeof(buf), "bank_%u", Bank);
gp_mem_i_put_le(M, Byte_address, PIC16E_INSN_MOVLB | Bank, buf, NULL);
return 2;
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_call_pic16e(unsigned Insn_address)
{
return ((Insn_address >> 1) & PIC16E_BMSK_BRANCH_LOWER);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_goto_pic16e(unsigned insn_address)
{
return ((insn_address >> 1) & PIC16E_BMSK_BRANCH_LOWER);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_movlb_pic16e(unsigned Address)
{
/* The upper byte of the symbol is used for the BSR. This is inconsistent
with the datasheet and the assembler, but is done to maintain
compatibility with mplink. */
/* return ((Address >> PIC16_BANK_SHIFT) & 0xff); */
return ((Address >> PIC16_BANK_SHIFT) & PIC16E_BMSK_MOVLB);
}
/*------------------------------------------------------------------------------------------------*/
static unsigned
_reloc_bra_pic16e(const gp_section_t *Section, unsigned Value, unsigned Byte_address)
{
int offset;
if (Value & 1) {
gp_warning("Destination address must be word aligned at %#x of section \"%s\".",
Byte_address, Section->name);
}
offset = ((int)(Value - Byte_address - 2)) >> 1;
if ((offset > 0x3ff) || (offset < -0x400)) {
gp_warning("Relative branch out of range in at %#x of section \"%s\".",
Byte_address, Section->name);
}
return (offset & PIC16E_BMSK_RBRA11);
}
/*------------------------------------------------------------------------------------------------*/
static const insn_t *
_find_insn_pic16e(proc_class_t Class, unsigned Opcode)
{
unsigned i;
(void)Class;
if (gp_decode_mnemonics) {
for (i = 0; i < num_op_18cxx_sp; i++) {
if ((op_18cxx_sp[i].mask & Opcode) == op_18cxx_sp[i].opcode) {
return &op_18cxx_sp[i];
}
}
}
for (i = 0; i < num_op_18cxx; i++) {
if ((op_18cxx[i].mask & Opcode) == op_18cxx[i].opcode) {
return &op_18cxx[i];
}
}
if (gp_decode_extended) {
/* might be from the extended instruction set */
for (i = 0; i < num_op_18cxx_ext; i++) {
if ((op_18cxx_ext[i].mask & Opcode) == op_18cxx_ext[i].opcode) {
return &op_18cxx_ext[i];
}
}
}
return NULL;
}
/*------------------------------------------------------------------------------------------------*/
static int _cdecl _core_sfr_cmp(const void *P0, const void *P1)
{
const core_sfr_t *sfr0 = (const core_sfr_t *)P0;
const core_sfr_t *sfr1 = (const core_sfr_t *)P1;
unsigned address0 = sfr0->address;
unsigned address1 = sfr1->address;
if (address0 < address1) {
return -1;
}
if (address0 > address1) {
return 1;
}
return 0;
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const core_sfr_t*) gp_processor_find_sfr(proc_class_t Class, unsigned Address) {
core_sfr_t sfr;
if ((Class == NULL) || (Class->core_sfr_table == NULL) || (Class->core_sfr_number == 0)) {
return NULL;
}
sfr.address = Address;
return (core_sfr_t *)bsearch(&sfr, Class->core_sfr_table, Class->core_sfr_number,
sizeof(core_sfr_t), _core_sfr_cmp);
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const char*)
gp_processor_find_sfr_name(proc_class_t Class, unsigned Address)
{
const core_sfr_t *ret;
ret = gp_processor_find_sfr(Class, Address);
return ((ret) ? ret->name : NULL);
}
/*------------------------------------------------------------------------------------------------*/
static int _cdecl _vector_cmp(const void *P0, const void *P1)
{
const vector_t *v0 = (const vector_t *)P0;
const vector_t *v1 = (const vector_t *)P1;
unsigned address0 = v0->address;
unsigned address1 = v1->address;
if (address0 < address1) {
return -1;
}
else if (address0 > address1) {
return 1;
}
else {
return 0;
}
}
/*------------------------------------------------------------------------------------------------*/
FUNC(const vector_t*) gp_processor_find_vector(proc_class_t Class, unsigned Address) {
vector_t vec;
if ((Class == NULL) || (Class->vector_table == NULL) || (Class->vector_number == 0)) {
return NULL;
}
vec.address = Address;
return (vector_t *)bsearch(&vec, Class->vector_table, Class->vector_number,
sizeof(vector_t), _vector_cmp);
}
/*------------------------------------------------------------------------------------------------*/
static const core_sfr_t _core_sfr_table_pic12[] = {
{ 0x000, "INDF" },
{ 0x002, "PCL" },
{ 0x003, "STATUS" },
{ 0x004, "FSR" }
};
static const vector_t _vector_table_pic12[] = {
{ 0x000, "vector_reset" }
};
static const core_sfr_t _core_sfr_table_sx[] = {
{ 0x000, "INDF" },
{ 0x001, "RTCC" },
{ 0x002, "PC" },
{ 0x003, "STATUS" },
{ 0x004, "FSR" },
{ 0x005, "RA" },
{ 0x006, "RB" },
{ 0x007, "RC" }
};
static const vector_t _vector_table_sx[] = {
{ 0x000, "vector_int" }
};
static const vector_t _vector_table_pic12i[] = {
{ 0x000, "vector_reset" },
{ 0x004, "vector_int" }
};
static const core_sfr_t _core_sfr_table_pic14[] = {
{ 0x000, "INDF" },
{ 0x002, "PCL" },
{ 0x003, "STATUS" },
{ 0x004, "FSR" },
{ 0x00A, "PCLATH" },
{ 0x00B, "INTCON" }
};
static const vector_t _vector_table_pic14[] = {
{ 0x000, "vector_reset" },
{ 0x004, "vector_int" }
};
static const core_sfr_t _core_sfr_table_pic14e[] = {
{ 0x000, "INDF0" },
{ 0x001, "INDF1" },
{ 0x002, "PCL" },
{ 0x003, "STATUS" },
{ 0x004, "FSR0L" },
{ 0x005, "FSR0H" },
{ 0x006, "FSR1L" },
{ 0x007, "FSR1H" },
{ 0x008, "BSR" },
{ 0x009, "WREG" },
{ 0x00A, "PCLATH" },
{ 0x00B, "INTCON" }
};
static const core_sfr_t _core_sfr_table_pic16[] = {
{ 0x000, "INDF0" },
{ 0x001, "FSR0" },
{ 0x002, "PCL" },
{ 0x003, "PCLATH" },
{ 0x004, "ALUSTA" },
{ 0x005, "T0STA" },
{ 0x006, "CPUSTA" },
{ 0x007, "INTSTA" },
{ 0x008, "INDF1" },
{ 0x009, "FSR1" },
{ 0x00A, "WREG" },
{ 0x00B, "TMR0L" },
{ 0x00C, "TMR0H" },
{ 0x00D, "TBLPTRL" },
{ 0x00E, "TBLPTRH" },
{ 0x00F, "BSR" }
};
static const vector_t _vector_table_pic16[] = {
{ 0x0000, "vector_reset" },
{ 0x0008, "vector_int_ext" },
{ 0x0010, "vector_int_tmr0" },
{ 0x0018, "vector_int_t0cki" },
{ 0x0020, "vector_int_peri" }
};
static const core_sfr_t _core_sfr_table_pic16e[] = {
{ 0xF80, "PORTA" },
{ 0xF81, "PORTB" },
{ 0xF89, "LATA" },
{ 0xF8A, "LATB" },
{ 0xF92, "TRISA" },
{ 0xF93, "TRISB" },
{ 0xF9D, "PIE1" },
{ 0xF9E, "PIR1" },
{ 0xF9F, "IPR1" },
{ 0xFA0, "PIE2" },
{ 0xFA1, "PIR2" },
{ 0xFA2, "IPR2" },
{ 0xFCD, "T1CON" },
{ 0xFCE, "TMR1" },
{ 0xFCF, "TMR1H" },
{ 0xFD0, "RCON" },
{ 0xFD3, "OSCCON" },
{ 0xFD5, "T0CON" },
{ 0xFD6, "TMR0L" },
{ 0xFD7, "TMR0H" },
{ 0xFD8, "STATUS" },
{ 0xFD9, "FSR2L" },
{ 0xFDA, "FSR2H" },
{ 0xFDB, "PLUSW2" },
{ 0xFDC, "PREINC2" },
{ 0xFDD, "POSTDEC2" },
{ 0xFDE, "POSTINC2" },
{ 0xFDF, "INDF2" },
{ 0xFE0, "BSR" },
{ 0xFE1, "FSR1L" },
{ 0xFE2, "FSR1H" },
{ 0xFE3, "PLUSW1" },
{ 0xFE4, "PREINC1" },
{ 0xFE5, "POSTDEC1" },
{ 0xFE6, "POSTINC1" },
{ 0xFE7, "INDF1" },
{ 0xFE8, "WREG" },
{ 0xFE9, "FSR0L" },
{ 0xFEA, "FSR0H" },
{ 0xFEB, "PLUSW0" },
{ 0xFEC, "PREINC0" },
{ 0xFED, "POSTDEC0" },
{ 0xFEE, "POSTINC0" },
{ 0xFEF, "INDF0" },
{ 0xFF0, "INTCON3" },
{ 0xFF1, "INTCON2" },
{ 0xFF2, "INTCON" },
{ 0xFF3, "PRODL" },
{ 0xFF4, "PRODH" },
{ 0xFF5, "TABLAT" },
{ 0xFF6, "TBLPTRL" },
{ 0xFF7, "TBLPTRH" },
{ 0xFF8, "TBLPTRU" },
{ 0xFF9, "PC" },
{ 0xFFA, "PCLATH" },
{ 0xFFB, "PCLATU" },
{ 0xFFC, "STKPTR" },
{ 0xFFD, "TOS" },
{ 0xFFE, "TOSH" },
{ 0xFFF, "TOSU" }
};
static const vector_t _vector_table_pic16e[] = {
{ 0x0000, "vector_reset" },
{ 0x0008, "vector_int_high" },
{ 0x0018, "vector_int_low" }
};
/*------------------------------------------------------------------------------------------------*/
const struct proc_class proc_class_eeprom8 = {
unsigned(-1), /* retlw */
8, /* rom_width */
0, /* page_size */
0, /* bank_size */
0, /* bank_bits_shift */
0, /* addr_bits_in_bank */
0, /* org_to_byte_shift */
0, /* pc_mask */
0, /* page_mask */
0, /* bank_mask */
(1 << 8) - 1, /* core_mask */
0, /* config_mask */
6, /* addr_digits */
2, /* word_digits */
0, /* config_digits */
NULL, /* core_sfr_table */
0, /* core_sfr_number */
NULL, /* vector_table */
0, /* vector_number */
0, /* id_location */
_xbank_from_addr_unsupported, /* bank_from_addr */
_set_bank_unsupported, /* set_bank */
_banksel_byte_length_unsupported, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_unsupported, /* check_page */
_set_page_unsupported, /* set_page */
_pagesel_byte_length_unsupported, /* pagesel_byte_length */
_page_addr_unsupported, /* page_addr */
_addr_from_page_bits_unsupported, /* addr_from_page_bits */
_reloc_unsupported, /* reloc_call */
_reloc_unsupported, /* reloc_goto */
_reloc_unsupported, /* reloc_f */
_reloc_unsupported, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_unsupported, /* reloc_high */
NULL, /* instructions */
NULL, /* num_instructions */
NULL, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_eeprom16 = {
unsigned(-1), /* retlw */
16, /* rom_width */
0, /* page_size */
0, /* bank_size */
0, /* bank_bits_shift */
0, /* addr_bits_in_bank */
0, /* org_to_byte_shift */
0, /* pc_mask */
0, /* page_mask */
0, /* bank_mask */
(1 << 16) - 1, /* core_mask */
0, /* config_mask */
6, /* addr_digits */
4, /* word_digits */
0, /* config_digits */
NULL, /* core_sfr_table */
0, /* core_sfr_number */
NULL, /* vector_table */
0, /* vector_number */
0, /* id_location */
_xbank_from_addr_unsupported, /* bank_from_addr */
_set_bank_unsupported, /* set_bank */
_banksel_byte_length_unsupported, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_unsupported, /* check_page */
_set_page_unsupported, /* set_page */
_pagesel_byte_length_unsupported, /* pagesel_byte_length */
_page_addr_unsupported, /* page_addr */
_addr_from_page_bits_unsupported, /* addr_from_page_bits */
_reloc_unsupported, /* reloc_call */
_reloc_unsupported, /* reloc_goto */
_reloc_unsupported, /* reloc_f */
_reloc_unsupported, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_unsupported, /* reloc_high */
NULL, /* instructions */
NULL, /* num_instructions */
NULL, /* find_insn */
gp_mem_i_get_be, /* i_memory_get */
gp_mem_i_put_be, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_generic = {
unsigned(-1), /* retlw */
12, /* rom_width */
PIC12_PAGE_SIZE, /* page_size */
PIC12_BANK_SIZE, /* bank_size */
PIC12_BANK_SHIFT, /* bank_bits_shift */
PIC12_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
PIC12_PC_MASK, /* pc_mask */
PIC12_PAGE_MASK, /* page_mask */
PIC12_BANK_MASK, /* bank_mask */
PIC12_CORE_MASK, /* core_mask */
(1 << 12) - 1, /* config_mask */
3, /* addr_digits */
3, /* word_digits */
0, /* config_digits */
_core_sfr_table_pic12, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic12), /* core_sfr_number */
_vector_table_pic12, /* vector_table */
TABLE_SIZE(_vector_table_pic12), /* vector_number */
_id_location_pic12, /* id_location */
_bank_from_addr_pic12, /* bank_from_addr */
_set_bank_pic12, /* set_bank */
_banksel_byte_length_pic12_14, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_pic12, /* check_page */
_set_page_pic12, /* set_page */
_pagesel_byte_length_pic12_14, /* pagesel_byte_length */
_page_addr_pic12, /* page_addr */
_addr_from_page_bits_pic12, /* addr_from_page_bits */
_reloc_unsupported, /* reloc_call */
_reloc_unsupported, /* reloc_goto */
_reloc_unsupported, /* reloc_f */
_reloc_unsupported, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_unsupported, /* reloc_high */
NULL, /* instructions */
NULL, /* num_instructions */
NULL, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_pic12 = {
PIC12_INSN_RETLW, /* retlw */
12, /* rom_width */
PIC12_PAGE_SIZE, /* page_size */
PIC12_BANK_SIZE, /* bank_size */
PIC12_BANK_SHIFT, /* bank_bits_shift */
PIC12_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
PIC12_PC_MASK, /* pc_mask */
PIC12_PAGE_MASK, /* page_mask */
PIC12_BANK_MASK, /* bank_mask */
PIC12_CORE_MASK, /* core_mask */
(1 << 12) - 1, /* config_mask */
3, /* addr_digits */
3, /* word_digits */
3, /* config_digits */
_core_sfr_table_pic12, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic12), /* core_sfr_number */
_vector_table_pic12, /* vector_table */
TABLE_SIZE(_vector_table_pic12), /* vector_number */
_id_location_pic12, /* id_location */
_bank_from_addr_pic12, /* bank_from_addr */
_set_bank_pic12, /* set_bank */
_banksel_byte_length_pic12_14, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_pic12, /* check_page */
_set_page_pic12, /* set_page */
_pagesel_byte_length_pic12_14, /* pagesel_byte_length */
_page_addr_pic12, /* page_addr */
_addr_from_page_bits_pic12, /* addr_from_page_bits */
_reloc_call_pic12, /* reloc_call */
_reloc_goto_pic12, /* reloc_goto */
_reloc_f_pic12, /* reloc_f */
_reloc_tris_pic12, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_generic, /* reloc_high */
op_12c5xx, /* instructions */
&num_op_12c5xx, /* num_instructions */
_find_insn_generic, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_pic12e = {
PIC12_INSN_RETLW, /* retlw */
12, /* rom_width */
PIC12_PAGE_SIZE, /* page_size */
PIC12_BANK_SIZE, /* bank_size */
PIC12_BANK_SHIFT, /* bank_bits_shift */
PIC12_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
PIC12_PC_MASK, /* pc_mask */
PIC12_PAGE_MASK, /* page_mask */
PIC12_BANK_MASK, /* bank_mask */
PIC12_CORE_MASK, /* core_mask */
(1 << 12) - 1, /* config_mask */
3, /* addr_digits */
3, /* word_digits */
3, /* config_digits */
_core_sfr_table_pic12, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic12), /* core_sfr_number */
_vector_table_pic12, /* vector_table */
TABLE_SIZE(_vector_table_pic12), /* vector_number */
_id_location_pic12, /* id_location */
_bank_from_addr_pic12e, /* bank_from_addr */
_set_bank_pic12e, /* set_bank */
_banksel_byte_length_pic12e, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_pic12, /* check_page */
_set_page_pic12, /* set_page */
_pagesel_byte_length_pic12_14, /* pagesel_byte_length */
_page_addr_pic12, /* page_addr */
_addr_from_page_bits_pic12, /* addr_from_page_bits */
_reloc_call_pic12, /* reloc_call */
_reloc_goto_pic12, /* reloc_goto */
_reloc_f_pic12, /* reloc_f */
_reloc_tris_pic12e, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_generic, /* reloc_high */
op_12c5xx, /* instructions */
&num_op_12c5xx, /* num_instructions */
_find_insn_pic12e, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_pic12i = {
PIC12_INSN_RETLW, /* retlw */
12, /* rom_width */
PIC12_PAGE_SIZE, /* page_size */
PIC12_BANK_SIZE, /* bank_size */
PIC12_BANK_SHIFT, /* bank_bits_shift */
PIC12_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
PIC12_PC_MASK, /* pc_mask */
PIC12_PAGE_MASK, /* page_mask */
PIC12_BANK_MASK, /* bank_mask */
PIC12_CORE_MASK, /* core_mask */
(1 << 12) - 1, /* config_mask */
3, /* addr_digits */
3, /* word_digits */
3, /* config_digits */
_core_sfr_table_pic12, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic12), /* core_sfr_number */
_vector_table_pic12i, /* vector_table */
TABLE_SIZE(_vector_table_pic12i), /* vector_number */
_id_location_pic12, /* id_location */
_bank_from_addr_pic12e, /* bank_from_addr */
_set_bank_pic12e, /* set_bank */
_banksel_byte_length_pic12e, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_pic12, /* check_page */
_set_page_pic12, /* set_page */
_pagesel_byte_length_pic12_14, /* pagesel_byte_length */
_page_addr_pic12, /* page_addr */
_addr_from_page_bits_pic12, /* addr_from_page_bits */
_reloc_call_pic12, /* reloc_call */
_reloc_goto_pic12, /* reloc_goto */
_reloc_f_pic12, /* reloc_f */
_reloc_tris_pic12e, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_generic, /* reloc_high */
op_12c5xx, /* instructions */
&num_op_12c5xx, /* num_instructions */
_find_insn_pic12e, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_sx = {
PIC12_INSN_RETLW, /* retlw */
12, /* rom_width */
PIC12_PAGE_SIZE, /* page_size */
PIC12_BANK_SIZE, /* bank_size */
PIC12_BANK_SHIFT, /* bank_bits_shift */
PIC12_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
SX_PC_MASK, /* pc_mask */
PIC12_PAGE_MASK, /* page_mask */
PIC12_BANK_MASK, /* bank_mask */
PIC12_CORE_MASK, /* core_mask */
(1 << 12) - 1, /* config_mask */
3, /* addr_digits */
3, /* word_digits */
3, /* config_digits */
_core_sfr_table_sx, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_sx), /* core_sfr_number */
_vector_table_sx, /* vector_table */
TABLE_SIZE(_vector_table_sx), /* vector_number */
_id_location_pic12, /* id_location */
_bank_from_addr_pic12, /* bank_from_addr */
_set_bank_pic12, /* set_bank */
_banksel_byte_length_pic12_14, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_sx, /* check_page */
_set_page_sx, /* set_page */
_pagesel_byte_length_pic12_14, /* pagesel_byte_length */
_page_addr_sx, /* page_addr */
_addr_from_page_bits_sx, /* addr_from_page_bits */
_reloc_call_pic12, /* reloc_call */
_reloc_goto_pic12, /* reloc_goto */
_reloc_f_pic12, /* reloc_f */
_reloc_tris_pic12, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_generic, /* reloc_high */
op_sx, /* instructions */
&num_op_sx, /* num_instructions */
_find_insn_generic, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_pic14 = {
PIC14_INSN_RETLW, /* retlw */
14, /* rom_width */
PIC14_PAGE_SIZE, /* page_size */
PIC14_BANK_SIZE, /* bank_size */
PIC14_BANK_SHIFT, /* bank_bits_shift */
PIC14_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
PIC14_PC_MASK, /* pc_mask */
PIC14_PAGE_MASK, /* page_mask */
PIC14_BANK_MASK, /* bank_mask */
PIC14_CORE_MASK, /* core_mask */
(1 << 14) - 1, /* config_mask */
4, /* addr_digits */
4, /* word_digits */
4, /* config_digits */
_core_sfr_table_pic14, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic14), /* core_sfr_number */
_vector_table_pic14, /* vector_table */
TABLE_SIZE(_vector_table_pic14), /* vector_number */
_id_location_pic14, /* id_location */
_bank_from_addr_pic14, /* bank_from_addr */
_set_bank_pic14, /* set_bank */
_banksel_byte_length_pic12_14, /* banksel_byte_length */
_check_ibank_pic14, /* check_ibank */
_set_ibank_pic14, /* set_ibank */
_check_page_pic14, /* check_page */
_set_page_pic14, /* set_page */
_pagesel_byte_length_pic12_14, /* pagesel_byte_length */
_page_addr_pic14, /* page_addr */
_addr_from_page_bits_pic14, /* addr_from_page_bits */
_reloc_call_pic14, /* reloc_call */
_reloc_goto_pic14, /* reloc_goto */
_reloc_f_pic14, /* reloc_f */
_reloc_tris_pic14, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_generic, /* reloc_high */
op_16cxx, /* instructions */
&num_op_16cxx, /* num_instructions */
_find_insn_generic, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
_patch_strict_pic14, /* patch_strict */
};
const struct proc_class proc_class_pic14e = {
PIC14_INSN_RETLW, /* retlw */
14, /* rom_width */
PIC14_PAGE_SIZE, /* page_size */
PIC14_BANK_SIZE, /* bank_size */
PIC14_BANK_SHIFT, /* bank_bits_shift */
PIC14_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
PIC14E_PC_MASK, /* pc_mask */
PIC14_PAGE_MASK, /* page_mask */
PIC14_BANK_MASK, /* bank_mask */
PIC14_CORE_MASK, /* core_mask */
(1 << 16) - 1, /* config_mask */
4, /* addr_digits */
4, /* word_digits */
4, /* config_digits */
_core_sfr_table_pic14e, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic14e), /* core_sfr_number */
_vector_table_pic14, /* vector_table */
TABLE_SIZE(_vector_table_pic14), /* vector_number */
_id_location_pic14, /* id_location */
_bank_from_addr_pic14e, /* bank_from_addr */
_set_bank_pic14e, /* set_bank */
_banksel_byte_length_pic14e, /* banksel_byte_length */
_check_ibank_pic14e, /* check_ibank */
_set_ibank_pic14e, /* set_ibank */
_check_page_pic14e, /* check_page */
_set_page_pic14e, /* set_page */
_pagesel_byte_length_pic14e, /* pagesel_byte_length */
_page_addr_pic14e, /* page_addr */
_addr_from_page_bits_pic14e, /* addr_from_page_bits */
_reloc_call_pic14, /* reloc_call */
_reloc_goto_pic14, /* reloc_goto */
_reloc_f_pic14, /* reloc_f */
_reloc_tris_pic14, /* reloc_tris */
_reloc_movlb_pic14e, /* reloc_movlb */
_reloc_bra_pic14e, /* reloc_bra */
_reloc_high_pic14e, /* reloc_high */
op_16cxx, /* instructions */
&num_op_16cxx, /* num_instructions */
_find_insn_pic14e, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
_patch_strict_pic14, /* patch_strict */
};
const struct proc_class proc_class_pic14ex = {
PIC14_INSN_RETLW, /* retlw */
14, /* rom_width */
PIC14_PAGE_SIZE, /* page_size */
PIC14_BANK_SIZE, /* bank_size */
PIC14_BANK_SHIFT, /* bank_bits_shift */
PIC14_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
PIC14E_PC_MASK, /* pc_mask */
PIC14_PAGE_MASK, /* page_mask */
PIC14_BANK_MASK, /* bank_mask */
PIC14_CORE_MASK, /* core_mask */
(1 << 16) - 1, /* config_mask */
4, /* addr_digits */
4, /* word_digits */
4, /* config_digits */
_core_sfr_table_pic14e, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic14e), /* core_sfr_number */
_vector_table_pic14, /* vector_table */
TABLE_SIZE(_vector_table_pic14), /* vector_number */
_id_location_pic14, /* id_location */
_bank_from_addr_pic14ex, /* bank_from_addr */
_set_bank_pic14ex, /* set_bank */
_banksel_byte_length_pic14e, /* banksel_byte_length */
_check_ibank_pic14e, /* check_ibank */
_set_ibank_pic14e, /* set_ibank */
_check_page_pic14e, /* check_page */
_set_page_pic14e, /* set_page */
_pagesel_byte_length_pic14e, /* pagesel_byte_length */
_page_addr_pic14e, /* page_addr */
_addr_from_page_bits_pic14e, /* addr_from_page_bits */
_reloc_call_pic14, /* reloc_call */
_reloc_goto_pic14, /* reloc_goto */
_reloc_f_pic14, /* reloc_f */
_reloc_tris_pic14, /* reloc_tris */
_reloc_movlb_pic14e, /* reloc_movlb */
_reloc_bra_pic14e, /* reloc_bra */
_reloc_high_pic14e, /* reloc_high */
op_16cxx, /* instructions */
&num_op_16cxx, /* num_instructions */
_find_insn_pic14ex, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
_patch_strict_pic14, /* patch_strict */
};
const struct proc_class proc_class_pic16 = {
PIC16_INSN_RETLW, /* retlw */
16, /* rom_width */
0, /* page_size */
PIC16_BANK_SIZE, /* bank_size */
PIC16_BANK_SHIFT, /* bank_bits_shift */
PIC16_RAM_ADDR_BITS, /* addr_bits_in_bank */
1, /* org_to_byte_shift */
0, /* pc_mask */
PIC16_PAGE_MASK, /* page_mask */
PIC16_BANK_MASK, /* bank_mask */
PIC16_CORE_MASK, /* core_mask */
(1 << 8) - 1, /* config_mask */
6, /* addr_digits */
4, /* word_digits */
2, /* config_digits */
_core_sfr_table_pic16, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic16), /* core_sfr_number */
_vector_table_pic16, /* vector_table */
TABLE_SIZE(_vector_table_pic16), /* vector_number */
NULL, /* id_location */
_bank_from_addr_pic16, /* bank_from_addr */
_set_bank_pic16, /* set_bank */
_banksel_byte_length_pic16, /* banksel_byte_length */
_bank_from_addr_pic16, /* check_ibank: same as bank_from_addr */
_set_ibank_pic16, /* set_ibank */
_check_page_pic16, /* check_page */
_set_page_pic16, /* set_page */
_pagesel_byte_length_pic16, /* pagesel_byte_length */
_page_addr_pic16, /* page_addr */
_addr_from_page_bits_pic16, /* addr_from_page_bits */
_reloc_call_pic16, /* reloc_call */
_reloc_goto_pic16, /* reloc_goto */
_reloc_f_pic16, /* reloc_f */
_reloc_unsupported, /* reloc_tris */
_reloc_unsupported, /* reloc_movlb */
_reloc_bra_unsupported, /* reloc_bra */
_reloc_high_generic, /* reloc_high */
op_17cxx, /* instructions */
&num_op_17cxx, /* num_instructions */
_find_insn_generic, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
const struct proc_class proc_class_pic16e = {
PIC16E_INSN_RETLW, /* retlw */
8, /* rom_width */
0, /* page_size */
PIC16_BANK_SIZE, /* bank_size */
PIC16_BANK_SHIFT, /* bank_bits_shift */
PIC16_RAM_ADDR_BITS, /* addr_bits_in_bank */
0, /* org_to_byte_shift */
0, /* pc_mask */
0, /* page_mask */
PIC16_BANK_MASK, /* bank_mask */
PIC16_CORE_MASK, /* core_mask */
(1 << 8) - 1, /* config_mask */
6, /* addr_digits */
4, /* word_digits */
2, /* config_digits */
_core_sfr_table_pic16e, /* core_sfr_table */
TABLE_SIZE(_core_sfr_table_pic16e), /* core_sfr_number */
_vector_table_pic16e, /* vector_table */
TABLE_SIZE(_vector_table_pic16e), /* vector_number */
_id_location_pic16e, /* id_location */
_bank_from_addr_pic16, /* bank_from_addr: Same as for pic16 */
_set_bank_pic16e, /* set_bank */
_banksel_byte_length_pic16, /* banksel_byte_length */
_xbank_from_addr_unsupported, /* check_ibank */
_set_ibank_unsupported, /* set_ibank */
_check_page_unsupported, /* check_page */
_set_page_unsupported, /* set_page */
_pagesel_byte_length_unsupported, /* pagesel_byte_length */
_page_addr_unsupported, /* page_addr */
_addr_from_page_bits_unsupported, /* addr_from_page_bits */
_reloc_call_pic16e, /* reloc_call */
_reloc_goto_pic16e, /* reloc_goto */
_reloc_f_pic16, /* reloc_f: same as for pic16 */
_reloc_unsupported, /* reloc_tris */
_reloc_movlb_pic16e, /* reloc_movlb */
_reloc_bra_pic16e, /* reloc_bra */
_reloc_high_generic, /* reloc_high */
op_18cxx, /* instructions */
&num_op_18cxx, /* num_instructions */
_find_insn_pic16e, /* find_insn */
gp_mem_i_get_le, /* i_memory_get */
gp_mem_i_put_le, /* i_memory_put */
NULL, /* patch_strict */
};
Vorgefundene Kodierung: UTF-8 | 0
|