1993-08-17 20:16:19 +00:00
|
|
|
.\" Copyright (c) 1991, 1992 Free Software Foundation
|
|
|
|
.\" See section COPYING for conditions for redistribution
|
|
|
|
.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools"
|
|
|
|
|
|
|
|
.SH NAME
|
1996-02-12 04:57:03 +00:00
|
|
|
as \- the portable GNU assembler.
|
1993-08-17 20:16:19 +00:00
|
|
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.na
|
|
|
|
.B as
|
|
|
|
.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c
|
|
|
|
\&\|]
|
|
|
|
.RB "[\|" \-D "\|]"
|
|
|
|
.RB "[\|" \-f "\|]"
|
|
|
|
.RB "[\|" \-I
|
|
|
|
.I path\c
|
|
|
|
\&\|]
|
1993-11-03 00:56:24 +00:00
|
|
|
.RB "[\|" \-k "\|]"
|
1993-08-17 20:16:19 +00:00
|
|
|
.RB "[\|" \-L "\|]"
|
|
|
|
.RB "[\|" \-o
|
|
|
|
.I objfile\c
|
|
|
|
\&\|]
|
|
|
|
.RB "[\|" \-R "\|]"
|
|
|
|
.RB "[\|" \-v "\|]"
|
|
|
|
.RB "[\|" \-w "\|]"
|
|
|
|
.RB "[\|" \-\^\- "\ |\ " \c
|
|
|
|
.I files\c
|
|
|
|
\&\|.\|.\|.\|]
|
|
|
|
|
|
|
|
.I i960-only options:
|
|
|
|
.br
|
|
|
|
.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
|
|
|
|
.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
|
|
|
|
.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
|
|
|
|
.RB "[\|" \-b "\|]"
|
|
|
|
.RB "[\|" \-norelax "\|]"
|
|
|
|
|
|
|
|
.I m680x0-only options:
|
|
|
|
.br
|
|
|
|
.RB "[\|" \-l "\|]"
|
|
|
|
.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
|
|
|
|
.ad b
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
GNU \c
|
|
|
|
.B as\c
|
|
|
|
\& is really a family of assemblers.
|
|
|
|
If you use (or have used) the GNU assembler on one architecture, you
|
|
|
|
should find a fairly similar environment when you use it on another
|
|
|
|
architecture. Each version has much in common with the others,
|
|
|
|
including object file formats, most assembler directives (often called
|
|
|
|
\c
|
|
|
|
.I pseudo-ops)\c
|
|
|
|
\& and assembler syntax.
|
|
|
|
|
|
|
|
For information on the syntax and pseudo-ops used by GNU \c
|
|
|
|
.B as\c
|
|
|
|
\&, see `\|\c
|
|
|
|
.B as\c
|
|
|
|
\|' entry in \c
|
|
|
|
.B info \c
|
|
|
|
(or the manual \c
|
|
|
|
.I
|
|
|
|
.I
|
|
|
|
Using as: The GNU Assembler\c
|
|
|
|
\&).
|
|
|
|
|
|
|
|
\c
|
|
|
|
.B as\c
|
|
|
|
\& is primarily intended to assemble the output of the GNU C
|
|
|
|
compiler \c
|
|
|
|
.B gcc\c
|
|
|
|
\& for use by the linker \c
|
|
|
|
.B ld\c
|
|
|
|
\&. Nevertheless,
|
|
|
|
we've tried to make \c
|
|
|
|
.B as\c
|
|
|
|
\& assemble correctly everything that the native
|
|
|
|
assembler would.
|
|
|
|
This doesn't mean \c
|
|
|
|
.B as\c
|
|
|
|
\& always uses the same syntax as another
|
|
|
|
assembler for the same architecture; for example, we know of several
|
|
|
|
incompatible versions of 680x0 assembly language syntax.
|
|
|
|
|
|
|
|
Each time you run \c
|
|
|
|
.B as\c
|
|
|
|
\& it assembles exactly one source
|
|
|
|
program. The source program is made up of one or more files.
|
|
|
|
(The standard input is also a file.)
|
|
|
|
|
|
|
|
If \c
|
|
|
|
.B as\c
|
|
|
|
\& is given no file names it attempts to read one input file
|
|
|
|
from the \c
|
|
|
|
.B as\c
|
|
|
|
\& standard input, which is normally your terminal. You
|
|
|
|
may have to type \c
|
|
|
|
.B ctl-D\c
|
|
|
|
\& to tell \c
|
|
|
|
.B as\c
|
|
|
|
\& there is no more program
|
|
|
|
to assemble. Use `\|\c
|
|
|
|
.B \-\^\-\c
|
|
|
|
\|' if you need to explicitly name the standard input file
|
|
|
|
in your command line.
|
|
|
|
|
|
|
|
.B as\c
|
|
|
|
\& may write warnings and error messages to the standard error
|
|
|
|
file (usually your terminal). This should not happen when \c
|
|
|
|
.B as\c
|
|
|
|
\& is
|
|
|
|
run automatically by a compiler. Warnings report an assumption made so
|
|
|
|
that \c
|
|
|
|
.B as\c
|
|
|
|
\& could keep assembling a flawed program; errors report a
|
|
|
|
grave problem that stops the assembly.
|
|
|
|
|
|
|
|
.SH OPTIONS
|
|
|
|
.TP
|
|
|
|
.BR \-a \||\| \-al \||\| \-as
|
|
|
|
Turn on assembly listings; `\|\c
|
|
|
|
.B \-al\c
|
|
|
|
\&\|', listing only, `\|\c
|
|
|
|
.B \-as\c
|
|
|
|
\&\|', symbols
|
|
|
|
only, `\|\c
|
|
|
|
.B \-a\c
|
|
|
|
\&\|', everything.
|
|
|
|
.TP
|
|
|
|
.B \-D
|
|
|
|
This option is accepted only for script compatibility with calls to
|
|
|
|
other assemblers; it has no effect on \c
|
|
|
|
.B as\c
|
|
|
|
\&.
|
|
|
|
.TP
|
|
|
|
.B \-f
|
|
|
|
``fast''--skip preprocessing (assume source is compiler output).
|
|
|
|
.TP
|
|
|
|
.BI "\-I\ " path
|
|
|
|
Add
|
|
|
|
.I path
|
|
|
|
to the search list for
|
|
|
|
.B .include
|
|
|
|
directives.
|
|
|
|
.TP
|
1993-11-03 00:56:24 +00:00
|
|
|
.B \-k
|
|
|
|
Handle position independent code, generated by gcc -fpic.
|
1993-08-17 20:16:19 +00:00
|
|
|
.TP
|
|
|
|
.B \-L
|
|
|
|
Keep (in symbol table) local symbols, starting with `\|\c
|
|
|
|
.B L\c
|
|
|
|
\|'
|
|
|
|
.TP
|
|
|
|
.BI "\-o\ " objfile
|
|
|
|
Name the object-file output from \c
|
|
|
|
.B as
|
|
|
|
.TP
|
|
|
|
.B \-R
|
|
|
|
Fold data section into text section
|
|
|
|
.TP
|
|
|
|
.B \-v
|
|
|
|
Announce \c
|
|
|
|
.B as\c
|
|
|
|
\& version
|
|
|
|
.TP
|
|
|
|
.B \-W
|
|
|
|
Suppress warning messages
|
|
|
|
.TP
|
|
|
|
.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
|
|
|
|
Source files to assemble, or standard input (\c
|
|
|
|
.BR "\-\^\-" ")"
|
|
|
|
.TP
|
|
|
|
.BI \-A var
|
|
|
|
.I
|
|
|
|
(When configured for Intel 960.)
|
|
|
|
Specify which variant of the 960 architecture is the target.
|
|
|
|
.TP
|
|
|
|
.B \-b
|
|
|
|
.I
|
|
|
|
(When configured for Intel 960.)
|
|
|
|
Add code to collect statistics about branches taken.
|
|
|
|
.TP
|
|
|
|
.B \-norelax
|
|
|
|
.I
|
|
|
|
(When configured for Intel 960.)
|
|
|
|
Do not alter compare-and-branch instructions for long displacements;
|
|
|
|
error if necessary.
|
|
|
|
.TP
|
|
|
|
.B \-l
|
|
|
|
.I
|
|
|
|
(When configured for Motorola 68000).
|
|
|
|
.br
|
|
|
|
Shorten references to undefined symbols, to one word instead of two.
|
|
|
|
.TP
|
|
|
|
.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
|
|
|
|
.I
|
|
|
|
(When configured for Motorola 68000).
|
|
|
|
.br
|
|
|
|
Specify what processor in the 68000 family is the target (default 68020)
|
|
|
|
|
|
|
|
.PP
|
|
|
|
Options may be in any order, and may be
|
|
|
|
before, after, or between file names. The order of file names is
|
|
|
|
significant.
|
|
|
|
|
|
|
|
`\|\c
|
|
|
|
.B \-\^\-\c
|
|
|
|
\|' (two hyphens) by itself names the standard input file
|
|
|
|
explicitly, as one of the files for \c
|
|
|
|
.B as\c
|
|
|
|
\& to assemble.
|
|
|
|
|
|
|
|
Except for `\|\c
|
|
|
|
.B \-\^\-\c
|
|
|
|
\|' any command line argument that begins with a
|
|
|
|
hyphen (`\|\c
|
|
|
|
.B \-\c
|
|
|
|
\|') is an option. Each option changes the behavior of
|
|
|
|
\c
|
|
|
|
.B as\c
|
|
|
|
\&. No option changes the way another option works. An
|
|
|
|
option is a `\|\c
|
|
|
|
.B \-\c
|
|
|
|
\|' followed by one or more letters; the case of
|
|
|
|
the letter is important. All options are optional.
|
|
|
|
|
|
|
|
The `\|\c
|
|
|
|
.B \-o\c
|
|
|
|
\|' option expects exactly one file name to follow. The file
|
|
|
|
name may either immediately follow the option's letter (compatible
|
|
|
|
with older assemblers) or it may be the next command argument (GNU
|
|
|
|
standard).
|
|
|
|
|
|
|
|
These two command lines are equivalent:
|
|
|
|
.br
|
|
|
|
.B
|
|
|
|
as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
|
|
|
|
.br
|
|
|
|
.B
|
|
|
|
as\ \ \-omy\-object\-file.o\ \ mumble.s
|
|
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.RB "`\|" as "\|'"
|
|
|
|
entry in
|
|
|
|
.B
|
|
|
|
info\c
|
|
|
|
\&;
|
|
|
|
.I
|
|
|
|
Using as: The GNU Assembler\c
|
|
|
|
\&;
|
|
|
|
.BR gcc "(" 1 "),"
|
|
|
|
.BR ld "(" 1 ")."
|
|
|
|
|
|
|
|
.SH COPYING
|
|
|
|
Copyright (c) 1991, 1992 Free Software Foundation, Inc.
|
|
|
|
.PP
|
|
|
|
Permission is granted to make and distribute verbatim copies of
|
|
|
|
this manual provided the copyright notice and this permission notice
|
|
|
|
are preserved on all copies.
|
|
|
|
.PP
|
|
|
|
Permission is granted to copy and distribute modified versions of this
|
|
|
|
manual under the conditions for verbatim copying, provided that the
|
|
|
|
entire resulting derived work is distributed under the terms of a
|
|
|
|
permission notice identical to this one.
|
|
|
|
.PP
|
|
|
|
Permission is granted to copy and distribute translations of this
|
|
|
|
manual into another language, under the above conditions for modified
|
|
|
|
versions, except that this permission notice may be included in
|
|
|
|
translations approved by the Free Software Foundation instead of in
|
|
|
|
the original English.
|