| .\" Copyright (c) 1991, 1992, 1996, 1997, 1998 Free Software Foundation |
| .\" See section COPYING for conditions for redistribution |
| .TH as 1 "29 March 1996" "cygnus support" "GNU Development Tools" |
| |
| .SH NAME |
| GNU as \- the portable GNU assembler. |
| |
| .SH SYNOPSIS |
| .na |
| .B as |
| .RB "[\|" \-a "[\|" dhlns "\|]" \c |
| \&\[\|\=\c |
| .I file\c |
| \&\|]\|] |
| .RB "[\|" \-D "\|]" |
| .RB "[\|" \-\-defsym\ SYM=VAL "\|]" |
| .RB "[\|" \-f "\|]" |
| .RB "[\|" \-\-gstabs "\|]" |
| .RB "[\|" \-I |
| .I path\c |
| \&\|] |
| .RB "[\|" \-K "\|]" |
| .RB "[\|" \-L "\|]" |
| .RB "[\|" \-M\ |\ \-\-mri "\|]" |
| .RB "[\|" \-o |
| .I objfile\c |
| \&\|] |
| .RB "[\|" \-R "\|]" |
| .RB "[\|" \-\-traditional\-format "\|]" |
| .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 "[\|" \-no-relax "\|]" |
| |
| .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 |
| Turn on assembly listings. There are various suboptions. |
| .B d |
| omits debugging directives. |
| .B h |
| includes the high level source code; this is only available if the |
| source file can be found, and the code was compiled with |
| .B \-g. |
| .B l |
| includes an assembly listing. |
| .B n |
| omits forms processing. |
| .B s |
| includes a symbol listing. |
| .B = |
| .I file |
| sets the listing file name; this must be the last suboption. |
| The default suboptions are |
| .B hls. |
| .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 \-\-defsym SYM=VALUE |
| Define the symbol SYM to be VALUE before assembling the input file. |
| VALUE must be an integer constant. As in C, a leading 0x indicates a |
| hexadecimal value, and a leading 0 indicates an octal value. |
| .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 \-\-gstabs |
| Generate stabs debugging information for each assembler line. This |
| may help debugging assembler code, if the debugger can handle it. |
| .TP |
| .B \-K |
| Issue warnings when difference tables altered for long displacements. |
| .TP |
| .B \-L |
| Keep (in symbol table) local symbols, starting with `\|\c |
| .B L\c |
| \|' |
| .TP |
| .B \-M, \-\-mri |
| Assemble in MRI compatibility mode. |
| .TP |
| .BI "\-o\ " objfile |
| Name the object-file output from \c |
| .B as |
| .TP |
| .B \-R |
| Fold data section into text section |
| .TP |
| .B \-\-traditional\-format |
| Use same format as native assembler, when possible. |
| .TP |
| .B \-v |
| Announce \c |
| .B as\c |
| \& version |
| .TP |
| .B \-W, \-\-no-warn |
| Suppress warning messages. |
| .TP |
| .B \-\-fatal\-warnings |
| Consider warnings to be fatal. |
| .TP |
| .B \-\-warn |
| Just warn on warnings. |
| .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 \-no-relax |
| .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. |