bsd.h revision 169689
113044Sasami/* Definitions for BSD assembler syntax for Intel 386
2116111Sphk   (actually AT&T syntax for insns and operands,
313044Sasami   adapted to BSD conventions for symbol names and debugging.)
413044Sasami   Copyright (C) 1988, 1996, 2000, 2002 Free Software Foundation, Inc.
513044Sasami
613044SasamiThis file is part of GCC.
713044Sasami
813044SasamiGCC is free software; you can redistribute it and/or modify
913044Sasamiit under the terms of the GNU General Public License as published by
1013044Sasamithe Free Software Foundation; either version 2, or (at your option)
1113044Sasamiany later version.
1213044Sasami
1313044SasamiGCC is distributed in the hope that it will be useful,
1413044Sasamibut WITHOUT ANY WARRANTY; without even the implied warranty of
1513044SasamiMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1613044SasamiGNU General Public License for more details.
1713044Sasami
1813044SasamiYou should have received a copy of the GNU General Public License
1913044Sasamialong with GCC; see the file COPYING.  If not, write to
2013044Sasamithe Free Software Foundation, 51 Franklin Street, Fifth Floor,
2113044SasamiBoston, MA 02110-1301, USA.  */
2213044Sasami
2313044Sasami/* Use the Sequent Symmetry assembler syntax.  */
2413044Sasami
2513044Sasami/* Define the syntax of pseudo-ops, labels and comments.  */
2613044Sasami
2713044Sasami/* Prefix for internally generated assembler labels.  If we aren't using
2813044Sasami   underscores, we are using prefix `.'s to identify labels that should
2913044Sasami   be ignored, as in `i386/gas.h' --karl@cs.umb.edu  */
3013044Sasami
3113044Sasami#define LPREFIX "L"
3213044Sasami
3313044Sasami/* Assembler pseudos to introduce constants of various size.  */
34114589Sobrien
35114589Sobrien#define ASM_SHORT "\t.word\t"
3636628Scharnier#define ASM_LONG "\t.long\t"
3713044Sasami#define ASM_QUAD "\t.quad\t"  /* Should not be used for 32bit compilation.  */
3848568Sbillf
3945329Speter/* This was suggested, but it shouldn't be right for DBX output. -- RMS
4013044Sasami   #define ASM_OUTPUT_SOURCE_FILENAME(FILE, NAME) */
4113044Sasami
4213044Sasami
4313044Sasami/* Define the syntax of labels and symbol definitions/declarations.  */
4469793Sobrien
4513044Sasami/* This is how to output an assembler line
4613044Sasami   that says to advance the location counter by SIZE bytes.  */
4713044Sasami
4813044Sasami#define ASM_OUTPUT_SKIP(FILE,SIZE)  \
49115730Sphk  fprintf (FILE, "\t.space "HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE))
5013044Sasami
51116111Sphk/* Define the syntax of labels and symbol definitions/declarations.  */
52116111Sphk
53157740Scracauer/* This says how to output an assembler line
54157740Scracauer   to define a global common symbol.  */
5513044Sasami
5613044Sasami#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED)  \
5713044Sasami( fputs (".comm ", (FILE)),			\
5813044Sasami  assemble_name ((FILE), (NAME)),		\
5913044Sasami  fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
60109417Sphk
6113044Sasami/* This says how to output an assembler line
6213044Sasami   to define a local common symbol.  */
63109417Sphk
64116111Sphk#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED)  \
6513044Sasami( fputs (".lcomm ", (FILE)),			\
6613044Sasami  assemble_name ((FILE), (NAME)),		\
67116111Sphk  fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
6813762Sasami
69116111Sphk/* This is how to output an assembler line
70157740Scracauer   that says to advance the location counter
71157740Scracauer   to a multiple of 2**LOG bytes.  */
72157740Scracauer
73157740Scracauer#define ASM_OUTPUT_ALIGN(FILE,LOG)	\
74116111Sphk  if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", (LOG))
7513044Sasami
7613044Sasami/* This is how to store into the string BUF
7713044Sasami   the symbol_ref name of an internal numbered label where
7813044Sasami   PREFIX is the class of label and NUM is the number within the class.
7913044Sasami   This is suitable for output with `assemble_name'.  */
8013044Sasami
8113044Sasami#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)	\
8213044Sasami    sprintf ((BUF), "*%s%ld", (PREFIX), (long)(NUMBER))
8313044Sasami
8492539Simp/* The prefix to add to user-visible assembler symbols.  */
8592539Simp
8692539Simp#define USER_LABEL_PREFIX "_"
8792539Simp
88109417Sphk/* Sequent has some changes in the format of DBX symbols.  */
8992539Simp#define DBX_NO_XREFS 1
9013044Sasami
9113044Sasami/* Don't split DBX symbols into continuations.  */
9292539Simp#define DBX_CONTIN_LENGTH 0
9313044Sasami