1130b656e5
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
284 lines
6.3 KiB
Groff
284 lines
6.3 KiB
Groff
.\" Copyright (c) 1991, 1992 Free Software Foundation
|
|
.\" See section COPYING for conditions for redistribution
|
|
.\" $FreeBSD$
|
|
.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools"
|
|
|
|
.SH NAME
|
|
as \- the portable GNU assembler.
|
|
|
|
.SH SYNOPSIS
|
|
.na
|
|
.B as
|
|
.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c
|
|
\&\|]
|
|
.RB "[\|" \-D "\|]"
|
|
.RB "[\|" \-f "\|]"
|
|
.RB "[\|" \-I
|
|
.I path\c
|
|
\&\|]
|
|
.RB "[\|" \-k "\|]"
|
|
.RB "[\|" \-K "\|]"
|
|
.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
|
|
.B \-k
|
|
Handle position independent code, generated by gcc -fpic.
|
|
.TP
|
|
.B \-K
|
|
Handle position independent code, generated by gcc -fPIC.
|
|
This is normally the same as -k.
|
|
.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 HISTORY
|
|
A
|
|
.I as
|
|
command appeared in
|
|
Version 1 AT&T UNIX.
|
|
|
|
.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.
|