PageRenderTime 53ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/share/doc/as.html/M.html

https://gitlab.com/infected_/linaro_aarch64-linux-gnu-4.9.x
HTML | 208 lines | 140 code | 30 blank | 38 comment | 0 complexity | b649eff0670f2b2c7f430838db981b19 MD5 | raw file
  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-2013 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: M</title>
  15. <meta name="description" content="Using as: M">
  16. <meta name="keywords" content="Using as: M">
  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="Invoking.html#Invoking" rel="up" title="Invoking">
  25. <link href="MD.html#MD" rel="next" title="MD">
  26. <link href="listing.html#listing" rel="prev" title="listing">
  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="M"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="MD.html#MD" accesskey="n" rel="next">MD</a>, Previous: <a href="listing.html#listing" accesskey="p" rel="prev">listing</a>, Up: <a href="Invoking.html#Invoking" accesskey="u" rel="up">Invoking</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="Assemble-in-MRI-Compatibility-Mode_003a-_002dM"></a>
  64. <h3 class="section">2.9 Assemble in MRI Compatibility Mode: <samp>-M</samp></h3>
  65. <a name="index-_002dM"></a>
  66. <a name="index-MRI-compatibility-mode"></a>
  67. <p>The <samp>-M</samp> or <samp>--mri</samp> option selects MRI compatibility mode. This
  68. changes the syntax and pseudo-op handling of <code>as</code> to make it
  69. compatible with the <code>ASM68K</code> or the <code>ASM960</code> (depending upon the
  70. configured target) assembler from Microtec Research. The exact nature of the
  71. MRI syntax will not be documented here; see the MRI manuals for more
  72. information. Note in particular that the handling of macros and macro
  73. arguments is somewhat different. The purpose of this option is to permit
  74. assembling existing MRI assembler code using <code>as</code>.
  75. </p>
  76. <p>The MRI compatibility is not complete. Certain operations of the MRI assembler
  77. depend upon its object file format, and can not be supported using other object
  78. file formats. Supporting these would require enhancing each object file format
  79. individually. These are:
  80. </p>
  81. <ul>
  82. <li> global symbols in common section
  83. <p>The m68k MRI assembler supports common sections which are merged by the linker.
  84. Other object file formats do not support this. <code>as</code> handles
  85. common sections by treating them as a single common symbol. It permits local
  86. symbols to be defined within a common section, but it can not support global
  87. symbols, since it has no way to describe them.
  88. </p>
  89. </li><li> complex relocations
  90. <p>The MRI assemblers support relocations against a negated section address, and
  91. relocations which combine the start addresses of two or more sections. These
  92. are not support by other object file formats.
  93. </p>
  94. </li><li> <code>END</code> pseudo-op specifying start address
  95. <p>The MRI <code>END</code> pseudo-op permits the specification of a start address.
  96. This is not supported by other object file formats. The start address may
  97. instead be specified using the <samp>-e</samp> option to the linker, or in a linker
  98. script.
  99. </p>
  100. </li><li> <code>IDNT</code>, <code>.ident</code> and <code>NAME</code> pseudo-ops
  101. <p>The MRI <code>IDNT</code>, <code>.ident</code> and <code>NAME</code> pseudo-ops assign a module
  102. name to the output file. This is not supported by other object file formats.
  103. </p>
  104. </li><li> <code>ORG</code> pseudo-op
  105. <p>The m68k MRI <code>ORG</code> pseudo-op begins an absolute section at a given
  106. address. This differs from the usual <code>as</code> <code>.org</code> pseudo-op,
  107. which changes the location within the current section. Absolute sections are
  108. not supported by other object file formats. The address of a section may be
  109. assigned within a linker script.
  110. </p></li></ul>
  111. <p>There are some other features of the MRI assembler which are not supported by
  112. <code>as</code>, typically either because they are difficult or because they
  113. seem of little consequence. Some of these may be supported in future releases.
  114. </p>
  115. <ul>
  116. <li> EBCDIC strings
  117. <p>EBCDIC strings are not supported.
  118. </p>
  119. </li><li> packed binary coded decimal
  120. <p>Packed binary coded decimal is not supported. This means that the <code>DC.P</code>
  121. and <code>DCB.P</code> pseudo-ops are not supported.
  122. </p>
  123. </li><li> <code>FEQU</code> pseudo-op
  124. <p>The m68k <code>FEQU</code> pseudo-op is not supported.
  125. </p>
  126. </li><li> <code>NOOBJ</code> pseudo-op
  127. <p>The m68k <code>NOOBJ</code> pseudo-op is not supported.
  128. </p>
  129. </li><li> <code>OPT</code> branch control options
  130. <p>The m68k <code>OPT</code> branch control options&mdash;<code>B</code>, <code>BRS</code>, <code>BRB</code>,
  131. <code>BRL</code>, and <code>BRW</code>&mdash;are ignored. <code>as</code> automatically
  132. relaxes all branches, whether forward or backward, to an appropriate size, so
  133. these options serve no purpose.
  134. </p>
  135. </li><li> <code>OPT</code> list control options
  136. <p>The following m68k <code>OPT</code> list control options are ignored: <code>C</code>,
  137. <code>CEX</code>, <code>CL</code>, <code>CRE</code>, <code>E</code>, <code>G</code>, <code>I</code>, <code>M</code>,
  138. <code>MEX</code>, <code>MC</code>, <code>MD</code>, <code>X</code>.
  139. </p>
  140. </li><li> other <code>OPT</code> options
  141. <p>The following m68k <code>OPT</code> options are ignored: <code>NEST</code>, <code>O</code>,
  142. <code>OLD</code>, <code>OP</code>, <code>P</code>, <code>PCO</code>, <code>PCR</code>, <code>PCS</code>, <code>R</code>.
  143. </p>
  144. </li><li> <code>OPT</code> <code>D</code> option is default
  145. <p>The m68k <code>OPT</code> <code>D</code> option is the default, unlike the MRI assembler.
  146. <code>OPT NOD</code> may be used to turn it off.
  147. </p>
  148. </li><li> <code>XREF</code> pseudo-op.
  149. <p>The m68k <code>XREF</code> pseudo-op is ignored.
  150. </p>
  151. </li><li> <code>.debug</code> pseudo-op
  152. <p>The i960 <code>.debug</code> pseudo-op is not supported.
  153. </p>
  154. </li><li> <code>.extended</code> pseudo-op
  155. <p>The i960 <code>.extended</code> pseudo-op is not supported.
  156. </p>
  157. </li><li> <code>.list</code> pseudo-op.
  158. <p>The various options of the i960 <code>.list</code> pseudo-op are not supported.
  159. </p>
  160. </li><li> <code>.optimize</code> pseudo-op
  161. <p>The i960 <code>.optimize</code> pseudo-op is not supported.
  162. </p>
  163. </li><li> <code>.output</code> pseudo-op
  164. <p>The i960 <code>.output</code> pseudo-op is not supported.
  165. </p>
  166. </li><li> <code>.setreal</code> pseudo-op
  167. <p>The i960 <code>.setreal</code> pseudo-op is not supported.
  168. </p>
  169. </li></ul>
  170. <hr>
  171. <div class="header">
  172. <p>
  173. Next: <a href="MD.html#MD" accesskey="n" rel="next">MD</a>, Previous: <a href="listing.html#listing" accesskey="p" rel="prev">listing</a>, Up: <a href="Invoking.html#Invoking" accesskey="u" rel="up">Invoking</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>
  174. </div>
  175. </body>
  176. </html>