}
con_mult(sz) word sz; {
- long l;
+ long atol();
if (sz != 4)
fatal("bad icon/ucon size");
- l = atol(str);
- fprintf(codefile,".short\t%d\n",(int) l);
- fprintf(codefile,".short\t%d\n",(int) (l >> 16));
+ fprintf(codefile,".data4 %ld\n", atol(str));
}
}
char *segname[] = {
- ".text", /* SEGTXT */
- ".data", /* SEGCON */
- ".data", /* SEGROM */
- ".bss" /* SEGBSS */
+ ".sect .text", /* SEGTXT */
+ ".sect .data", /* SEGCON */
+ ".sect .rom", /* SEGROM */
+ ".sect .bss" /* SEGBSS */
};
#define hol_off "%d+hol%d"
-#define con_cst(x) fprintf(codefile,".word\t%d\n",x)
-#define con_ilb(x) fprintf(codefile,".word\t%s\n",x)
-#define con_dlb(x) fprintf(codefile,".word\t%s\n",x)
+#define con_cst(x) fprintf(codefile,".data2\t%d\n",x)
+#define con_ilb(x) fprintf(codefile,".data2\t%s\n",x)
+#define con_dlb(x) fprintf(codefile,".data2\t%s\n",x)
-#define modhead ""
+#define modhead ".sect .zero; .sect .text; .sect .rom; .sect .data; .sect .bss\n"
+
+#define fmt_id(ft, fs) sprintf(fs,"_%s",ft)
-#define id_first '_'
#define BSS_INIT 0