<html lang="en">
<head>
<title>Irpc - 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="Pseudo-Ops.html#Pseudo-Ops" title="Pseudo Ops">
<link rel="prev" href="Irp.html#Irp" title="Irp">
<link rel="next" href="Lcomm.html#Lcomm" title="Lcomm">
<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="Irpc"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Lcomm.html#Lcomm">Lcomm</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Irp.html#Irp">Irp</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a>
<hr>
</div>

<h3 class="section">7.66 <code>.irpc </code><var>symbol</var><code>,</code><var>values</var><small class="dots">...</small></h3>

<p><a name="index-g_t_0040code_007birpc_007d-directive-373"></a>Evaluate a sequence of statements assigning different values to <var>symbol</var>. 
The sequence of statements starts at the <code>.irpc</code> directive, and is
terminated by an <code>.endr</code> directive.  For each character in <var>value</var>,
<var>symbol</var> is set to the character, and the sequence of statements is
assembled.  If no <var>value</var> is listed, the sequence of statements is
assembled once, with <var>symbol</var> set to the null string.  To refer to
<var>symbol</var> within the sequence of statements, use <var>\symbol</var>.

   <p>For example, assembling

<pre class="example">             .irpc    param,123
             move    d\param,sp@-
             .endr
</pre>
   <p>is equivalent to assembling

<pre class="example">             move    d1,sp@-
             move    d2,sp@-
             move    d3,sp@-
</pre>
   <p>For some caveats with the spelling of <var>symbol</var>, see also the discussion
at See <a href="Macro.html#Macro">Macro</a>.

   </body></html>

