-extern int rewinds;
-void _xa51_genAssemblerEnd () {
+/* 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,
//rewinds==1 ? '\0' : 's');
}
//fprintf (stderr, "Did %d rewind%c for c-line in asm comments\n", rewinds,
//rewinds==1 ? '\0' : 's');
}
fprintf (of, "__interrupt_vect:\n");
fprintf (of, "\t.dw\t0x8f00\n");
fprintf (of, "\t.dw\t__sdcc_gsinit_startup\n");
fprintf (of, "\n");
fprintf (of, "__sdcc_gsinit_startup:\n");
fprintf (of, "__interrupt_vect:\n");
fprintf (of, "\t.dw\t0x8f00\n");
fprintf (of, "\t.dw\t__sdcc_gsinit_startup\n");
fprintf (of, "\n");
fprintf (of, "__sdcc_gsinit_startup:\n");
- fprintf (of, "\tmov.b\t_SCR,#0x01\t; page zero mode\n");
+ fprintf (of, ";\tmov.b\t_SCR,#0x01\t; page zero mode\n");
+ fprintf (of, "\t.db 0x96,0x48,0x40,0x01\n");
fprintf (of, "\tmov\tr7,#0x%04x\n", options.stack_loc);
fprintf (of, "\tcall\t_external_startup\n");
_xa51_genXINIT(of);
fprintf (of, "\tmov\tr7,#0x%04x\n", options.stack_loc);
fprintf (of, "\tcall\t_external_startup\n");
_xa51_genXINIT(of);
fprintf (of, "\tcall\t_main\n");
fprintf (of, "\treset\t;main should not return\n");
}
fprintf (of, "\tcall\t_main\n");
fprintf (of, "\treset\t;main should not return\n");
}
+/* 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;
+}
+
+
- "{bindir}{sep}aslink", "-nf", "$1", NULL
+ "xa_link", "", "\"$1\"", NULL
/* $3 is replaced by assembler.debug_opts resp. port->assembler.plain_opts */
static const char *_asmCmd[] =
{
/* $3 is replaced by assembler.debug_opts resp. port->assembler.plain_opts */
static const char *_asmCmd[] =
{
- "xa_asm", "$l", "$3", "$1.xa", NULL
+ "xa_rasm", "$l", "$3", "\"$1.asm\"", NULL
"", /* Options with debug */
"", /* Options without debug */
0,
"", /* Options with debug */
"", /* Options without debug */
0,
- 6, // isr overhead
- 4, // function call overhead
+ 4, // isr overhead, page zero mode
+ 2, // function call overhead, page zero mode
NULL, // process_pragma()
NULL, // getMangledFunctionName()
NULL, // hasNativeMulFor()
NULL, // process_pragma()
NULL, // getMangledFunctionName()
NULL, // hasNativeMulFor()
- 0, /* transform <= to ! > */
- 0, /* transform >= to ! < */
- 0, /* transform != to !(a == b) */
+ 1, /* transform <= to ! > */
+ 1, /* transform >= to ! < */
+ 1, /* transform != to !(a == b) */