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