-PORT pic14_port = {
- "pic14",
- "MCU pic14", /* Target name */
- {
- TRUE, /* Emit glue around main */
- },
- {
- _asmCmd,
- "-plosgffc", /* Options with debug */
- "-plosgff", /* Options without debug */
- },
- {
- _linkCmd
- },
- {
- _defaultRules
- },
- {
- /* Sizes: char, short, int, long, ptr, fptr, gptr, bit, float, max */
- 1, 1, 2, 4, 1, 2, 3, 1, 4, 4
- },
- {
- "XSEG (XDATA)",
- "STACK (DATA)",
- "CSEG (CODE)",
- "DSEG (DATA)",
- "ISEG (DATA)",
- "XSEG (XDATA)",
- "BSEG (BIT)",
- "RSEG (DATA)",
- "GSINIT (CODE)",
- "OSEG (OVR,DATA)",
- "GSFINAL (CODE)",
- NULL,
- NULL,
- 1
- },
- {
- +1, 1, 4, 1, 1
- },
- /* pic14 does not have an 8 bit mul */
- {
- 0
- },
- _pic14_init,
- _pic14_parseOptions,
- _pic14_finaliseOptions,
- _pic14_setDefaultOptions,
- pic14_assignRegisters,
- _pic14_getRegName ,
- _pic14_keywords,
- _pic14_genAssemblerPreamble,
- _pic14_genIVT ,
- _pic14_reset_regparm,
- _pic14_regparm,
- NULL
+PORT pic_port =
+{
+ TARGET_ID_PIC,
+ "pic14",
+ "MCU pic", /* Target name */
+ {
+ TRUE, /* Emit glue around main */
+ MODEL_SMALL | MODEL_LARGE | MODEL_FLAT24,
+ MODEL_SMALL
+ },
+ {
+ _asmCmd,
+ NULL,
+ NULL,
+ NULL,
+ //"-plosgffc", /* Options with debug */
+ //"-plosgff", /* Options without debug */
+ 0,
+ ".asm"
+ },
+ {
+ _linkCmd,
+ NULL,
+ NULL,
+ ".rel"
+ },
+ {
+ _defaultRules
+ },
+ {
+ /* Sizes: char, short, int, long, ptr, fptr, gptr, bit, float, max */
+ 1, 2, 2, 4, 1, 2, 1, 1, 4, 4
+ /* TSD - I changed the size of gptr from 3 to 1. However, it should be
+ 2 so that we can accomodate the PIC's with 4 register banks (like the
+ 16f877)
+ */
+ },
+ {
+ "XSEG (XDATA)",
+ "STACK (DATA)",
+ "CSEG (CODE)",
+ "DSEG (DATA)",
+ "ISEG (DATA)",
+ "XSEG (XDATA)",
+ "BSEG (BIT)",
+ "RSEG (DATA)",
+ "GSINIT (CODE)",
+ "OSEG (OVR,DATA)",
+ "GSFINAL (CODE)",
+ "HOME (CODE)",
+ NULL,
+ NULL,
+ 1
+ },
+ {
+ +1, 1, 4, 1, 1, 0
+ },
+ /* pic14 has an 8 bit mul */
+ {
+ 1, -1
+ },
+ "_",
+ _pic14_init,
+ _pic14_parseOptions,
+ _pic14_finaliseOptions,
+ _pic14_setDefaultOptions,
+ pic14_assignRegisters,
+ _pic14_getRegName,
+ _pic14_keywords,
+ _pic14_genAssemblerPreamble,
+ _pic14_genIVT,
+ _pic14_reset_regparm,
+ _pic14_regparm,
+ NULL,
+ NULL,
+ NULL,
+ FALSE,
+ 0, /* leave lt */
+ 0, /* leave gt */
+ 1, /* transform <= to ! > */
+ 1, /* transform >= to ! < */
+ 1, /* transform != to !(a == b) */
+ 0, /* leave == */
+ FALSE, /* No array initializer support. */
+ 0, /* no CSE cost estimation yet */
+ PORT_MAGIC