]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/doc/as.1
* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[thirdparty/binutils-gdb.git] / gas / doc / as.1
CommitLineData
ffd652c3 1.\" Copyright (c) 1991, 1992, 1996, 1997, 1998 Free Software Foundation
ead077d5 2.\" See section COPYING for conditions for redistribution
0c203340 3.TH as 1 "29 March 1996" "cygnus support" "GNU Development Tools"
ead077d5
RP
4
5.SH NAME
0c203340 6GNU as \- the portable GNU assembler.
ead077d5
RP
7
8.SH SYNOPSIS
9.na
10.B as
85a961c6
ILT
11.RB "[\|" \-a "[\|" dhlns "\|]" \c
12\&\[\|\=\c
13.I file\c
14\&\|]\|]
ead077d5 15.RB "[\|" \-D "\|]"
a5e03353 16.RB "[\|" \-\-defsym\ SYM=VAL "\|]"
ead077d5 17.RB "[\|" \-f "\|]"
cd924033 18.RB "[\|" \-\-gstabs "\|]"
ead077d5
RP
19.RB "[\|" \-I
20.I path\c
21\&\|]
bf85ce3e 22.RB "[\|" \-K "\|]"
ead077d5 23.RB "[\|" \-L "\|]"
79e15b8a 24.RB "[\|" \-M\ |\ \-\-mri "\|]"
ead077d5
RP
25.RB "[\|" \-o
26.I objfile\c
27\&\|]
28.RB "[\|" \-R "\|]"
ffd652c3 29.RB "[\|" \-\-traditional\-format "\|]"
ead077d5
RP
30.RB "[\|" \-v "\|]"
31.RB "[\|" \-w "\|]"
32.RB "[\|" \-\^\- "\ |\ " \c
33.I files\c
34\&\|.\|.\|.\|]
35
36.I i960-only options:
37.br
38.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
39.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
40.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
41.RB "[\|" \-b "\|]"
10db66ec 42.RB "[\|" \-no-relax "\|]"
ead077d5
RP
43
44.I m680x0-only options:
45.br
46.RB "[\|" \-l "\|]"
47.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
48.ad b
49
50.SH DESCRIPTION
51GNU \c
52.B as\c
53\& is really a family of assemblers.
54If you use (or have used) the GNU assembler on one architecture, you
55should find a fairly similar environment when you use it on another
56architecture. Each version has much in common with the others,
57including object file formats, most assembler directives (often called
58\c
59.I pseudo-ops)\c
60\& and assembler syntax.
61
62For information on the syntax and pseudo-ops used by GNU \c
63.B as\c
64\&, see `\|\c
65.B as\c
66\|' entry in \c
67.B info \c
68(or the manual \c
69.I
70.I
71Using as: The GNU Assembler\c
72\&).
73
74\c
75.B as\c
76\& is primarily intended to assemble the output of the GNU C
77compiler \c
78.B gcc\c
79\& for use by the linker \c
80.B ld\c
81\&. Nevertheless,
82we've tried to make \c
83.B as\c
84\& assemble correctly everything that the native
85assembler would.
86This doesn't mean \c
87.B as\c
88\& always uses the same syntax as another
89assembler for the same architecture; for example, we know of several
90incompatible versions of 680x0 assembly language syntax.
91
92Each time you run \c
93.B as\c
94\& it assembles exactly one source
95program. The source program is made up of one or more files.
96(The standard input is also a file.)
97
98If \c
99.B as\c
100\& is given no file names it attempts to read one input file
101from the \c
102.B as\c
103\& standard input, which is normally your terminal. You
104may have to type \c
105.B ctl-D\c
106\& to tell \c
107.B as\c
108\& there is no more program
109to assemble. Use `\|\c
110.B \-\^\-\c
111\|' if you need to explicitly name the standard input file
112in your command line.
113
114.B as\c
115\& may write warnings and error messages to the standard error
116file (usually your terminal). This should not happen when \c
117.B as\c
118\& is
119run automatically by a compiler. Warnings report an assumption made so
120that \c
121.B as\c
122\& could keep assembling a flawed program; errors report a
123grave problem that stops the assembly.
124
125.SH OPTIONS
126.TP
85a961c6
ILT
127.BR \-a
128Turn on assembly listings. There are various suboptions.
129.B d
130omits debugging directives.
131.B h
132includes the high level source code; this is only available if the
133source file can be found, and the code was compiled with
134.B \-g.
135.B l
136includes an assembly listing.
137.B n
138omits forms processing.
139.B s
140includes a symbol listing.
141.B =
142.I file
143sets the listing file name; this must be the last suboption.
144The default suboptions are
145.B hls.
ead077d5
RP
146.TP
147.B \-D
148This option is accepted only for script compatibility with calls to
149other assemblers; it has no effect on \c
150.B as\c
151\&.
152.TP
a5e03353
ILT
153.B \-\-defsym SYM=VALUE
154Define the symbol SYM to be VALUE before assembling the input file.
155VALUE must be an integer constant. As in C, a leading 0x indicates a
156hexadecimal value, and a leading 0 indicates an octal value.
157.TP
ead077d5
RP
158.B \-f
159``fast''--skip preprocessing (assume source is compiler output).
160.TP
161.BI "\-I\ " path
162Add
163.I path
164to the search list for
165.B .include
166directives.
167.TP
cd924033
ILT
168.B \-\-gstabs
169Generate stabs debugging information for each assembler line. This
170may help debugging assembler code, if the debugger can handle it.
171.TP
bf85ce3e 172.B \-K
ead077d5
RP
173Issue warnings when difference tables altered for long displacements.
174.TP
175.B \-L
176Keep (in symbol table) local symbols, starting with `\|\c
177.B L\c
178\|'
179.TP
79e15b8a
ILT
180.B \-M, \-\-mri
181Assemble in MRI compatibility mode.
182.TP
ead077d5
RP
183.BI "\-o\ " objfile
184Name the object-file output from \c
185.B as
186.TP
187.B \-R
188Fold data section into text section
189.TP
ffd652c3
ILT
190.B \-\-traditional\-format
191Use same format as native assembler, when possible.
192.TP
ead077d5
RP
193.B \-v
194Announce \c
195.B as\c
196\& version
197.TP
198.B \-W
199Suppress warning messages
200.TP
201.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
202Source files to assemble, or standard input (\c
203.BR "\-\^\-" ")"
204.TP
205.BI \-A var
206.I
207(When configured for Intel 960.)
208Specify which variant of the 960 architecture is the target.
209.TP
210.B \-b
211.I
212(When configured for Intel 960.)
213Add code to collect statistics about branches taken.
214.TP
10db66ec 215.B \-no-relax
ead077d5
RP
216.I
217(When configured for Intel 960.)
218Do not alter compare-and-branch instructions for long displacements;
219error if necessary.
220.TP
221.B \-l
222.I
223(When configured for Motorola 68000).
224.br
225Shorten references to undefined symbols, to one word instead of two.
226.TP
227.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
228.I
229(When configured for Motorola 68000).
230.br
231Specify what processor in the 68000 family is the target (default 68020)
232
233.PP
234Options may be in any order, and may be
235before, after, or between file names. The order of file names is
236significant.
237
238`\|\c
239.B \-\^\-\c
240\|' (two hyphens) by itself names the standard input file
241explicitly, as one of the files for \c
242.B as\c
243\& to assemble.
244
245Except for `\|\c
246.B \-\^\-\c
247\|' any command line argument that begins with a
248hyphen (`\|\c
249.B \-\c
250\|') is an option. Each option changes the behavior of
251\c
252.B as\c
253\&. No option changes the way another option works. An
254option is a `\|\c
255.B \-\c
256\|' followed by one or more letters; the case of
257the letter is important. All options are optional.
258
259The `\|\c
260.B \-o\c
261\|' option expects exactly one file name to follow. The file
262name may either immediately follow the option's letter (compatible
263with older assemblers) or it may be the next command argument (GNU
264standard).
265
266These two command lines are equivalent:
267.br
268.B
269as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
270.br
271.B
272as\ \ \-omy\-object\-file.o\ \ mumble.s
273
274.SH "SEE ALSO"
275.RB "`\|" as "\|'"
276entry in
277.B
278info\c
279\&;
280.I
281Using as: The GNU Assembler\c
282\&;
283.BR gcc "(" 1 "),"
284.BR ld "(" 1 ")."
285
286.SH COPYING
287Copyright (c) 1991, 1992 Free Software Foundation, Inc.
288.PP
289Permission is granted to make and distribute verbatim copies of
290this manual provided the copyright notice and this permission notice
291are preserved on all copies.
292.PP
293Permission is granted to copy and distribute modified versions of this
294manual under the conditions for verbatim copying, provided that the
295entire resulting derived work is distributed under the terms of a
296permission notice identical to this one.
297.PP
298Permission is granted to copy and distribute translations of this
299manual into another language, under the above conditions for modified
300versions, except that this permission notice may be included in
301translations approved by the Free Software Foundation instead of in
302the original English.