Adapted to new assembler
This commit is contained in:
parent
4d10540d8d
commit
0d1c90a23e
2 changed files with 25 additions and 14 deletions
|
@ -41,19 +41,27 @@ con_part(sz,w) register sz; word w; {
|
||||||
part_size += sz;
|
part_size += sz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long atol();
|
||||||
|
|
||||||
con_mult(sz) word sz; {
|
con_mult(sz) word sz; {
|
||||||
long l;
|
|
||||||
|
|
||||||
if (argval != 4)
|
if (argval != 4)
|
||||||
fatal("bad icon/ucon size");
|
fatal("bad icon/ucon size");
|
||||||
l = atol(str);
|
fprintf(codefile,".data4\t%ld\n",atol(str));
|
||||||
fprintf(codefile,".short\t%d\n",(int)l);
|
|
||||||
fprintf(codefile,".short\t%d\n",(int)(l>>16));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
con_float() {
|
con_float() {
|
||||||
|
static int warning_given;
|
||||||
|
int i = argval;
|
||||||
|
|
||||||
fatal("no reals");
|
if (!warning_given) {
|
||||||
|
fprintf(stderr, "warning: dummy floating point constant\n");
|
||||||
|
warning_given = 1;
|
||||||
|
}
|
||||||
|
while (i > 0) {
|
||||||
|
fputs(".data4 0 !dummy float\n", codefile);
|
||||||
|
i -= 4;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -93,8 +101,8 @@ mes(type) word type ; {
|
||||||
}
|
}
|
||||||
|
|
||||||
char *segname[] = {
|
char *segname[] = {
|
||||||
".text",
|
".sect .text",
|
||||||
".data",
|
".sect .data",
|
||||||
".data",
|
".sect .rom",
|
||||||
".bss"
|
".sect .bss"
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,15 +9,18 @@
|
||||||
|
|
||||||
#define cst_fmt "%d"
|
#define cst_fmt "%d"
|
||||||
#define off_fmt "%d"
|
#define off_fmt "%d"
|
||||||
#define ilb_fmt "I%03x%x"
|
#define ilb_fmt "I%x_%x"
|
||||||
#define dlb_fmt "_%d"
|
#define dlb_fmt "_%d"
|
||||||
#define hol_fmt "hol%d"
|
#define hol_fmt "hol%d"
|
||||||
|
|
||||||
#define hol_off "%d+hol%d"
|
#define hol_off "%d+hol%d"
|
||||||
|
|
||||||
#define con_cst(x) fprintf(codefile,".word\t%d\n",x)
|
#define con_cst(x) fprintf(codefile,".data2\t%d\n",x)
|
||||||
#define con_ilb(x) fprintf(codefile,".word\t%s\n",x)
|
#define con_ilb(x) fprintf(codefile,".data2\t%s\n",x)
|
||||||
#define con_dlb(x) fprintf(codefile,".word\t%s\n",x)
|
#define con_dlb(x) fprintf(codefile,".data2\t%s\n",x)
|
||||||
|
|
||||||
|
#define fmt_id(sf, st) sprintf(st,"_%s",sf)
|
||||||
|
|
||||||
|
#define modhead ".sect .text; .sect .rom; .sect .data; .sect .bss\n"
|
||||||
|
|
||||||
#define id_first '_'
|
|
||||||
#define BSS_INIT 0
|
#define BSS_INIT 0
|
||||||
|
|
Loading…
Reference in a new issue