unix.h revision 169689
1130331Sanholt/* Definitions for Unix assembler syntax for the Intel 80386.
2145132Sanholt   Copyright (C) 1988, 1994, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3145132Sanholt
4145132SanholtThis file is part of GCC.
5130331Sanholt
6130331SanholtGCC is free software; you can redistribute it and/or modify
7130331Sanholtit under the terms of the GNU General Public License as published by
8130331Sanholtthe Free Software Foundation; either version 2, or (at your option)
9182080Srnolandany later version.
10182080Srnoland
11182080SrnolandGCC is distributed in the hope that it will be useful,
12182080Srnolandbut WITHOUT ANY WARRANTY; without even the implied warranty of
13182080SrnolandMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14182080SrnolandGNU General Public License for more details.
15182080Srnoland
16157617SanholtYou should have received a copy of the GNU General Public License
17145132Sanholtalong with GCC; see the file COPYING.  If not, write to
18157617Sanholtthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
19157617SanholtBoston, MA 02110-1301, USA.  */
20157617Sanholt
21157617Sanholt/* This file defines the aspects of assembler syntax
22157617Sanholt   that are the same for all the i386 Unix systems
23157617Sanholt   (though they may differ in non-Unix systems).  */
24145132Sanholt
25157617Sanholt/* Define macro used to output shift-double opcodes when the shift
26157617Sanholt   count is in %cl.  Some assemblers require %cl as an argument;
27157617Sanholt   some don't.  This macro controls what to do: by default, don't
28145132Sanholt   print %cl.  */
29157617Sanholt#define SHIFT_DOUBLE_OMITS_COUNT 1
30157617Sanholt
31182080Srnoland/* Define the syntax of pseudo-ops, labels and comments.  */
32145132Sanholt
33145132Sanholt/* String containing the assembler's comment-starter.  */
34182080Srnoland
35182080Srnoland#define ASM_COMMENT_START "/"
36182080Srnoland
37157617Sanholt/* Output to assembler file text saying following lines
38157617Sanholt   may contain character constants, extra white space, comments, etc.  */
39182080Srnoland
40182080Srnoland#define ASM_APP_ON "/APP\n"
41182080Srnoland
42182080Srnoland/* Output to assembler file text saying following lines
43182080Srnoland   no longer contain unusual constructs.  */
44182080Srnoland
45182080Srnoland#define ASM_APP_OFF "/NO_APP\n"
46182080Srnoland
47182080Srnoland/* Output before read-only data.  */
48182080Srnoland
49182080Srnoland#define TEXT_SECTION_ASM_OP "\t.text"
50182080Srnoland
51182080Srnoland/* Output before writable (initialized) data.  */
52182080Srnoland
53182080Srnoland#define DATA_SECTION_ASM_OP "\t.data"
54182080Srnoland
55182080Srnoland/* Output before writable (uninitialized) data.  */
56182080Srnoland
57182080Srnoland#define BSS_SECTION_ASM_OP "\t.bss"
58157617Sanholt
59182080Srnoland/* Globalizing directive for a label.  */
60148211Sanholt#define GLOBAL_ASM_OP ".globl "
61157617Sanholt
62157617Sanholt/* By default, target has a 80387, uses IEEE compatible arithmetic,
63148211Sanholt   and returns float values in the 387.  */
64148211Sanholt
65148211Sanholt#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS)
66157617Sanholt