1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<!-- This file documents the GNU Assembler "as".
4
5Copyright (C) 1991-2021 Free Software Foundation, Inc.
6
7Permission is granted to copy, distribute and/or modify this document
8under the terms of the GNU Free Documentation License, Version 1.3
9or any later version published by the Free Software Foundation;
10with no Invariant Sections, with no Front-Cover Texts, and with no
11Back-Cover Texts.  A copy of the license is included in the
12section entitled "GNU Free Documentation License".
13 -->
14<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
15<head>
16<title>Using as: s390 Aliases</title>
17
18<meta name="description" content="Using as: s390 Aliases">
19<meta name="keywords" content="Using as: s390 Aliases">
20<meta name="resource-type" content="document">
21<meta name="distribution" content="global">
22<meta name="Generator" content="makeinfo">
23<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
24<link href="index.html#Top" rel="start" title="Top">
25<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
26<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
27<link href="s390-Syntax.html#s390-Syntax" rel="up" title="s390 Syntax">
28<link href="s390-Operand-Modifier.html#s390-Operand-Modifier" rel="next" title="s390 Operand Modifier">
29<link href="s390-Formats.html#s390-Formats" rel="previous" title="s390 Formats">
30<style type="text/css">
31<!--
32a.summary-letter {text-decoration: none}
33blockquote.smallquotation {font-size: smaller}
34div.display {margin-left: 3.2em}
35div.example {margin-left: 3.2em}
36div.indentedblock {margin-left: 3.2em}
37div.lisp {margin-left: 3.2em}
38div.smalldisplay {margin-left: 3.2em}
39div.smallexample {margin-left: 3.2em}
40div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
41div.smalllisp {margin-left: 3.2em}
42kbd {font-style:oblique}
43pre.display {font-family: inherit}
44pre.format {font-family: inherit}
45pre.menu-comment {font-family: serif}
46pre.menu-preformatted {font-family: serif}
47pre.smalldisplay {font-family: inherit; font-size: smaller}
48pre.smallexample {font-size: smaller}
49pre.smallformat {font-family: inherit; font-size: smaller}
50pre.smalllisp {font-size: smaller}
51span.nocodebreak {white-space:nowrap}
52span.nolinebreak {white-space:nowrap}
53span.roman {font-family:serif; font-weight:normal}
54span.sansserif {font-family:sans-serif; font-weight:normal}
55ul.no-bullet {list-style: none}
56-->
57</style>
58
59
60</head>
61
62<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
63<a name="s390-Aliases"></a>
64<div class="header">
65<p>
66Next: <a href="s390-Operand-Modifier.html#s390-Operand-Modifier" accesskey="n" rel="next">s390 Operand Modifier</a>, Previous: <a href="s390-Formats.html#s390-Formats" accesskey="p" rel="previous">s390 Formats</a>, Up: <a href="s390-Syntax.html#s390-Syntax" accesskey="u" rel="up">s390 Syntax</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>
67</div>
68<hr>
69<a name="Instruction-Aliases"></a>
70<h4 class="subsubsection">9.41.3.5 Instruction Aliases</h4>
71<a name="index-instruction-aliases_002c-s390"></a>
72<a name="index-s390-instruction-aliases"></a>
73
74<p>A specific bit pattern can have multiple mnemonics, for example
75the bit pattern &lsquo;<samp>0xa7000000</samp>&rsquo; has the mnemonics &lsquo;<samp>tmh</samp>&rsquo; and
76&lsquo;<samp>tmlh</samp>&rsquo;. In addition, there are a number of mnemonics recognized by
77<code>as</code> that are not present in the Principles of Operation.
78These are the short forms of the branch instructions, where the condition
79code mask operand is encoded in the mnemonic. This is relevant for the
80branch instructions, the compare and branch instructions, and the
81compare and trap instructions.
82</p>
83<p>For the branch instructions there are 20 condition code strings that can
84be used as part of the mnemonic in place of a mask operand in the instruction
85format:
86</p>
87<div class="display">
88<table>
89<thead><tr><th width="30%"><pre class="display">instruction</pre></th><th width="30%"><pre class="display">short form</pre></th></tr></thead>
90<tr><td width="30%"><pre class="display">bcr   M1,R2</pre></td><td width="30%"><pre class="display">b&lt;m&gt;r  R2</pre></td></tr>
91<tr><td width="30%"><pre class="display">bc    M1,D2(X2,B2)</pre></td><td width="30%"><pre class="display">b&lt;m&gt;   D2(X2,B2)</pre></td></tr>
92<tr><td width="30%"><pre class="display">brc   M1,I2</pre></td><td width="30%"><pre class="display">j&lt;m&gt;   I2</pre></td></tr>
93<tr><td width="30%"><pre class="display">brcl  M1,I2</pre></td><td width="30%"><pre class="display">jg&lt;m&gt;  I2</pre></td></tr>
94</table>
95</div>
96
97<p>In the mnemonic for a branch instruction the condition code string &lt;m&gt;
98can be any of the following:
99</p>
100<div class="display">
101<table>
102<tr><td><pre class="display">o</pre></td><td><pre class="display">jump on overflow / if ones</pre></td></tr>
103<tr><td><pre class="display">h</pre></td><td><pre class="display">jump on A high</pre></td></tr>
104<tr><td><pre class="display">p</pre></td><td><pre class="display">jump on plus</pre></td></tr>
105<tr><td><pre class="display">nle</pre></td><td><pre class="display">jump on not low or equal</pre></td></tr>
106<tr><td><pre class="display">l</pre></td><td><pre class="display">jump on A low</pre></td></tr>
107<tr><td><pre class="display">m</pre></td><td><pre class="display">jump on minus</pre></td></tr>
108<tr><td><pre class="display">nhe</pre></td><td><pre class="display">jump on not high or equal</pre></td></tr>
109<tr><td><pre class="display">lh</pre></td><td><pre class="display">jump on low or high</pre></td></tr>
110<tr><td><pre class="display">ne</pre></td><td><pre class="display">jump on A not equal B</pre></td></tr>
111<tr><td><pre class="display">nz</pre></td><td><pre class="display">jump on not zero / if not zeros</pre></td></tr>
112<tr><td><pre class="display">e</pre></td><td><pre class="display">jump on A equal B</pre></td></tr>
113<tr><td><pre class="display">z</pre></td><td><pre class="display">jump on zero / if zeroes</pre></td></tr>
114<tr><td><pre class="display">nlh</pre></td><td><pre class="display">jump on not low or high</pre></td></tr>
115<tr><td><pre class="display">he</pre></td><td><pre class="display">jump on high or equal</pre></td></tr>
116<tr><td><pre class="display">nl</pre></td><td><pre class="display">jump on A not low</pre></td></tr>
117<tr><td><pre class="display">nm</pre></td><td><pre class="display">jump on not minus / if not mixed</pre></td></tr>
118<tr><td><pre class="display">le</pre></td><td><pre class="display">jump on low or equal</pre></td></tr>
119<tr><td><pre class="display">nh</pre></td><td><pre class="display">jump on A not high</pre></td></tr>
120<tr><td><pre class="display">np</pre></td><td><pre class="display">jump on not plus</pre></td></tr>
121<tr><td><pre class="display">no</pre></td><td><pre class="display">jump on not overflow / if not ones</pre></td></tr>
122</table>
123</div>
124
125<p>For the compare and branch, and compare and trap instructions there
126are 12 condition code strings that can be used as part of the mnemonic in
127place of a mask operand in the instruction format:
128</p>
129<div class="display">
130<table>
131<thead><tr><th width="40%"><pre class="display">instruction</pre></th><th width="40%"><pre class="display">short form</pre></th></tr></thead>
132<tr><td width="40%"><pre class="display">crb    R1,R2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">crb&lt;m&gt;    R1,R2,D4(B4)</pre></td></tr>
133<tr><td width="40%"><pre class="display">cgrb   R1,R2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">cgrb&lt;m&gt;   R1,R2,D4(B4)</pre></td></tr>
134<tr><td width="40%"><pre class="display">crj    R1,R2,M3,I4</pre></td><td width="40%"><pre class="display">crj&lt;m&gt;    R1,R2,I4</pre></td></tr>
135<tr><td width="40%"><pre class="display">cgrj   R1,R2,M3,I4</pre></td><td width="40%"><pre class="display">cgrj&lt;m&gt;   R1,R2,I4</pre></td></tr>
136<tr><td width="40%"><pre class="display">cib    R1,I2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">cib&lt;m&gt;    R1,I2,D4(B4)</pre></td></tr>
137<tr><td width="40%"><pre class="display">cgib   R1,I2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">cgib&lt;m&gt;   R1,I2,D4(B4)</pre></td></tr>
138<tr><td width="40%"><pre class="display">cij    R1,I2,M3,I4</pre></td><td width="40%"><pre class="display">cij&lt;m&gt;    R1,I2,I4</pre></td></tr>
139<tr><td width="40%"><pre class="display">cgij   R1,I2,M3,I4</pre></td><td width="40%"><pre class="display">cgij&lt;m&gt;   R1,I2,I4</pre></td></tr>
140<tr><td width="40%"><pre class="display">crt    R1,R2,M3</pre></td><td width="40%"><pre class="display">crt&lt;m&gt;    R1,R2</pre></td></tr>
141<tr><td width="40%"><pre class="display">cgrt   R1,R2,M3</pre></td><td width="40%"><pre class="display">cgrt&lt;m&gt;   R1,R2</pre></td></tr>
142<tr><td width="40%"><pre class="display">cit    R1,I2,M3</pre></td><td width="40%"><pre class="display">cit&lt;m&gt;    R1,I2</pre></td></tr>
143<tr><td width="40%"><pre class="display">cgit   R1,I2,M3</pre></td><td width="40%"><pre class="display">cgit&lt;m&gt;   R1,I2</pre></td></tr>
144<tr><td width="40%"><pre class="display">clrb   R1,R2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">clrb&lt;m&gt;   R1,R2,D4(B4)</pre></td></tr>
145<tr><td width="40%"><pre class="display">clgrb  R1,R2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">clgrb&lt;m&gt;  R1,R2,D4(B4)</pre></td></tr>
146<tr><td width="40%"><pre class="display">clrj   R1,R2,M3,I4</pre></td><td width="40%"><pre class="display">clrj&lt;m&gt;   R1,R2,I4</pre></td></tr>
147<tr><td width="40%"><pre class="display">clgrj  R1,R2,M3,I4</pre></td><td width="40%"><pre class="display">clgrj&lt;m&gt;  R1,R2,I4</pre></td></tr>
148<tr><td width="40%"><pre class="display">clib   R1,I2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">clib&lt;m&gt;   R1,I2,D4(B4)</pre></td></tr>
149<tr><td width="40%"><pre class="display">clgib  R1,I2,M3,D4(B4)</pre></td><td width="40%"><pre class="display">clgib&lt;m&gt;  R1,I2,D4(B4)</pre></td></tr>
150<tr><td width="40%"><pre class="display">clij   R1,I2,M3,I4</pre></td><td width="40%"><pre class="display">clij&lt;m&gt;   R1,I2,I4</pre></td></tr>
151<tr><td width="40%"><pre class="display">clgij  R1,I2,M3,I4</pre></td><td width="40%"><pre class="display">clgij&lt;m&gt;  R1,I2,I4</pre></td></tr>
152<tr><td width="40%"><pre class="display">clrt   R1,R2,M3</pre></td><td width="40%"><pre class="display">clrt&lt;m&gt;   R1,R2</pre></td></tr>
153<tr><td width="40%"><pre class="display">clgrt  R1,R2,M3</pre></td><td width="40%"><pre class="display">clgrt&lt;m&gt;  R1,R2</pre></td></tr>
154<tr><td width="40%"><pre class="display">clfit  R1,I2,M3</pre></td><td width="40%"><pre class="display">clfit&lt;m&gt;  R1,I2</pre></td></tr>
155<tr><td width="40%"><pre class="display">clgit  R1,I2,M3</pre></td><td width="40%"><pre class="display">clgit&lt;m&gt;  R1,I2</pre></td></tr>
156</table>
157</div>
158
159<p>In the mnemonic for a compare and branch and compare and trap instruction
160the condition code string &lt;m&gt; can be any of the following:
161</p>
162<div class="display">
163<table>
164<tr><td><pre class="display">h</pre></td><td><pre class="display">jump on A high</pre></td></tr>
165<tr><td><pre class="display">nle</pre></td><td><pre class="display">jump on not low or equal</pre></td></tr>
166<tr><td><pre class="display">l</pre></td><td><pre class="display">jump on A low</pre></td></tr>
167<tr><td><pre class="display">nhe</pre></td><td><pre class="display">jump on not high or equal</pre></td></tr>
168<tr><td><pre class="display">ne</pre></td><td><pre class="display">jump on A not equal B</pre></td></tr>
169<tr><td><pre class="display">lh</pre></td><td><pre class="display">jump on low or high</pre></td></tr>
170<tr><td><pre class="display">e</pre></td><td><pre class="display">jump on A equal B</pre></td></tr>
171<tr><td><pre class="display">nlh</pre></td><td><pre class="display">jump on not low or high</pre></td></tr>
172<tr><td><pre class="display">nl</pre></td><td><pre class="display">jump on A not low</pre></td></tr>
173<tr><td><pre class="display">he</pre></td><td><pre class="display">jump on high or equal</pre></td></tr>
174<tr><td><pre class="display">nh</pre></td><td><pre class="display">jump on A not high</pre></td></tr>
175<tr><td><pre class="display">le</pre></td><td><pre class="display">jump on low or equal</pre></td></tr>
176</table>
177</div>
178
179<hr>
180<div class="header">
181<p>
182Next: <a href="s390-Operand-Modifier.html#s390-Operand-Modifier" accesskey="n" rel="next">s390 Operand Modifier</a>, Previous: <a href="s390-Formats.html#s390-Formats" accesskey="p" rel="previous">s390 Formats</a>, Up: <a href="s390-Syntax.html#s390-Syntax" accesskey="u" rel="up">s390 Syntax</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>
183</div>
184
185
186
187</body>
188</html>
189