<!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-2015 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: ESA/390 Directives</title>

<meta name="description" content="Using as: ESA/390 Directives">
<meta name="keywords" content="Using as: ESA/390 Directives">
<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="ESA_002f390_002dDependent.html#ESA_002f390_002dDependent" rel="up" title="ESA/390-Dependent">
<link href="ESA_002f390-Opcodes.html#ESA_002f390-Opcodes" rel="next" title="ESA/390 Opcodes">
<link href="ESA_002f390-Floating-Point.html#ESA_002f390-Floating-Point" rel="prev" title="ESA/390 Floating Point">
<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="ESA_002f390-Directives"></a>
<div class="header">
<p>
Next: <a href="ESA_002f390-Opcodes.html#ESA_002f390-Opcodes" accesskey="n" rel="next">ESA/390 Opcodes</a>, Previous: <a href="ESA_002f390-Floating-Point.html#ESA_002f390-Floating-Point" accesskey="p" rel="prev">ESA/390 Floating Point</a>, Up: <a href="ESA_002f390_002dDependent.html#ESA_002f390_002dDependent" accesskey="u" rel="up">ESA/390-Dependent</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="ESA_002f390-Assembler-Directives"></a>
<h4 class="subsection">9.14.5 ESA/390 Assembler Directives</h4>

<p><code>as</code> for the ESA/390 supports all of the standard ELF/SVR4
assembler directives that are documented in the main part of this
documentation.  Several additional directives are supported in order
to implement the ESA/390 addressing model.  The most important of these
are <code>.using</code> and <code>.ltorg</code>
</p>
<a name="index-ESA_002f390_002donly-directives"></a>
<p>These are the additional directives in <code>as</code> for the ESA/390:
</p>
<dl compact="compact">
<dt><code>.dc</code></dt>
<dd><p>A small subset of the usual DC directive is supported.
</p>
</dd>
<dt><code>.drop <var>regno</var></code></dt>
<dd><p>Stop using <var>regno</var> as the base register.  The <var>regno</var> must
have been previously declared with a <code>.using</code> directive in the
same section as the current section.
</p>
</dd>
<dt><code>.ebcdic <var>string</var></code></dt>
<dd><p>Emit the EBCDIC equivalent of the indicated string.  The emitted string
will be null terminated.  Note that the directives <code>.string</code> etc. emit
ascii strings by default.
</p>
</dd>
<dt><code>EQU</code></dt>
<dd><p>The standard HLASM-style EQU directive is not supported; however, the
standard <code>as</code> directive .equ can be used to the same effect.
</p>
</dd>
<dt><code>.ltorg</code></dt>
<dd><p>Dump the literal pool accumulated so far; begin a new literal pool.
The literal pool will be written in the current section; in order to
generate correct assembly, a <code>.using</code> must have been previously
specified in the same section.
</p>
</dd>
<dt><code>.using <var>expr</var>,<var>regno</var></code></dt>
<dd><p>Use <var>regno</var> as the base register for all subsequent RX, RS, and SS form
instructions. The <var>expr</var> will be evaluated to obtain the base address;
usually, <var>expr</var> will merely be &lsquo;<samp>*</samp>&rsquo;.
</p>
<p>This assembler allows two <code>.using</code> directives to be simultaneously
outstanding, one in the <code>.text</code> section, and one in another section
(typically, the <code>.data</code> section).  This feature allows
dynamically loaded objects to be implemented in a relatively
straightforward way.  A <code>.using</code> directive must always be specified
in the <code>.text</code> section; this will specify the base register that
will be used for branches in the <code>.text</code> section.  A second
<code>.using</code> may be specified in another section; this will specify
the base register that is used for non-label address literals.
When a second <code>.using</code> is specified, then the subsequent
<code>.ltorg</code> must be put in the same section; otherwise an error will
result.
</p>
<p>Thus, for example, the following code uses <code>r3</code> to address branch
targets and <code>r4</code> to address the literal pool, which has been written
to the <code>.data</code> section.  The is, the constants <code>=A(some_routine)</code>,
<code>=H'42'</code> and <code>=E'3.1416'</code> will all appear in the <code>.data</code>
section.
</p>
<div class="example">
<pre class="example">.data
	.using  LITPOOL,r4
.text
	BASR	r3,0
	.using	*,r3
        B       START
	.long	LITPOOL
START:
	L	r4,4(,r3)
	L	r15,=A(some_routine)
	LTR	r15,r15
	BNE	LABEL
	AH	r0,=H'42'
LABEL:
	ME	r6,=E'3.1416'
.data
LITPOOL:
	.ltorg
</pre></div>


<p>Note that this dual-<code>.using</code> directive semantics extends
and is not compatible with HLASM semantics.  Note that this assembler
directive does not support the full range of HLASM semantics.
</p>
</dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="ESA_002f390-Opcodes.html#ESA_002f390-Opcodes" accesskey="n" rel="next">ESA/390 Opcodes</a>, Previous: <a href="ESA_002f390-Floating-Point.html#ESA_002f390-Floating-Point" accesskey="p" rel="prev">ESA/390 Floating Point</a>, Up: <a href="ESA_002f390_002dDependent.html#ESA_002f390_002dDependent" accesskey="u" rel="up">ESA/390-Dependent</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>



</body>
</html>
