Gnu Assembler

  • View
    283

  • Download
    3

Embed Size (px)

Text of Gnu Assembler

Using asThe gnu Assembler Version 2.14

The Free Software Foundation Inc. thanks The Nice Computer Company of Australia for loaning Dean Elsner to write the rst (Vax) version of as for Project gnu. The proprietors, management and sta of TNCCA thank FSF for distracting the boss while they got some work done.

Dean Elsner, Jay Fenlason & friends

Using as Edited by Cygnus Support

Copyright c 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 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.

i

Table of Contents1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 1.2 1.3 1.4 1.5 1.6 1.7 Structure of this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The GNU Assembler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Object File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output (Object) File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error and Warning Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 12 13 13 14

2

Command-Line Options . . . . . . . . . . . . . . . . . . . 15Enable Listings: -a[cdhlns]. . . . . . . . . . . . . . . . . . . . . . . . . . . -D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Work Faster: -f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .include Search Path: -I path . . . . . . . . . . . . . . . . . . . . . . . . Dierence Tables: -K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Include Local Labels: -L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conguring listing output: --listing . . . . . . . . . . . . . . . . . . Assemble in MRI Compatibility Mode: -M . . . . . . . . . . . . . . Dependency Tracking: --MD. . . . . . . . . . . . . . . . . . . . . . . . . . . . Name the Object File: -o. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Join Data and Text Sections: -R . . . . . . . . . . . . . . . . . . . . . . Display Assembly Statistics: --statistics . . . . . . . . . . . . Compatible Output: --traditional-format. . . . . . . . . . . Announce Version: -v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Control Warnings: -W, --warn, --no-warn, --fatal-warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16 Generate Object File in Spite of Errors: -Z . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 15 15 16 16 16 16 16 17 19 19 19 19 19 20 20 20

3

Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.1 3.2 3.3 3.4 3.5 3.6 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 21 22 23 23 23 24 24 25 25 25 25

ii

Using as

4

Sections and Relocation . . . . . . . . . . . . . . . . . . . 274.1 4.2 4.3 4.4 4.5 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linker Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Assembler Internal Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sub-Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . bss Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 28 29 30 31

5

Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.1 5.2 5.3 5.4 5.5 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Giving Symbols Other Values . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Special Dot Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . 33 33 33 35 35 35 35 35 36 36 36 36 36 36

6

Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.1 Empty Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Integer Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 Prex Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.4 Inx Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 37 37 38 38

7

Assembler Directives . . . . . . . . . . . . . . . . . . . . . . 417.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15 .abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .align abs-expr, abs-expr, abs-expr . . . . . . . . . . . . . . . . . .ascii "string ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .asciz "string ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .balign[wl] abs-expr, abs-expr, abs-expr . . . . . . . . . . . .byte expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .comm symbol , length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .data subsection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .def name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .desc symbol, abs-expression . . . . . . . . . . . . . . . . . . . . . . . .dim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .double flonums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .eject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 41 41 42 42 42 42 43 43 43 43 43 44 44 44

iii 7.16 7.17 7.18 7.19 7.20 7.21 7.22 7.23 7.24 7.25 7.26 7.27 7.28 7.29 7.30 7.31 7.32 7.33 7.34 7.35 7.36 7.37 7.38 7.39 7.40 7.41 7.42 7.43 7.44 7.45 7.46 7.47 7.48 7.49 7.50 7.51 7.52 7.53 7.54 7.55 7.56 7.57 7.58 7.59 7.60 7.61 7.62 7.63 .elseif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .endef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .endfunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .endif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .equ symbol, expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .equiv symbol, expression . . . . . . . . . . . . . . . . . . . . . . . . . . .err . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .exitm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .extern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .fail expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .file string . . . . . . . . . . . . . . . . . .