GNU Assembler
From Encoresoup - The Ultimate Guide to Free/Open Source Software
|
| GNU Assembler | |
|---|---|
| Stable release |
2.18 (28 August 2007) |
| Platform: | Cross-platform |
| Website: | http://www.gnu.org/software/binutils/ |
The GNU Assembler, commonly known as Gas, is the assembler used by the GNU Project. It is the default back-end of gcc, and is used to compile the GNU operating system and Linux, amongst others. It is a part of the GNU Binutils package.
Gas's executable is named after as, an Unix assembler. Gas is cross-platform, and both runs on and assembles for a number of different computer architectures. Released under the GNU General Public License, Gas is free software.
Contents |
[edit] General Syntax
The GNU Assembler has a general syntax that works for all of the supported architectures. The general syntax includes assembler directives and a method for commenting.
[edit] Assembler Directives
The GNU Assembler uses assembler directives (also known as pseudo ops), which are keywords beginning with a period that behave similarly to preprocesser directives in the C programming language. Most of the available assembler directives are valid regardless of the target architecture, however some directives are machine dependent.[1]
[edit] Comments
Similar to the C programming language is Gas's implementation of multiline comments which uses /* to begin a comment and */ to end a comment.[2]
For example:
movl %eax,%edx /* this is a comment sandwich,
it is made of description
and linebreak */
Gas uses the # symbol for a single-line comment.
For example:
pop %edx # this is a comment
# as well as this
movl %edx,%eax
[edit] Criticisms
One source of criticism is the fact that on the x86 and x86-64 architecture it uses the AT&T assembler syntax, rather than the Intel syntax used in many other assemblers; however, since version 2.10[3], support for the Intel syntax via the .intel_syntax directive has been added.[4][5]
[edit] See also
- GNU toolchain
- Binary File Descriptor library
- List of assemblers
[edit] References
- ↑ The GNU Assembler - Assembler Directives.
- ↑ The GNU Assembler - Comments.
- ↑ GNU Assembler News.
- ↑ AT&T Syntax versus Intel Syntax. Using as, the GNU Assembler.
- ↑ Ram Narayan (2007-10-17). Linux assemblers: A comparison of GAS and NASM. IBM DeveloperWorks. Retrieved on 2007-10-17.
[edit] External links
- Binutils homepage
- Gas manual
- : the portable GNU assembler – Linux man page

![Credit Card Size Digital Video Player [ThinkGeek] Credit Card Size Digital Video Player [ThinkGeek]](http://www.ftjcfx.com/image-3067719-10356334?imgurl=http%3A//www.thinkgeek.com/images/products/front/mini_pmp.jpg)
![USB Squid - Flexible 4 Port USB Hub [ThinkGeek] USB Squid - Flexible 4 Port USB Hub [ThinkGeek]](http://www.ftjcfx.com/image-3067719-10356334?imgurl=http%3A//www.thinkgeek.com/images/products/front/usb_squid.jpg)
![The Ruby Programming Language [Amazon] The Ruby Programming Language [Amazon]](http://openx.eclecticdave.com/images/51T6eH2xasL._SL160_.jpg)

