📄 as.texinfo
字号:
\input texinfo @c -*-Texinfo-*-@c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,@c 2001@c Free Software Foundation, Inc.@c UPDATE!! On future updates--@c (1) check for new machine-dep cmdline options in@c md_parse_option definitions in config/tc-*.c@c (2) for platform-specific directives, examine md_pseudo_op@c in config/tc-*.c@c (3) for object-format specific directives, examine obj_pseudo_op@c in config/obj-*.c @c (4) portable directives in potable[] in read.c@c %**start of header@setfilename as.info@c ---config---@c defaults, config file may override:@set have-stabs@c ---@include asconfig.texi@include gasver.texi@c ---@c common OR combinations of conditions@ifset AOUT@set aout-bout@end ifset@ifset ARM/Thumb@set ARM@end ifset@ifset BOUT@set aout-bout@end ifset@ifset H8/300@set H8@end ifset@ifset H8/500@set H8@end ifset@ifset SH@set H8@end ifset@ifset HPPA@set abnormal-separator@end ifset@c ------------@ifset GENERIC@settitle Using @value{AS}@end ifset@ifclear GENERIC@settitle Using @value{AS} (@value{TARGET})@end ifclear@setchapternewpage odd@c %**end of header@c @smallbook@c @set SMALL@c WARE! Some of the machine-dependent sections contain tables of machine@c instructions. Except in multi-column format, these tables look silly.@c Unfortunately, Texinfo doesn't have a general-purpose multi-col format, so@c the multi-col format is faked within @example sections.@c @c Again unfortunately, the natural size that fits on a page, for these tables,@c is different depending on whether or not smallbook is turned on.@c This matters, because of order: text flow switches columns at each page@c break.@c @c The format faked in this source works reasonably well for smallbook,@c not well for the default large-page format. This manual expects that if you@c turn on @smallbook, you will also uncomment the "@set SMALL" to enable the@c tables in question. You can turn on one without the other at your@c discretion, of course. @ifinfo@set SMALL@c the insn tables look just as silly in info files regardless of smallbook,@c might as well show 'em anyways.@end ifinfo@ifinfo@formatSTART-INFO-DIR-ENTRY* As: (as). The GNU assembler.END-INFO-DIR-ENTRY@end format@end ifinfo@finalout@syncodeindex ky cp@ifinfoThis file documents the GNU Assembler "@value{AS}".Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".@ignorePermission is granted to process this file through Tex and print theresults, provided the printed document carries copying permissionnotice identical to this one except for the removal of this paragraph(this paragraph not being relevant to the printed manual).@end ignore@end ifinfo@titlepage@title Using @value{AS}@subtitle The @sc{gnu} Assembler@ifclear GENERIC@subtitle for the @value{TARGET} family@end ifclear@sp 1@subtitle Version @value{VERSION}@sp 1@sp 13The Free Software Foundation Inc. thanks The Nice ComputerCompany of Australia for loaning Dean Elsner to write thefirst (Vax) version of @code{as} for Project @sc{gnu}.The proprietors, management and staff of TNCCA thank FSF fordistracting the boss while they got some workdone.@sp 3@author Dean Elsner, Jay Fenlason & friends@page@tex{\parskip=0pt\hfill {\it Using {\tt @value{AS}}}\par\hfill Edited by Cygnus Support\par}%"boxit" macro for figures:%Modified from Knuth's ``boxit'' macro from TeXbook (answer to exercise 21.3)\gdef\boxit#1#2{\vbox{\hrule\hbox{\vrule\kern3pt \vbox{\parindent=0pt\parskip=0pt\hsize=#1\kern3pt\strut\hfil#2\hfil\strut\kern3pt}\kern3pt\vrule}\hrule}}%box with visible outline\gdef\ibox#1#2{\hbox to #1{#2\hfil}\kern8pt}% invisible box@end tex@vskip 0pt plus 1filllCopyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".@end titlepage@ifinfo@node Top@top Using @value{AS}This file is a user guide to the @sc{gnu} assembler @code{@value{AS}} version@value{VERSION}.@ifclear GENERICThis version of the file describes @code{@value{AS}} configured to generatecode for @value{TARGET} architectures.@end ifclearThis document is distributed under the terms of the GNU FreeDocumentation License. A copy of the license is included in thesection entitled "GNU Free Documentation License".@menu* Overview:: Overview* Invoking:: Command-Line Options* Syntax:: Syntax* Sections:: Sections and Relocation* Symbols:: Symbols* Expressions:: Expressions* Pseudo Ops:: Assembler Directives* Machine Dependencies:: Machine Dependent Features* Reporting Bugs:: Reporting Bugs* Acknowledgements:: Who Did What* GNU Free Documentation License:: GNU Free Documentation License* Index:: Index@end menu@end ifinfo@node Overview@chapter Overview@iftexThis manual is a user guide to the @sc{gnu} assembler @code{@value{AS}}.@ifclear GENERICThis version of the manual describes @code{@value{AS}} configured to generatecode for @value{TARGET} architectures.@end ifclear@end iftex@cindex invocation summary@cindex option summary@cindex summary of optionsHere is a brief summary of how to invoke @code{@value{AS}}. For details,@pxref{Invoking,,Comand-Line Options}.@c We don't use deffn and friends for the following because they seem@c to be limited to one line for the header.@smallexample@value{AS} [ -a[cdhlns][=file] ] [ -D ] [ --defsym @var{sym}=@var{val} ] [ -f ] [ --gstabs ] [ --gdwarf2 ] [ --help ] [ -I @var{dir} ] [ -J ] [ -K ] [ -L ] [ --keep-locals ] [ -o @var{objfile} ] [ -R ] [ --statistics ] [ -v ] [ -version ] [ --version ] [ -W ] [ --warn ] [ --fatal-warnings ] [ -w ] [ -x ] [ -Z ] [ --target-help ]@ifset A29K@c am29k has no machine-dependent assembler options@end ifset@ifset ARC [ -marc[5|6|7|8] ] [ -EB | -EL ]@end ifset@ifset ARM [ -m[arm]1 | -m[arm]2 | -m[arm]250 | -m[arm]3 | -m[arm]6 | -m[arm]60 | -m[arm]600 | -m[arm]610 | -m[arm]620 | -m[arm]7[t][[d]m[i]][fe] | -m[arm]70 | -m[arm]700 | -m[arm]710[c] | -m[arm]7100 | -m[arm]7500 | -m[arm]8 | -m[arm]810 | -m[arm]9 | -m[arm]920 | -m[arm]920t | -m[arm]9tdmi | -mstrongarm | -mstrongarm110 | -mstrongarm1100 ] [ -m[arm]v2 | -m[arm]v2a | -m[arm]v3 | -m[arm]v3m | -m[arm]v4 | -m[arm]v4t | -m[arm]v5 | -[arm]v5t | -[arm]v5te ] [ -mthumb | -mall ] [ -mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu ] [ -EB | -EL ] [ -mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant ] [ -mthumb-interwork ] [ -moabi ] [ -k ]@end ifset@ifset D10V [ -O ]@end ifset@ifset D30V [ -O | -n | -N ]@end ifset@ifset H8@c Hitachi family chips have no machine-dependent assembler options@end ifset@ifset HPPA@c HPPA has no machine-dependent assembler options (yet).@end ifset@ifset PJ [ -mb | -me ]@end ifset@ifset SPARC@c The order here is important. See c-sparc.texi. [ -Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite -Av8plus | -Av8plusa | -Av9 | -Av9a ] [ -xarch=v8plus | -xarch=v8plusa ] [ -bump ] [ -32 | -64 ]@end ifset@ifset TIC54X [ -mcpu=54[123589] | -mcpu=54[56]lp ] [ -mfar-mode | -mf ] [ -merrors-to-file <filename> | -me <filename> ]@end ifset@ifset Z8000@c Z8000 has no machine-dependent assembler options@end ifset@ifset I960@c see md_parse_option in tc-i960.c [ -ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC ] [ -b ] [ -no-relax ]@end ifset@ifset M32R [ --m32rx | --[no-]warn-explicit-parallel-conflicts | --W[n]p ]@end ifset@ifset M680X0 [ -l ] [ -m68000 | -m68010 | -m68020 | ... ]@end ifset@ifset MCORE [ -jsri2bsr ] [ -sifilter ] [ -relax ] [ -mcpu=[210|340] ]@end ifset@ifset M68HC11 [ -m68hc11 | -m68hc12 ] [ --force-long-branchs ] [ --short-branchs ] [ --strict-direct-mode ] [ --print-insn-syntax ] [ --print-opcodes ] [ --generate-example ]@end ifset@ifset MIPS [ -nocpp ] [ -EL ] [ -EB ] [ -G @var{num} ] [ -mcpu=@var{CPU} ] [ -mips1 ] [ -mips2 ] [ -mips3 ] [ -mips4 ] [ -mips5 ] [ -mips32 ] [ -mips64 ] [ -m4650 ] [ -no-m4650 ] [ --trap ] [ --break ] [ --emulation=@var{name} ]@end ifset [ -- | @var{files} @dots{} ]@end smallexample@table @code@item -a[cdhlmns]Turn on listings, in any of a variety of ways:@table @code@item -acomit false conditionals@item -adomit debugging directives@item -ahinclude high-level source@item -alinclude assembly@item -aminclude macro expansions@item -anomit forms processing@item -asinclude symbols@item =fileset the name of the listing file@end tableYou may combine these options; for example, use @samp{-aln} for assemblylisting without forms processing. The @samp{=file} option, if used, must bethe last one. By itself, @samp{-a} defaults to @samp{-ahls}.@item -DIgnored. This option is accepted for script compatibility with calls toother assemblers.@item --defsym @var{sym}=@var{value}Define the symbol @var{sym} to be @var{value} before assembling the input file.@var{value} must be an integer constant. As in C, a leading @samp{0x}indicates a hexadecimal value, and a leading @samp{0} indicates an octal value.@item -f``fast''---skip whitespace and comment preprocessing (assume source iscompiler output).@item --gstabsGenerate stabs debugging information for each assembler line. Thismay help debugging assembler code, if the debugger can handle it.@item --gdwarf2Generate DWARF2 debugging information for each assembler line. Thismay help debugging assembler code, if the debugger can handle it. Note - thisoption is only supported by some targets, not all of them.@item --helpPrint a summary of the command line options and exit.@item --target-helpPrint a summary of all target specific options and exit.@item -I @var{dir}Add directory @var{dir} to the search list for @code{.include} directives.@item -JDon't warn about signed overflow.@item -K@ifclear DIFF-TBL-KLUGEThis option is accepted but has no effect on the @value{TARGET} family.@end ifclear@ifset DIFF-TBL-KLUGEIssue warnings when difference tables altered for long displacements.@end ifset@item -L@itemx --keep-localsKeep (in the symbol table) local symbols. On traditional a.out systemsthese start with @samp{L}, but different systems have different locallabel prefixes.@item -o @var{objfile}Name the object-file output from @code{@value{AS}} @var{objfile}.@item -RFold the data section into the text section.@item --statisticsPrint the maximum space (in bytes) and total time (in seconds) used byassembly.@item --strip-local-absoluteRemove local absolute symbols from the outgoing symbol table.@item -v@itemx -versionPrint the @code{as} version.@item --versionPrint the @code{as} version and exit.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -