1 /* $Id: mach.c,v 1.6 1994/06/24 13:56:43 ceriel Exp $ */
3 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4 * See the copyright notice in the ACK home directory, in the file "Copyright".
9 * machine dependent back end routines for the z8000
12 con_part(sz,w) register sz; word w; {
14 while (part_size % sz)
16 if (part_size == TEM_WSIZE)
30 con_mult(sz) word sz; {
33 fatal("bad icon/ucon size");
34 fprintf(codefile,"\t.data4 %s\n", str);
40 if (argval != 4 && argval != 8)
41 fatal("bad fcon size");
42 fprintf(codefile,"\t.data4 ");
44 fprintf(codefile,"F_DUM, ");
45 fprintf(codefile,"F_DUM\n");
48 fprintf(stderr,"Warning : dummy float-constant(s)\n");
54 string holstr(n) word n; {
56 sprintf(str,hol_off,n,holno);
57 return(mystrcpy(str));
61 prolog(nlocals) full nlocals; {
63 fprintf(codefile,"\tpush\t*RR14, R13\n\tld\tR13, R15\n");
67 fprintf(codefile,"\tsub\tR15, $%d\n",nlocals);
70 mes(type) word type ; {
73 switch ( (int)type ) {
77 ptyp(sp_cend)|ptyp(sp_pnam)|sym_ptyp) ) {
82 printf(".define %s\n",argstr) ;
87 while ( getarg(any_ptyp) != sp_cend ) ;
93 ".sect .text", /* SEGTXT */
94 ".sect .data", /* SEGCON */
95 ".sect .rom", /* SEGROM */
96 ".sect .bss" /* SEGBSS */