⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m.html

📁 gcc手册
💻 HTML
字号:
<html lang="en">

<head>

<title>Using as</title>

<meta http-equiv="Content-Type" content="text/html">

<meta name="description" content="Using as">

<meta name="generator" content="makeinfo 4.3">

<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">

</head>

<body>

<div class="node">

<p>

Node:<a name="M">M</a>,

Next:<a rel="next" accesskey="n" href="MD.html#MD">MD</a>,

Previous:<a rel="previous" accesskey="p" href="listing.html#listing">listing</a>,

Up:<a rel="up" accesskey="u" href="Invoking.html#Invoking">Invoking</a>

<hr><br>

</div>



<h3 class="section">Assemble in MRI Compatibility Mode: <code>-M</code></h3>



   <p>The <code>-M</code> or <code>--mri</code> option selects MRI compatibility mode.  This

changes the syntax and pseudo-op handling of <code>as</code> to make it

compatible with the <code>ASM68K</code> or the <code>ASM960</code> (depending upon the

configured target) assembler from Microtec Research.  The exact nature of the

MRI syntax will not be documented here; see the MRI manuals for more

information.  Note in particular that the handling of macros and macro

arguments is somewhat different.  The purpose of this option is to permit

assembling existing MRI assembler code using <code>as</code>.



   <p>The MRI compatibility is not complete.  Certain operations of the MRI assembler

depend upon its object file format, and can not be supported using other object

file formats.  Supporting these would require enhancing each object file format

individually.  These are:



     <ul>

<li>global symbols in common section



     <p>The m68k MRI assembler supports common sections which are merged by the linker. 

Other object file formats do not support this.  <code>as</code> handles

common sections by treating them as a single common symbol.  It permits local

symbols to be defined within a common section, but it can not support global

symbols, since it has no way to describe them.



     </p><li>complex relocations



     <p>The MRI assemblers support relocations against a negated section address, and

relocations which combine the start addresses of two or more sections.  These

are not support by other object file formats.



     </p><li><code>END</code> pseudo-op specifying start address



     <p>The MRI <code>END</code> pseudo-op permits the specification of a start address. 

This is not supported by other object file formats.  The start address may

instead be specified using the <code>-e</code> option to the linker, or in a linker

script.



     </p><li><code>IDNT</code>, <code>.ident</code> and <code>NAME</code> pseudo-ops



     <p>The MRI <code>IDNT</code>, <code>.ident</code> and <code>NAME</code> pseudo-ops assign a module

name to the output file.  This is not supported by other object file formats.



     </p><li><code>ORG</code> pseudo-op



     <p>The m68k MRI <code>ORG</code> pseudo-op begins an absolute section at a given

address.  This differs from the usual <code>as</code> <code>.org</code> pseudo-op,

which changes the location within the current section.  Absolute sections are

not supported by other object file formats.  The address of a section may be

assigned within a linker script. 

</ul>



   <p>There are some other features of the MRI assembler which are not supported by

<code>as</code>, typically either because they are difficult or because they

seem of little consequence.  Some of these may be supported in future releases.



     <ul>



     <li>EBCDIC strings



     <p>EBCDIC strings are not supported.



     </p><li>packed binary coded decimal



     <p>Packed binary coded decimal is not supported.  This means that the <code>DC.P</code>

and <code>DCB.P</code> pseudo-ops are not supported.



     </p><li><code>FEQU</code> pseudo-op



     <p>The m68k <code>FEQU</code> pseudo-op is not supported.



     </p><li><code>NOOBJ</code> pseudo-op



     <p>The m68k <code>NOOBJ</code> pseudo-op is not supported.



     </p><li><code>OPT</code> branch control options



     <p>The m68k <code>OPT</code> branch control options--<code>B</code>, <code>BRS</code>, <code>BRB</code>,

<code>BRL</code>, and <code>BRW</code>--are ignored.  <code>as</code> automatically

relaxes all branches, whether forward or backward, to an appropriate size, so

these options serve no purpose.



     </p><li><code>OPT</code> list control options



     <p>The following m68k <code>OPT</code> list control options are ignored: <code>C</code>,

<code>CEX</code>, <code>CL</code>, <code>CRE</code>, <code>E</code>, <code>G</code>, <code>I</code>, <code>M</code>,

<code>MEX</code>, <code>MC</code>, <code>MD</code>, <code>X</code>.



     </p><li>other <code>OPT</code> options



     <p>The following m68k <code>OPT</code> options are ignored: <code>NEST</code>, <code>O</code>,

<code>OLD</code>, <code>OP</code>, <code>P</code>, <code>PCO</code>, <code>PCR</code>, <code>PCS</code>, <code>R</code>.



     </p><li><code>OPT</code> <code>D</code> option is default



     <p>The m68k <code>OPT</code> <code>D</code> option is the default, unlike the MRI assembler. 

<code>OPT NOD</code> may be used to turn it off.



     </p><li><code>XREF</code> pseudo-op.



     <p>The m68k <code>XREF</code> pseudo-op is ignored.



     </p><li><code>.debug</code> pseudo-op



     <p>The i960 <code>.debug</code> pseudo-op is not supported.



     </p><li><code>.extended</code> pseudo-op



     <p>The i960 <code>.extended</code> pseudo-op is not supported.



     </p><li><code>.list</code> pseudo-op.



     <p>The various options of the i960 <code>.list</code> pseudo-op are not supported.



     </p><li><code>.optimize</code> pseudo-op



     <p>The i960 <code>.optimize</code> pseudo-op is not supported.



     </p><li><code>.output</code> pseudo-op



     <p>The i960 <code>.output</code> pseudo-op is not supported.



     </p><li><code>.setreal</code> pseudo-op



     <p>The i960 <code>.setreal</code> pseudo-op is not supported.



   </ul>



   </body></html>



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -