\chapentry{Overview}{1}{1}
\secentry{Structure of this Manual}{1}{1}{6}
\secentry{The GNU Assembler}{1}{2}{6}
\secentry{Object File Formats}{1}{3}{7}
\secentry{Command Line}{1}{4}{7}
\secentry{Input Files}{1}{5}{7}
\secentry{Output (Object) File}{1}{6}{8}
\secentry{Error and Warning Messages}{1}{7}{8}
\chapentry{Command-Line Options}{2}{9}
\secentry{Enable Listings: \code {-a[cdhlns]}}{2}{1}{9}
\secentry{\code {-D}}{2}{2}{9}
\secentry{Work Faster: \code {-f}}{2}{3}{9}
\secentry{\code {.include} search path: \code {-I} \var {path}}{2}{4}{10}
\secentry{Difference Tables: \code {-K}}{2}{5}{10}
\secentry{Include Local Labels: \code {-L}}{2}{6}{10}
\secentry{Assemble in MRI Compatibility Mode: \code {-M}}{2}{7}{10}
\secentry{Dependency tracking: \code {--MD}}{2}{8}{12}
\secentry{Name the Object File: \code {-o}}{2}{9}{12}
\secentry{Join Data and Text Sections: \code {-R}}{2}{10}{12}
\secentry{Display Assembly Statistics: \code {--statistics}}{2}{11}{13}
\secentry{Compatible output: \code {--traditional-format}}{2}{12}{13}
\secentry{Announce Version: \code {-v}}{2}{13}{13}
\secentry{Control Warnings: \code {-W}, \code {--warn}, \code {--no-warn}, \code {--fatal-warnings}}{2}{14}{13}
\secentry{Generate Object File in Spite of Errors: \code {-Z}}{2}{15}{13}
\chapentry{Syntax}{3}{15}
\secentry{Preprocessing}{3}{1}{15}
\secentry{Whitespace}{3}{2}{15}
\secentry{Comments}{3}{3}{15}
\secentry{Symbols}{3}{4}{16}
\secentry{Statements}{3}{5}{16}
\secentry{Constants}{3}{6}{17}
\subsecentry{Character Constants}{3}{6}{1}{17}
\subsubsecentry{Strings}{3}{6}{1}{1}{17}
\subsubsecentry{Characters}{3}{6}{1}{2}{18}
\subsecentry{Number Constants}{3}{6}{2}{18}
\subsubsecentry{Integers}{3}{6}{2}{1}{19}
\subsubsecentry{Bignums}{3}{6}{2}{2}{19}
\subsubsecentry{Flonums}{3}{6}{2}{3}{19}
\chapentry{Sections and Relocation}{4}{21}
\secentry{Background}{4}{1}{21}
\secentry{Linker Sections}{4}{2}{22}
\secentry{Assembler Internal Sections}{4}{3}{23}
\secentry{Sub-Sections}{4}{4}{23}
\secentry{bss Section}{4}{5}{24}
\chapentry{Symbols}{5}{27}
\secentry{Labels}{5}{1}{27}
\secentry{Giving Symbols Other Values}{5}{2}{27}
\secentry{Symbol Names}{5}{3}{27}
\secentry{The Special Dot Symbol}{5}{4}{28}
\secentry{Symbol Attributes}{5}{5}{28}
\subsecentry{Value}{5}{5}{1}{28}
\subsecentry{Type}{5}{5}{2}{29}
\subsecentry{Symbol Attributes: \code {a.out}}{5}{5}{3}{29}
\subsubsecentry{Descriptor}{5}{5}{3}{1}{29}
\subsubsecentry{Other}{5}{5}{3}{2}{29}
\subsecentry{Symbol Attributes for COFF}{5}{5}{4}{29}
\subsubsecentry{Primary Attributes}{5}{5}{4}{1}{29}
\subsubsecentry{Auxiliary Attributes}{5}{5}{4}{2}{29}
\subsecentry{Symbol Attributes for SOM}{5}{5}{5}{29}
\chapentry{Expressions}{6}{31}
\secentry{Empty Expressions}{6}{1}{31}
\secentry{Integer Expressions}{6}{2}{31}
\subsecentry{Arguments}{6}{2}{1}{31}
\subsecentry{Operators}{6}{2}{2}{31}
\subsecentry{Prefix Operator}{6}{2}{3}{32}
\subsecentry{Infix Operators}{6}{2}{4}{32}
\chapentry{Assembler Directives}{7}{33}
\secentry{\code {.abort}}{7}{1}{33}
\secentry{\code {.ABORT}}{7}{2}{33}
\secentry{\code {.align \var {abs-expr}, \var {abs-expr}, \var {abs-expr}}}{7}{3}{33}
\secentry{\code {.ascii "\var {string}"}\dots {}}{7}{4}{34}
\secentry{\code {.asciz "\var {string}"}\dots {}}{7}{5}{34}
\secentry{\code {.balign[wl] \var {abs-expr}, \var {abs-expr}, \var {abs-expr}}}{7}{6}{34}
\secentry{\code {.byte \var {expressions}}}{7}{7}{34}
\secentry{\code {.comm \var {symbol} , \var {length} }}{7}{8}{35}
\secentry{\code {.data \var {subsection}}}{7}{9}{35}
\secentry{\code {.def \var {name}}}{7}{10}{35}
\secentry{\code {.desc \var {symbol}, \var {abs-expression}}}{7}{11}{35}
\secentry{\code {.dim}}{7}{12}{35}
\secentry{\code {.double \var {flonums}}}{7}{13}{36}
\secentry{\code {.eject}}{7}{14}{36}
\secentry{\code {.else}}{7}{15}{36}
\secentry{\code {.elseif}}{7}{16}{36}
\secentry{\code {.end}}{7}{17}{36}
\secentry{\code {.endef}}{7}{18}{36}
\secentry{\code {.endfunc}}{7}{19}{36}
\secentry{\code {.endif}}{7}{20}{36}
\secentry{\code {.equ \var {symbol}, \var {expression}}}{7}{21}{36}
\secentry{\code {.equiv \var {symbol}, \var {expression}}}{7}{22}{37}
\secentry{\code {.err}}{7}{23}{37}
\secentry{\code {.exitm}}{7}{24}{37}
\secentry{\code {.extern}}{7}{25}{37}
\secentry{\code {.fail \var {expression}}}{7}{26}{37}
\secentry{\code {.file \var {string}}}{7}{27}{37}
\secentry{\code {.fill \var {repeat} , \var {size} , \var {value}}}{7}{28}{38}
\secentry{\code {.float \var {flonums}}}{7}{29}{38}
\secentry{\code {.func \var {name}[,\var {label}]}}{7}{30}{38}
\secentry{\code {.global \var {symbol}}, \code {.globl \var {symbol}}}{7}{31}{38}
\secentry{\code {.hword \var {expressions}}}{7}{32}{38}
\secentry{\code {.ident}}{7}{33}{39}
\secentry{\code {.if \var {absolute expression}}}{7}{34}{39}
\secentry{\code {.include "\var {file}"}}{7}{35}{40}
\secentry{\code {.int \var {expressions}}}{7}{36}{40}
\secentry{\code {.irp \var {symbol},\var {values}}\dots {}}{7}{37}{40}
\secentry{\code {.irpc \var {symbol},\var {values}}\dots {}}{7}{38}{41}
\secentry{\code {.lcomm \var {symbol} , \var {length}}}{7}{39}{41}
\secentry{\code {.lflags}}{7}{40}{41}
\secentry{\code {.line \var {line-number}}}{7}{41}{41}
\secentry{\code {.linkonce [\var {type}]}}{7}{42}{42}
\secentry{\code {.ln \var {line-number}}}{7}{43}{42}
\secentry{\code {.mri \var {val}}}{7}{44}{42}
\secentry{\code {.list}}{7}{45}{42}
\secentry{\code {.long \var {expressions}}}{7}{46}{42}
\secentry{\code {.macro}}{7}{47}{43}
\secentry{\code {.nolist}}{7}{48}{44}
\secentry{\code {.octa \var {bignums}}}{7}{49}{44}
\secentry{\code {.org \var {new-lc} , \var {fill}}}{7}{50}{44}
\secentry{\code {.p2align[wl] \var {abs-expr}, \var {abs-expr}, \var {abs-expr}}}{7}{51}{44}
\secentry{\code {.print \var {string}}}{7}{52}{45}
\secentry{\code {.psize \var {lines} , \var {columns}}}{7}{53}{45}
\secentry{\code {.purgem \var {name}}}{7}{54}{45}
\secentry{\code {.quad \var {bignums}}}{7}{55}{45}
\secentry{\code {.rept \var {count}}}{7}{56}{46}
\secentry{\code {.sbttl "\var {subheading}"}}{7}{57}{46}
\secentry{\code {.scl \var {class}}}{7}{58}{46}
\secentry{\code {.section \var {name}}}{7}{59}{46}
\secentry{\code {.set \var {symbol}, \var {expression}}}{7}{60}{47}
\secentry{\code {.short \var {expressions}}}{7}{61}{48}
\secentry{\code {.single \var {flonums}}}{7}{62}{48}
\secentry{\code {.size}}{7}{63}{48}
\secentry{\code {.sleb128 \var {expressions}}}{7}{64}{48}
\secentry{\code {.skip \var {size} , \var {fill}}}{7}{65}{48}
\secentry{\code {.space \var {size} , \var {fill}}}{7}{66}{48}
\secentry{\code {.stabd, .stabn, .stabs}}{7}{67}{49}
\secentry{\code {.string} "\var {str}"}{7}{68}{49}
\secentry{\code {.struct \var {expression}}}{7}{69}{50}
\secentry{\code {.symver}}{7}{70}{50}
\secentry{\code {.tag \var {structname}}}{7}{71}{50}
\secentry{\code {.text \var {subsection}}}{7}{72}{51}
\secentry{\code {.title "\var {heading}"}}{7}{73}{51}
\secentry{\code {.type \var {int}}}{7}{74}{51}
\secentry{\code {.val \var {addr}}}{7}{75}{51}
\secentry{\code {.uleb128 \var {expressions}}}{7}{76}{51}
\secentry{\code {.internal}, \code {.hidden}, \code {.protected}}{7}{77}{51}
\secentry{\code {.word \var {expressions}}}{7}{78}{52}
\secentry{Deprecated Directives}{7}{79}{52}
\chapentry{Machine Dependent Features}{8}{53}
\secentry{ARC Dependent Features}{8}{1}{54}
\subsecentry{Options}{8}{1}{1}{54}
\subsecentry{Floating Point}{8}{1}{2}{54}
\subsecentry{ARC Machine Directives}{8}{1}{3}{54}
\secentry{AMD 29K Dependent Features}{8}{2}{55}
\subsecentry{Options}{8}{2}{1}{55}
\subsecentry{Syntax}{8}{2}{2}{55}
\subsubsecentry{Macros}{8}{2}{2}{1}{55}
\subsubsecentry{Special Characters}{8}{2}{2}{2}{55}
\subsubsecentry{Register Names}{8}{2}{2}{3}{55}
\subsecentry{Floating Point}{8}{2}{3}{55}
\subsecentry{AMD 29K Machine Directives}{8}{2}{4}{56}
\subsecentry{Opcodes}{8}{2}{5}{56}
\secentry{ARM Dependent Features}{8}{3}{57}
\subsecentry{Options}{8}{3}{1}{57}
\subsecentry{Syntax}{8}{3}{2}{58}
\subsubsecentry{Special Characters}{8}{3}{2}{1}{58}
\subsubsecentry{Register Names}{8}{3}{2}{2}{58}
\subsecentry{Floating Point}{8}{3}{3}{58}
\subsecentry{ARM Machine Directives}{8}{3}{4}{58}
\subsecentry{Opcodes}{8}{3}{5}{59}
\secentry{D10V Dependent Features}{8}{4}{61}
\subsecentry{D10V Options}{8}{4}{1}{61}
\subsecentry{Syntax}{8}{4}{2}{61}
\subsubsecentry{Size Modifiers}{8}{4}{2}{1}{61}
\subsubsecentry{Sub-Instructions}{8}{4}{2}{2}{61}
\subsubsecentry{Special Characters}{8}{4}{2}{3}{62}
\subsubsecentry{Register Names}{8}{4}{2}{4}{62}
\subsubsecentry{Addressing Modes}{8}{4}{2}{5}{63}
\subsubsecentry{@WORD Modifier}{8}{4}{2}{6}{64}
\subsecentry{Floating Point}{8}{4}{3}{64}
\subsecentry{Opcodes}{8}{4}{4}{64}
\secentry{D30V Dependent Features}{8}{5}{65}
\subsecentry{D30V Options}{8}{5}{1}{65}
\subsecentry{Syntax}{8}{5}{2}{65}
\subsubsecentry{Size Modifiers}{8}{5}{2}{1}{65}
\subsubsecentry{Sub-Instructions}{8}{5}{2}{2}{65}
\subsubsecentry{Special Characters}{8}{5}{2}{3}{66}
\subsubsecentry{Guarded Execution}{8}{5}{2}{4}{67}
\subsubsecentry{Register Names}{8}{5}{2}{5}{67}
\subsubsecentry{Addressing Modes}{8}{5}{2}{6}{68}
\subsecentry{Floating Point}{8}{5}{3}{68}
\subsecentry{Opcodes}{8}{5}{4}{68}
\secentry{H8/300 Dependent Features}{8}{6}{69}
\subsecentry{Options}{8}{6}{1}{69}
\subsecentry{Syntax}{8}{6}{2}{69}
\subsubsecentry{Special Characters}{8}{6}{2}{1}{69}
\subsubsecentry{Register Names}{8}{6}{2}{2}{69}
\subsubsecentry{Addressing Modes}{8}{6}{2}{3}{69}
\subsecentry{Floating Point}{8}{6}{3}{70}
\subsecentry{H8/300 Machine Directives}{8}{6}{4}{71}
\subsecentry{Opcodes}{8}{6}{5}{71}
\secentry{H8/500 Dependent Features}{8}{7}{72}
\subsecentry{Options}{8}{7}{1}{72}
\subsecentry{Syntax}{8}{7}{2}{72}
\subsubsecentry{Special Characters}{8}{7}{2}{1}{72}
\subsubsecentry{Register Names}{8}{7}{2}{2}{72}
\subsubsecentry{Addressing Modes}{8}{7}{2}{3}{72}
\subsecentry{Floating Point}{8}{7}{3}{73}
\subsecentry{H8/500 Machine Directives}{8}{7}{4}{73}
\subsecentry{Opcodes}{8}{7}{5}{73}
\secentry{HPPA Dependent Features}{8}{8}{74}
\subsecentry{Notes}{8}{8}{1}{74}
\subsecentry{Options}{8}{8}{2}{74}
\subsecentry{Syntax}{8}{8}{3}{74}
\subsecentry{Floating Point}{8}{8}{4}{74}
\subsecentry{HPPA Assembler Directives}{8}{8}{5}{75}
\subsecentry{Opcodes}{8}{8}{6}{77}
\secentry{ESA/390 Dependent Features}{8}{9}{78}
\subsecentry{Notes}{8}{9}{1}{78}
\subsecentry{Options}{8}{9}{2}{78}
\subsecentry{Syntax}{8}{9}{3}{78}
\subsecentry{Floating Point}{8}{9}{4}{79}
\subsecentry{ESA/390 Assembler Directives}{8}{9}{5}{79}
\subsecentry{Opcodes}{8}{9}{6}{80}
\secentry{80386 Dependent Features}{8}{10}{81}
\subsecentry{Options}{8}{10}{1}{81}
\subsecentry{AT&T Syntax versus Intel Syntax}{8}{10}{2}{81}
\subsecentry{Instruction Naming}{8}{10}{3}{81}
\subsecentry{Register Naming}{8}{10}{4}{82}
\subsecentry{Instruction Prefixes}{8}{10}{5}{82}
\subsecentry{Memory References}{8}{10}{6}{83}
\subsecentry{Handling of Jump Instructions}{8}{10}{7}{84}
\subsecentry{Floating Point}{8}{10}{8}{84}
\subsecentry{Intel's MMX and AMD's 3DNow! SIMD Operations}{8}{10}{9}{85}
\subsecentry{Writing 16-bit Code}{8}{10}{10}{85}
\subsecentry{AT&T Syntax bugs}{8}{10}{11}{86}
\subsecentry{Notes}{8}{10}{12}{86}
\secentry{Intel 80960 Dependent Features}{8}{11}{87}
\subsecentry{i960 Command-line Options}{8}{11}{1}{87}
\subsecentry{Floating Point}{8}{11}{2}{88}
\subsecentry{i960 Machine Directives}{8}{11}{3}{88}
\subsecentry{i960 Opcodes}{8}{11}{4}{89}
\subsubsecentry{\code {callj}}{8}{11}{4}{1}{89}
\subsubsecentry{Compare-and-Branch}{8}{11}{4}{2}{89}
\secentry{M680x0 Dependent Features}{8}{12}{91}
\subsecentry{M680x0 Options}{8}{12}{1}{91}
\subsecentry{Syntax}{8}{12}{2}{93}
\subsecentry{Motorola Syntax}{8}{12}{3}{94}
\subsecentry{Floating Point}{8}{12}{4}{95}
\subsecentry{680x0 Machine Directives}{8}{12}{5}{95}
\subsecentry{Opcodes}{8}{12}{6}{95}
\subsubsecentry{Branch Improvement}{8}{12}{6}{1}{95}
\subsubsecentry{Special Characters}{8}{12}{6}{2}{97}
\secentry{MIPS Dependent Features}{8}{13}{98}
\subsecentry{Assembler options}{8}{13}{1}{98}
\subsecentry{MIPS ECOFF object code}{8}{13}{2}{99}
\subsecentry{Directives for debugging information}{8}{13}{3}{100}
\subsecentry{Directives to override the ISA level}{8}{13}{4}{100}
\subsecentry{Directives for extending MIPS 16 bit instructions}{8}{13}{5}{100}
\subsecentry{Directive to mark data as an instruction}{8}{13}{6}{100}
\subsecentry{Directives to save and restore options}{8}{13}{7}{101}
\secentry{picoJava Dependent Features}{8}{14}{102}
\subsecentry{Options}{8}{14}{1}{102}
\secentry{Hitachi SH Dependent Features}{8}{15}{103}
\subsecentry{Options}{8}{15}{1}{103}
\subsecentry{Syntax}{8}{15}{2}{103}
\subsubsecentry{Special Characters}{8}{15}{2}{1}{103}
\subsubsecentry{Register Names}{8}{15}{2}{2}{103}
\subsubsecentry{Addressing Modes}{8}{15}{2}{3}{103}
\subsecentry{Floating Point}{8}{15}{3}{104}
\subsecentry{SH Machine Directives}{8}{15}{4}{104}
\subsecentry{Opcodes}{8}{15}{5}{104}
\secentry{SPARC Dependent Features}{8}{16}{105}
\subsecentry{Options}{8}{16}{1}{105}
\subsecentry{Enforcing aligned data}{8}{16}{2}{105}
\subsecentry{Floating Point}{8}{16}{3}{106}
\subsecentry{Sparc Machine Directives}{8}{16}{4}{106}
\secentry{Z8000 Dependent Features}{8}{17}{107}
\subsecentry{Options}{8}{17}{1}{107}
\subsecentry{Syntax}{8}{17}{2}{107}
\subsubsecentry{Special Characters}{8}{17}{2}{1}{107}
\subsubsecentry{Register Names}{8}{17}{2}{2}{107}
\subsubsecentry{Addressing Modes}{8}{17}{2}{3}{107}
\subsecentry{Assembler Directives for the Z8000}{8}{17}{3}{108}
\subsecentry{Opcodes}{8}{17}{4}{108}
\secentry{VAX Dependent Features}{8}{18}{109}
\subsecentry{VAX Command-Line Options}{8}{18}{1}{109}
\subsecentry{VAX Floating Point}{8}{18}{2}{110}
\subsecentry{Vax Machine Directives}{8}{18}{3}{110}
\subsecentry{VAX Opcodes}{8}{18}{4}{110}
\subsecentry{VAX Branch Improvement}{8}{18}{5}{111}
\subsecentry{VAX Operands}{8}{18}{6}{112}
\subsecentry{Not Supported on VAX}{8}{18}{7}{113}
\secentry{v850 Dependent Features}{8}{19}{113}
\subsecentry{Options}{8}{19}{1}{113}
\subsecentry{Syntax}{8}{19}{2}{113}
\subsubsecentry{Special Characters}{8}{19}{2}{1}{113}
\subsubsecentry{Register Names}{8}{19}{2}{2}{114}
\subsecentry{Floating Point}{8}{19}{3}{116}
\subsecentry{V850 Machine Directives}{8}{19}{4}{116}
\subsecentry{Opcodes}{8}{19}{5}{116}
\chapentry{Reporting Bugs}{9}{119}
\secentry{Have you found a bug?}{9}{1}{119}
\secentry{How to report bugs}{9}{2}{119}
\chapentry{Acknowledgements}{10}{123}
\unnumbchapentry{Index}{125}
