NULL
};
-extern int rewinds;
+/* rewinds declared in asm.c, function printCLine().
+ * Currently commented out.
+ *
+ * extern int rewinds;
+ */
void _xa51_genAssemblerEnd (FILE * of)
{
//fprintf (stderr, "Did %d rewind%c for c-line in asm comments\n", rewinds,
return 1;
}
+/* Indicate which extended bit operations this port supports */
+static bool
+hasExtBitOp (int op, int size)
+{
+ if (op == RRC
+ || op == RLC
+ || op == GETHBIT
+ )
+ return TRUE;
+ else
+ return FALSE;
+}
+
+/* Indicate the expense of an access to an output storage class */
+static int
+oclsExpense (struct memmap *oclass)
+{
+ if (IN_FARSPACE(oclass))
+ return 1;
+
+ return 0;
+}
+
+
/** $1 is always the basename.
$2 is always the output file.
$3 varies
"MCU 80C51XA", /* Target name */
NULL, /* Processor name */
{
+ glue,
FALSE, /* Emit glue around main */
MODEL_PAGE0,
MODEL_PAGE0
_linkCmd,
NULL,
NULL,
- ".rel"
+ ".rel",
+ 1
},
{
_defaultRules
NULL, // default global map
1
},
+ { NULL, NULL },
{
-1, // stack grows down
0, // bank overhead NUY
NULL, // process_pragma()
NULL, // getMangledFunctionName()
NULL, // hasNativeMulFor()
+ hasExtBitOp, /* hasExtBitOp */
+ oclsExpense, /* oclsExpense */
TRUE, // use_dw_for_init
+ TRUE, /* little endian */
0, /* leave lt */
0, /* leave gt */
1, /* transform <= to ! > */