⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dpx2.h

📁 早期freebsd实现
💻 H
字号:
/* * dpx2.h - Bull DPX/2 200 and 300 systems (m68k, SysVr3) */#include "m68k.h"#undef SELECT_RTX_SECTION#include "svr3.h"/* See m68k.h.  7 means 68020 with 68881.  * We really have 68030 and 68882, * but this will get us going.   */#ifndef TARGET_DEFAULT#define TARGET_DEFAULT 7#endif#define OBJECT_FORMAT_COFF#define NO_SYS_SIGLIST#ifdef CPP_PREDEFINES#undef CPP_PREDEFINES#endif/* * define all the things the compiler should */#ifdef ncl_mr# define CPP_PREDEFINES "-Dunix -Dbull -DDPX2 -DSVR3 -Dmc68000 -Dmc68020 -Dncl_mr=1"#else# ifdef ncl_el# define CPP_PREDEFINES "-Dunix -Dbull -DDPX2 -DSVR3 -Dmc68000 -Dmc68020 -Dncl_el"# else#   define CPP_PREDEFINES "-Dunix -Dbull -DDPX2 -DSVR3 -Dmc68000 -Dmc68020"# endif#endif#undef	CPP_SPEC/* * use -ansi to imply POSIX and XOPEN and BULL source * no -ansi implies _SYSV *//* * you can't get a DPX/2 without a 68882 but allow it * to be ignored... */#if 0# define CPP_SPEC "%{ansi:-D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BULL_SOURCE}\ %{!ansi:-D_SYSV}"#else# define __HAVE_68881__ 1# define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ }\ %{ansi:-D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BULL_SOURCE}\ %{!ansi:-D_SYSV}"#endif#undef ASM_LONG#define ASM_LONG "\t.long"#define HAVE_ATEXIT#undef DO_GLOBAL_CTORS_BODY		/* don't use svr3.h version */#undef DO_GLOBAL_DTORS_BODY#if 0 /* Should be no need now that svr3.h defines BSS_SECTION_FUNCTION.  *//*  * svr3.h says to use BSS_SECTION_FUNCTION * but no one appears to, and there is * no definition for m68k. */#ifndef BSS_SECTION_FUNCTION# undef EXTRA_SECTION_FUNCTIONS# define EXTRA_SECTION_FUNCTIONS	\  CONST_SECTION_FUNCTION		\  INIT_SECTION_FUNCTION			\  FINI_SECTION_FUNCTION#endif#endif /* 0 */#ifndef USE_GAS/* * handle the native assembler. * this does NOT yet work, there is much left to do. * use GAS for now... */#undef ASM_OUTPUT_SOURCE_FILENAME#define ASM_OUTPUT_SOURCE_FILENAME(FILE, NA)	\  do { fprintf ((FILE), "\t.file\t'%s'\n", (NA)); } while (0)/*  * we don't seem to support any of: * .globl * .even * .align * .ascii */#undef ASM_GLOBALIZE_LABEL#define ASM_GLOBALIZE_LABEL(FILE,NAME) while (0)#undef ASM_OUTPUT_ALIGN#define ASM_OUTPUT_ALIGN(asm_out_file, align) while (0)#define STRING_LIMIT	(0)#undef ASM_APP_ON#define ASM_APP_ON ""#undef ASM_APP_OFF#define ASM_APP_OFF ""/* * dc.b 'hello, world!' * dc.b 10,0 * is how we have to output "hello, world!\n" */#undef ASM_OUTPUT_ASCII#define ASM_OUTPUT_ASCII(asm_out_file, p, thissize)	\  do { register int i, c, f=0;			\  for (i = 0; i < thissize; i++) { 		\    c = p[i];					\    if (c == '\'' || c < ' ' || c > 127) {	\      switch(f) {				\      case 0: /* need to output dc.b etc */	\	fprintf(asm_out_file, "\tdc.b %d", c);	\	f=1;					\	break;					\      case 1:					\	fprintf(asm_out_file, ",%d", c);	\	break;					\      default:					\	/* close a string */			\	fprintf(asm_out_file, "'\n\tdc.b %d", c); \	f=1;					\	break;					\      }						\    } else {					\      switch(f) {				\      case 0:					\	fprintf(asm_out_file, "\tdc.b '%c", c);	\	f=2;					\	break;					\      case 2:					\	fprintf(asm_out_file, "%c", c);		\	break;					\      default:					\	fprintf(asm_out_file, "\n\tdc.b '%c", c); \	f=2;					\	break;					\      }						\    }						\  }						\  if (f==2)					\    putc('\'', asm_out_file);			\  putc('\n', asm_out_file); } while (0)/* This is how to output an insn to push a register on the stack.   It need not be very fast code.  */#undef ASM_OUTPUT_REG_PUSH#define ASM_OUTPUT_REG_PUSH(FILE,REGNO)  \  fprintf (FILE, "\tmove.l %s,-(sp)\n", reg_names[REGNO])/* This is how to output an insn to pop a register from the stack.   It need not be very fast code.  */#undef ASM_OUTPUT_REG_POP#define ASM_OUTPUT_REG_POP(FILE,REGNO)  \  fprintf (FILE, "\tmove.l (sp)+,%s\n", reg_names[REGNO])			#endif /* ! use gas */			

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -