GNU-Assembler.html 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2017 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <title>Using as: GNU Assembler</title>
  15. <meta name="description" content="Using as: GNU Assembler">
  16. <meta name="keywords" content="Using as: GNU Assembler">
  17. <meta name="resource-type" content="document">
  18. <meta name="distribution" content="global">
  19. <meta name="Generator" content="makeinfo">
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="Overview.html#Overview" rel="up" title="Overview">
  25. <link href="Object-Formats.html#Object-Formats" rel="next" title="Object Formats">
  26. <link href="Manual.html#Manual" rel="prev" title="Manual">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.smallquotation {font-size: smaller}
  31. div.display {margin-left: 3.2em}
  32. div.example {margin-left: 3.2em}
  33. div.indentedblock {margin-left: 3.2em}
  34. div.lisp {margin-left: 3.2em}
  35. div.smalldisplay {margin-left: 3.2em}
  36. div.smallexample {margin-left: 3.2em}
  37. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style:oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nocodebreak {white-space:nowrap}
  49. span.nolinebreak {white-space:nowrap}
  50. span.roman {font-family:serif; font-weight:normal}
  51. span.sansserif {font-family:sans-serif; font-weight:normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  57. <a name="GNU-Assembler"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Object-Formats.html#Object-Formats" accesskey="n" rel="next">Object Formats</a>, Previous: <a href="Manual.html#Manual" accesskey="p" rel="prev">Manual</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  61. </div>
  62. <hr>
  63. <a name="The-GNU-Assembler"></a>
  64. <h3 class="section">1.2 The GNU Assembler</h3>
  65. <p><small>GNU</small> <code>as</code> is really a family of assemblers.
  66. If you use (or have used) the <small>GNU</small> assembler on one architecture, you
  67. should find a fairly similar environment when you use it on another
  68. architecture. Each version has much in common with the others,
  69. including object file formats, most assembler directives (often called
  70. <em>pseudo-ops</em>) and assembler syntax.
  71. </p>
  72. <a name="index-purpose-of-GNU-assembler"></a>
  73. <p><code>as</code> is primarily intended to assemble the output of the
  74. <small>GNU</small> C compiler <code>gcc</code> for use by the linker
  75. <code>ld</code>. Nevertheless, we&rsquo;ve tried to make <code>as</code>
  76. assemble correctly everything that other assemblers for the same
  77. machine would assemble.
  78. Any exceptions are documented explicitly (see <a href="Machine-Dependencies.html#Machine-Dependencies">Machine Dependencies</a>).
  79. This doesn&rsquo;t mean <code>as</code> always uses the same syntax as another
  80. assembler for the same architecture; for example, we know of several
  81. incompatible versions of 680x0 assembly language syntax.
  82. </p>
  83. <p>Unlike older assemblers, <code>as</code> is designed to assemble a source
  84. program in one pass of the source file. This has a subtle impact on the
  85. <kbd>.org</kbd> directive (see <a href="Org.html#Org"><code>.org</code></a>).
  86. </p>
  87. </body>
  88. </html>