118334Speter/* Definitions for BSD assembler syntax for Intel 386
218334Speter   (actually AT&T syntax for insns and operands,
318334Speter   adapted to BSD conventions for symbol names and debugging.)
4117395Skan   Copyright (C) 1988, 1996, 2000, 2002 Free Software Foundation, Inc.
518334Speter
6132718SkanThis file is part of GCC.
718334Speter
8132718SkanGCC is free software; you can redistribute it and/or modify
918334Speterit under the terms of the GNU General Public License as published by
1018334Speterthe Free Software Foundation; either version 2, or (at your option)
1118334Speterany later version.
1218334Speter
13132718SkanGCC is distributed in the hope that it will be useful,
1418334Speterbut WITHOUT ANY WARRANTY; without even the implied warranty of
1518334SpeterMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1618334SpeterGNU General Public License for more details.
1718334Speter
1818334SpeterYou should have received a copy of the GNU General Public License
19132718Skanalong with GCC; see the file COPYING.  If not, write to
20169689Skanthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
21169689SkanBoston, MA 02110-1301, USA.  */
2218334Speter
2318334Speter/* Use the Sequent Symmetry assembler syntax.  */
2418334Speter
2518334Speter/* Define the syntax of pseudo-ops, labels and comments.  */
2618334Speter
2718334Speter/* Prefix for internally generated assembler labels.  If we aren't using
2818334Speter   underscores, we are using prefix `.'s to identify labels that should
2918334Speter   be ignored, as in `i386/gas.h' --karl@cs.umb.edu  */
30117395Skan
3118334Speter#define LPREFIX "L"
3218334Speter
3318334Speter/* Assembler pseudos to introduce constants of various size.  */
3418334Speter
3590075Sobrien#define ASM_SHORT "\t.word\t"
3690075Sobrien#define ASM_LONG "\t.long\t"
3790075Sobrien#define ASM_QUAD "\t.quad\t"  /* Should not be used for 32bit compilation.  */
3818334Speter
3918334Speter/* This was suggested, but it shouldn't be right for DBX output. -- RMS
4018334Speter   #define ASM_OUTPUT_SOURCE_FILENAME(FILE, NAME) */
4118334Speter
4218334Speter
4318334Speter/* Define the syntax of labels and symbol definitions/declarations.  */
4418334Speter
4518334Speter/* This is how to output an assembler line
4618334Speter   that says to advance the location counter by SIZE bytes.  */
4718334Speter
4818334Speter#define ASM_OUTPUT_SKIP(FILE,SIZE)  \
49132718Skan  fprintf (FILE, "\t.space "HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE))
5018334Speter
5118334Speter/* Define the syntax of labels and symbol definitions/declarations.  */
5218334Speter
5318334Speter/* This says how to output an assembler line
5418334Speter   to define a global common symbol.  */
5518334Speter
5618334Speter#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED)  \
5718334Speter( fputs (".comm ", (FILE)),			\
5818334Speter  assemble_name ((FILE), (NAME)),		\
59132718Skan  fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
6018334Speter
6118334Speter/* This says how to output an assembler line
6218334Speter   to define a local common symbol.  */
6318334Speter
6418334Speter#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED)  \
6518334Speter( fputs (".lcomm ", (FILE)),			\
6618334Speter  assemble_name ((FILE), (NAME)),		\
67132718Skan  fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
6818334Speter
6918334Speter/* This is how to output an assembler line
7018334Speter   that says to advance the location counter
7118334Speter   to a multiple of 2**LOG bytes.  */
7218334Speter
7318334Speter#define ASM_OUTPUT_ALIGN(FILE,LOG)	\
7418334Speter  if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", (LOG))
7518334Speter
7618334Speter/* This is how to store into the string BUF
7718334Speter   the symbol_ref name of an internal numbered label where
7818334Speter   PREFIX is the class of label and NUM is the number within the class.
7918334Speter   This is suitable for output with `assemble_name'.  */
8018334Speter
8118334Speter#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)	\
8290075Sobrien    sprintf ((BUF), "*%s%ld", (PREFIX), (long)(NUMBER))
8318334Speter
8490075Sobrien/* The prefix to add to user-visible assembler symbols.  */
8518334Speter
8650397Sobrien#define USER_LABEL_PREFIX "_"
8718334Speter
8818334Speter/* Sequent has some changes in the format of DBX symbols.  */
8918334Speter#define DBX_NO_XREFS 1
9018334Speter
9118334Speter/* Don't split DBX symbols into continuations.  */
9218334Speter#define DBX_CONTIN_LENGTH 0
93