blob: 4826663dff612e4ac03b3e1a59cae28ebde5f085 [file] [log] [blame]
<html lang="en">
<head>
<title>M68HC11-Directives - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="M68HC11_002dDependent.html#M68HC11_002dDependent" title="M68HC11-Dependent">
<link rel="prev" href="M68HC11_002dModifiers.html#M68HC11_002dModifiers" title="M68HC11-Modifiers">
<link rel="next" href="M68HC11_002dFloat.html#M68HC11_002dFloat" title="M68HC11-Float">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 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.3
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''.
-->
<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; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="M68HC11-Directives"></a>
<a name="M68HC11_002dDirectives"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="M68HC11_002dFloat.html#M68HC11_002dFloat">M68HC11-Float</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="M68HC11_002dModifiers.html#M68HC11_002dModifiers">M68HC11-Modifiers</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="M68HC11_002dDependent.html#M68HC11_002dDependent">M68HC11-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.22.4 Assembler Directives</h4>
<p><a name="index-assembler-directives_002c-M68HC11-1221"></a><a name="index-assembler-directives_002c-M68HC12-1222"></a><a name="index-M68HC11-assembler-directives-1223"></a><a name="index-M68HC12-assembler-directives-1224"></a>
The 68HC11 and 68HC12 version of <code>as</code> have the following
specific assembler directives:
<dl>
<dt><code>.relax</code><dd><a name="index-assembler-directive-_002erelax_002c-M68HC11-1225"></a><a name="index-M68HC11-assembler-directive-_002erelax-1226"></a>The relax directive is used by the &lsquo;<samp><span class="samp">GNU Compiler</span></samp>&rsquo; to emit a specific
relocation to mark a group of instructions for linker relaxation.
The sequence of instructions within the group must be known to the linker
so that relaxation can be performed.
<br><dt><code>.mode [mshort|mlong|mshort-double|mlong-double]</code><dd><a name="index-assembler-directive-_002emode_002c-M68HC11-1227"></a><a name="index-M68HC11-assembler-directive-_002emode-1228"></a>This directive specifies the ABI. It overrides the &lsquo;<samp><span class="samp">-mshort</span></samp>&rsquo;,
&lsquo;<samp><span class="samp">-mlong</span></samp>&rsquo;, &lsquo;<samp><span class="samp">-mshort-double</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-mlong-double</span></samp>&rsquo; options.
<br><dt><code>.far </code><var>symbol</var><dd><a name="index-assembler-directive-_002efar_002c-M68HC11-1229"></a><a name="index-M68HC11-assembler-directive-_002efar-1230"></a>This directive marks the symbol as a &lsquo;<samp><span class="samp">far</span></samp>&rsquo; symbol meaning that it
uses a &lsquo;<samp><span class="samp">call/rtc</span></samp>&rsquo; calling convention as opposed to &lsquo;<samp><span class="samp">jsr/rts</span></samp>&rsquo;.
During a final link, the linker will identify references to the &lsquo;<samp><span class="samp">far</span></samp>&rsquo;
symbol and will verify the proper calling convention.
<br><dt><code>.interrupt </code><var>symbol</var><dd><a name="index-assembler-directive-_002einterrupt_002c-M68HC11-1231"></a><a name="index-M68HC11-assembler-directive-_002einterrupt-1232"></a>This directive marks the symbol as an interrupt entry point.
This information is then used by the debugger to correctly unwind the
frame across interrupts.
<br><dt><code>.xrefb </code><var>symbol</var><dd><a name="index-assembler-directive-_002exrefb_002c-M68HC11-1233"></a><a name="index-M68HC11-assembler-directive-_002exrefb-1234"></a>This directive is defined for compatibility with the
&lsquo;<samp><span class="samp">Specification for Motorola 8 and 16-Bit Assembly Language Input
Standard</span></samp>&rsquo; and is ignored.
</dl>
</body></html>