Adapted to new assembler syntax.
authorceriel <none@none>
Thu, 8 Jan 1987 09:39:54 +0000 (09:39 +0000)
committerceriel <none@none>
Thu, 8 Jan 1987 09:39:54 +0000 (09:39 +0000)
mach/i86/cg/mach.c
mach/i86/cg/mach.h

index aca612b..84f2cca 100644 (file)
@@ -48,7 +48,7 @@ con_mult(sz) word sz; {
        if (sz != 4)
                fatal("bad icon/ucon size");
        l = atol(str);
-       fprintf(codefile,"\t.word %d,%d\n",
+       fprintf(codefile,"\t.data2 %d,%d\n",
                        (int)l&0xFFFF,(int)(l>>16)&0xFFFF);
 }
 
@@ -59,7 +59,7 @@ con_float() {
        if (i!= 4 && i!= 8)
                fatal("bad fcon size");
        while ( i ) {
-               fprintf(codefile," .word 0,0\n") ;
+               fprintf(codefile," .data2 0,0\n") ;
                i -=4 ;
        }
 }
@@ -109,8 +109,8 @@ mes(type) word type ; {
 }
 
 char    *segname[] = {
-       ".text",        /* SEGTXT */
-       ".data",        /* SEGCON */
-       ".data",        /* SEGROM */
-       ".bss"          /* SEGBSS */
+       ".sect .text",        /* SEGTXT */
+       ".sect .data",        /* SEGCON */
+       ".sect .rom",        /* SEGROM */
+       ".sect .bss"          /* SEGBSS */
 };
index 139393e..8410ca9 100644 (file)
 #define arg_off         "4+%d(bp)"
 #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 .text; .sect .rom; .sect .data; .sect .bss\n"
+
+#define fmt_id(fr,to)  sprintf(to, "_%s", fr)
 
-#define id_first        '_'
 #define BSS_INIT        0