175 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<html lang="en">
 | 
						|
<head>
 | 
						|
<title>M - Using as</title>
 | 
						|
<meta http-equiv="Content-Type" content="text/html">
 | 
						|
<meta name="description" content="Using as">
 | 
						|
<meta name="generator" content="makeinfo 4.7">
 | 
						|
<link title="Top" rel="start" href="index.html#Top">
 | 
						|
<link rel="up" href="Invoking.html#Invoking" title="Invoking">
 | 
						|
<link rel="prev" href="listing.html#listing" title="listing">
 | 
						|
<link rel="next" href="MD.html#MD" title="MD">
 | 
						|
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 | 
						|
<!--
 | 
						|
This file documents the GNU Assembler "as".
 | 
						|
 | 
						|
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
 | 
						|
2006, 2007 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''.
 | 
						|
 | 
						|
man end-->
 | 
						|
<meta http-equiv="Content-Style-Type" content="text/css">
 | 
						|
<style type="text/css"><!--
 | 
						|
  pre.display { font-family:inherit }
 | 
						|
  pre.format  { font-family:inherit }
 | 
						|
  pre.smalldisplay { font-family:inherit; font-size:smaller }
 | 
						|
  pre.smallformat  { font-family:inherit; font-size:smaller }
 | 
						|
  pre.smallexample { font-size:smaller }
 | 
						|
  pre.smalllisp    { font-size:smaller }
 | 
						|
  span.sc { font-variant:small-caps }
 | 
						|
  span.roman { font-family: serif; font-weight: normal; } 
 | 
						|
--></style>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
<div class="node">
 | 
						|
<p>
 | 
						|
<a name="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">2.9 Assemble in MRI Compatibility Mode: <span class="option">-M</span></h3>
 | 
						|
 | 
						|
<p><a name="index-_002dM-79"></a><a name="index-MRI-compatibility-mode-80"></a>The <span class="option">-M</span> or <span class="option">--mri</span> option selects MRI compatibility mode.  This
 | 
						|
changes the syntax and pseudo-op handling of <span class="command">as</span> 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 <span class="command">as</span>.
 | 
						|
 | 
						|
   <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.  <span class="command">as</span> 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.
 | 
						|
 | 
						|
     <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.
 | 
						|
 | 
						|
     <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 <span class="option">-e</span> option to the linker, or in a linker
 | 
						|
script.
 | 
						|
 | 
						|
     <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.
 | 
						|
 | 
						|
     <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 <span class="command">as</span> <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
 | 
						|
<span class="command">as</span>, 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.
 | 
						|
 | 
						|
     <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.
 | 
						|
 | 
						|
     <li><code>FEQU</code> pseudo-op
 | 
						|
 | 
						|
     <p>The m68k <code>FEQU</code> pseudo-op is not supported.
 | 
						|
 | 
						|
     <li><code>NOOBJ</code> pseudo-op
 | 
						|
 | 
						|
     <p>The m68k <code>NOOBJ</code> pseudo-op is not supported.
 | 
						|
 | 
						|
     <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.  <span class="command">as</span> automatically
 | 
						|
relaxes all branches, whether forward or backward, to an appropriate size, so
 | 
						|
these options serve no purpose.
 | 
						|
 | 
						|
     <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>.
 | 
						|
 | 
						|
     <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>.
 | 
						|
 | 
						|
     <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.
 | 
						|
 | 
						|
     <li><code>XREF</code> pseudo-op.
 | 
						|
 | 
						|
     <p>The m68k <code>XREF</code> pseudo-op is ignored.
 | 
						|
 | 
						|
     <li><code>.debug</code> pseudo-op
 | 
						|
 | 
						|
     <p>The i960 <code>.debug</code> pseudo-op is not supported.
 | 
						|
 | 
						|
     <li><code>.extended</code> pseudo-op
 | 
						|
 | 
						|
     <p>The i960 <code>.extended</code> pseudo-op is not supported.
 | 
						|
 | 
						|
     <li><code>.list</code> pseudo-op.
 | 
						|
 | 
						|
     <p>The various options of the i960 <code>.list</code> pseudo-op are not supported.
 | 
						|
 | 
						|
     <li><code>.optimize</code> pseudo-op
 | 
						|
 | 
						|
     <p>The i960 <code>.optimize</code> pseudo-op is not supported.
 | 
						|
 | 
						|
     <li><code>.output</code> pseudo-op
 | 
						|
 | 
						|
     <p>The i960 <code>.output</code> pseudo-op is not supported.
 | 
						|
 | 
						|
     <li><code>.setreal</code> pseudo-op
 | 
						|
 | 
						|
     <p>The i960 <code>.setreal</code> pseudo-op is not supported.
 | 
						|
 | 
						|
   </ul>
 | 
						|
 | 
						|
   </body></html>
 | 
						|
 |