<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-2013 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".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: Altmacro</title>

<meta name="description" content="Using as: Altmacro">
<meta name="keywords" content="Using as: Altmacro">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Pseudo-Ops.html#Pseudo-Ops" rel="up" title="Pseudo Ops">
<link href="Ascii.html#Ascii" rel="next" title="Ascii">
<link href="Align.html#Align" rel="prev" title="Align">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Altmacro"></a>
<div class="header">
<p>
Next: <a href="Ascii.html#Ascii" accesskey="n" rel="next">Ascii</a>, Previous: <a href="Align.html#Align" accesskey="p" rel="prev">Align</a>, Up: <a href="Pseudo-Ops.html#Pseudo-Ops" accesskey="u" rel="up">Pseudo Ops</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>
</div>
<hr>
<a name="g_t_002ealtmacro"></a>
<h3 class="section">7.4 <code>.altmacro</code></h3>
<p>Enable alternate macro mode, enabling:
</p>
<dl compact="compact">
<dt><code>LOCAL <var>name</var> [ , &hellip; ]</code>
<a name="index-LOCAL-name-_005b-_002c-_2026-_005d"></a>
</dt>
<dd><p>One additional directive, <code>LOCAL</code>, is available.  It is used to
generate a string replacement for each of the <var>name</var> arguments, and
replace any instances of <var>name</var> in each macro expansion.  The
replacement string is unique in the assembly, and different for each
separate macro expansion.  <code>LOCAL</code> allows you to write macros that
define symbols, without fear of conflict between separate macro expansions.
</p>
</dd>
<dt><code>String delimiters</code>
<a name="index-String-delimiters"></a>
</dt>
<dd><p>You can write strings delimited in these other ways besides
<code>&quot;<var>string</var>&quot;</code>:
</p>
<dl compact="compact">
<dt><code>'<var>string</var>'</code></dt>
<dd><p>You can delimit strings with single-quote characters.
</p>
</dd>
<dt><code>&lt;<var>string</var>&gt;</code></dt>
<dd><p>You can delimit strings with matching angle brackets.
</p></dd>
</dl>

</dd>
<dt><code>single-character string escape</code>
<a name="index-single_002dcharacter-string-escape"></a>
</dt>
<dd><p>To include any single character literally in a string (even if the
character would otherwise have some special meaning), you can prefix the
character with &lsquo;<samp>!</samp>&rsquo; (an exclamation mark).  For example, you can
write &lsquo;<samp>&lt;4.3 !&gt; 5.4!!&gt;</samp>&rsquo; to get the literal text &lsquo;<samp>4.3 &gt; 5.4!</samp>&rsquo;.
</p>
</dd>
<dt><code>Expression results as strings</code>
<a name="index-Expression-results-as-strings"></a>
</dt>
<dd><p>You can write &lsquo;<samp>%<var>expr</var></samp>&rsquo; to evaluate the expression <var>expr</var>
and use the result as a string.
</p></dd>
</dl>




</body>
</html>
