Table of Contents
1. Overview
1.1 Structure of this Manual
1.2 The GNU Assembler
1.3 Object File Formats
1.4 Command Line
1.5 Input Files
1.6 Output (Object) File
1.7 Error and Warning Messages
2. Command-Line Options
2.1 Enable Listings: `-a[cdhlns]'
2.2 `-D'
2.3 Work Faster: `-f'
2.4 .include
search path: `-I' path
2.5 Difference Tables: `-K'
2.6 Include Local Labels: `-L'
2.7 Configuring listing output: `--listing'
2.8 Assemble in MRI Compatibility Mode: `-M'
2.9 Dependency tracking: `--MD'
2.10 Name the Object File: `-o'
2.11 Join Data and Text Sections: `-R'
2.12 Display Assembly Statistics: `--statistics'
2.13 Compatible output: `--traditional-format'
2.14 Announce Version: `-v'
2.15 Control Warnings: `-W', `--warn', `--no-warn', `--fatal-warnings'
2.16 Generate Object File in Spite of Errors: `-Z'
3. Syntax
3.1 Preprocessing
3.2 Whitespace
3.3 Comments
3.4 Symbols
3.5 Statements
3.6 Constants
3.6.1 Character Constants
3.6.1.1 Strings
3.6.1.2 Characters
3.6.2 Number Constants
3.6.2.1 Integers
3.6.2.2 Bignums
3.6.2.3 Flonums
4. Sections and Relocation
4.1 Background
4.2 Linker Sections
4.3 Assembler Internal Sections
4.4 Sub-Sections
4.5 bss Section
5. Symbols
5.1 Labels
5.2 Giving Symbols Other Values
5.3 Symbol Names
5.4 The Special Dot Symbol
5.5 Symbol Attributes
5.5.1 Value
5.5.2 Type
5.5.3 Symbol Attributes: a.out
5.5.3.1 Descriptor
5.5.3.2 Other
5.5.4 Symbol Attributes for COFF
5.5.4.1 Primary Attributes
5.5.4.2 Auxiliary Attributes
5.5.5 Symbol Attributes for SOM
6. Expressions
6.1 Empty Expressions
6.2 Integer Expressions
6.2.1 Arguments
6.2.2 Operators
6.2.3 Prefix Operator
6.2.4 Infix Operators
7. Assembler Directives
7.1 .abort
7.2 .ABORT
7.3 .align abs-expr, abs-expr, abs-expr
7.4 .ascii "string"
...
7.5 .asciz "string"
...
7.6 .balign[wl] abs-expr, abs-expr, abs-expr
7.7 .byte expressions
7.8 .comm symbol , length
7.9 .data subsection
7.10 .def name
7.11 .desc symbol, abs-expression
7.12 .dim
7.13 .double flonums
7.14 .eject
7.15 .else
7.16 .elseif
7.17 .end
7.18 .endef
7.19 .endfunc
7.20 .endif
7.21 .equ symbol, expression
7.22 .equiv symbol, expression
7.23 .err
7.24 .exitm
7.25 .extern
7.26 .fail expression
7.27 .file string
7.28 .fill repeat , size , value
7.29 .float flonums
7.30 .func name[,label]
7.31 .global symbol
, .globl symbol
7.32 .hidden names
7.33 .hword expressions
7.34 .ident
7.35 .if absolute expression
7.36 .incbin "file"[,skip[,count]]
7.37 .include "file"
7.38 .int expressions
7.39 .internal names
7.40 .irp symbol,values
...
7.41 .irpc symbol,values
...
7.42 .lcomm symbol , length
7.43 .lflags
7.44 .line line-number
7.45 .linkonce [type]
7.46 .ln line-number
7.47 .mri val
7.48 .list
7.49 .long expressions
7.50 .macro
7.51 .nolist
7.52 .octa bignums
7.53 .org new-lc , fill
7.54 .p2align[wl] abs-expr, abs-expr, abs-expr
7.55 .previous
7.56 .popsection
7.57 .print string
7.58 .protected names
7.59 .psize lines , columns
7.60 .purgem name
7.61 .pushsection name , subsection
7.62 .quad bignums
7.63 .rept count
7.64 .sbttl "subheading"
7.65 .scl class
7.66 .section name
(COFF version)
7.67 .section name
(ELF version)
7.68 .set symbol, expression
7.69 .short expressions
7.70 .single flonums
7.71 .size
(COFF version)
7.72 .size name , expression
(ELF version)
7.73 .sleb128 expressions
7.74 .skip size , fill
7.75 .space size , fill
7.76 .stabd, .stabn, .stabs
7.77 .string
"str"
7.78 .struct expression
7.79 .subsection name
7.80 .symver
7.81 .tag structname
7.82 .text subsection
7.83 .title "heading"
7.84 .type int
(COFF version)
7.85 .type name , type description
(ELF version)
7.86 .uleb128 expressions
7.87 .val addr
7.88 .version "string"
7.89 .vtable_entry table, offset
7.90 .vtable_inherit child, parent
7.91 .weak names
7.92 .word expressions
7.93 Deprecated Directives
8. Machine Dependent Features
8.1 AMD 29K Dependent Features
8.1.1 Options
8.1.2 Syntax
8.1.2.1 Macros
8.1.2.2 Special Characters
8.1.2.3 Register Names
8.1.3 Floating Point
8.1.4 AMD 29K Machine Directives
8.1.5 Opcodes
8.2 Alpha Dependent Features
8.2.1 Notes
8.2.2 Options
8.2.3 Syntax
8.2.3.1 Special Characters
8.2.3.2 Register Names
8.2.3.3 Relocations
8.2.4 Floating Point
8.2.5 Alpha Assembler Directives
8.2.6 Opcodes
8.3 ARC Dependent Features
8.3.1 Options
8.3.2 Syntax
8.3.2.1 Special Characters
8.3.2.2 Register Names
8.3.3 Floating Point
8.3.4 ARC Machine Directives
8.3.5 Opcodes
8.4 ARM Dependent Features
8.4.1 Options
8.4.2 Syntax
8.4.2.1 Special Characters
8.4.2.2 Register Names
8.4.3 Floating Point
8.4.4 ARM Machine Directives
8.4.5 Opcodes
8.5 CRIS Dependent Features
8.5.1 Command-line Options
8.5.2 Instruction expansion
8.5.3 Syntax
8.5.3.1 Special Characters
8.5.3.2 Symbols in position-independent code
8.5.3.3 Register names
8.5.3.4 Assembler Directives
8.6 D10V Dependent Features
8.6.1 D10V Options
8.6.2 Syntax
8.6.2.1 Size Modifiers
8.6.2.2 Sub-Instructions
8.6.2.3 Special Characters
8.6.2.4 Register Names
8.6.2.5 Addressing Modes
8.6.2.6 @WORD Modifier
8.6.3 Floating Point
8.6.4 Opcodes
8.7 D30V Dependent Features
8.7.1 D30V Options
8.7.2 Syntax
8.7.2.1 Size Modifiers
8.7.2.2 Sub-Instructions
8.7.2.3 Special Characters
8.7.2.4 Guarded Execution
8.7.2.5 Register Names
8.7.2.6 Addressing Modes
8.7.3 Floating Point
8.7.4 Opcodes
8.8 H8/300 Dependent Features
8.8.1 Options
8.8.2 Syntax
8.8.2.1 Special Characters
8.8.2.2 Register Names
8.8.2.3 Addressing Modes
8.8.3 Floating Point
8.8.4 H8/300 Machine Directives
8.8.5 Opcodes
8.9 H8/500 Dependent Features
8.9.1 Options
8.9.2 Syntax
8.9.2.1 Special Characters
8.9.2.2 Register Names
8.9.2.3 Addressing Modes
8.9.3 Floating Point
8.9.4 H8/500 Machine Directives
8.9.5 Opcodes
8.10 HPPA Dependent Features
8.10.1 Notes
8.10.2 Options
8.10.3 Syntax
8.10.4 Floating Point
8.10.5 HPPA Assembler Directives
8.10.6 Opcodes
8.11 ESA/390 Dependent Features
8.11.1 Notes
8.11.2 Options
8.11.3 Syntax
8.11.4 Floating Point
8.11.5 ESA/390 Assembler Directives
8.11.6 Opcodes
8.12 80386 Dependent Features
8.12.1 Options
8.12.2 AT&T Syntax versus Intel Syntax
8.12.3 Instruction Naming
8.12.4 Register Naming
8.12.5 Instruction Prefixes
8.12.6 Memory References
8.12.7 Handling of Jump Instructions
8.12.8 Floating Point
8.12.9 Intel's MMX and AMD's 3DNow! SIMD Operations
8.12.10 Writing 16-bit Code
8.12.11 AT&T Syntax bugs
8.12.12 Specifying CPU Architecture
8.12.13 Notes
8.13 Intel i860 Dependent Features
8.13.1 i860 Notes
8.13.2 i860 Command-line Options
8.13.2.1 SVR4 compatibility options
8.13.2.2 Other options
8.13.3 i860 Machine Directives
8.13.4 i860 Opcodes
8.13.4.1 Other instruction support (pseudo-instructions)
8.14 Intel 80960 Dependent Features
8.14.1 i960 Command-line Options
8.14.2 Floating Point
8.14.3 i960 Machine Directives
8.14.4 i960 Opcodes
8.14.4.1 callj
8.14.4.2 Compare-and-Branch
8.15 M32R Dependent Features
8.15.1 M32R Options
8.15.2 M32R Warnings
8.16 M680x0 Dependent Features
8.16.1 M680x0 Options
8.16.2 Syntax
8.16.3 Motorola Syntax
8.16.4 Floating Point
8.16.5 680x0 Machine Directives
8.16.6 Opcodes
8.16.6.1 Branch Improvement
8.16.6.2 Special Characters
8.17 M68HC11 and M68HC12 Dependent Features
8.17.1 M68HC11 and M68HC12 Options
8.17.2 Syntax
8.17.3 Floating Point
8.17.4 Opcodes
8.17.4.1 Branch Improvement
8.18 Motorola M88K Dependent Features
8.18.1 M88K Machine Directives
8.19 MIPS Dependent Features
8.19.1 Assembler options
8.19.2 MIPS ECOFF object code
8.19.3 Directives for debugging information
8.19.4 Directives to override the ISA level
8.19.5 Directives for extending MIPS 16 bit instructions
8.19.6 Directive to mark data as an instruction
8.19.7 Directives to save and restore options
8.19.8 Directives to control generation of MIPS ASE instructions
8.20 MMIX Dependent Features
8.20.1 Command-line Options
8.20.2 Instruction expansion
8.20.3 Syntax
8.20.3.1 Special Characters
8.20.3.2 Symbols
8.20.3.3 Register names
8.20.3.4 Assembler Directives
8.20.4 Differences to mmixal
8.21 PDP-11 Dependent Features
8.21.1 Options
8.21.1.1 Code Generation Options
8.21.1.2 Instruction Set Extention Options
8.21.1.3 CPU Model Options
8.21.1.4 Machine Model Options
8.21.2 Assembler Directives
8.21.3 PDP-11 Assembly Language Syntax
8.21.4 Instruction Naming
8.21.5 Synthetic Instructions
8.22 picoJava Dependent Features
8.22.1 Options
8.23 PowerPC Dependent Features
8.23.1 Options
8.24 Hitachi SH Dependent Features
8.24.1 Options
8.24.2 Syntax
8.24.2.1 Special Characters
8.24.2.2 Register Names
8.24.2.3 Addressing Modes
8.24.3 Floating Point
8.24.4 SH Machine Directives
8.24.5 Opcodes
8.25 Hitachi SH64 Dependent Features
8.25.1 Options
8.25.2 Syntax
8.25.2.1 Special Characters
8.25.2.2 Register Names
8.25.2.3 Addressing Modes
8.25.3 SH64 Machine Directives
8.25.4 Opcodes
8.26 SPARC Dependent Features
8.26.1 Options
8.26.2 Enforcing aligned data
8.26.3 Floating Point
8.26.4 Sparc Machine Directives
8.27 Z8000 Dependent Features
8.27.1 Options
8.27.2 Syntax
8.27.2.1 Special Characters
8.27.2.2 Register Names
8.27.2.3 Addressing Modes
8.27.3 Assembler Directives for the Z8000
8.27.4 Opcodes
8.28 VAX Dependent Features
8.28.1 VAX Command-Line Options
8.28.2 VAX Floating Point
8.28.3 Vax Machine Directives
8.28.4 VAX Opcodes
8.28.5 VAX Branch Improvement
8.28.6 VAX Operands
8.28.7 Not Supported on VAX
8.29 v850 Dependent Features
8.29.1 Options
8.29.2 Syntax
8.29.2.1 Special Characters
8.29.2.2 Register Names
8.29.3 Floating Point
8.29.4 V850 Machine Directives
8.29.5 Opcodes
9. Reporting Bugs
9.1 Have you found a bug?
9.2 How to report bugs
10. Acknowledgements
11. GNU Free Documentation License
Index
This document was generated
by Stephen Zander on April, 18 2003
using texi2html