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> [<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 ‘<samp>0xa7000000</samp>’ has the mnemonics ‘<samp>tmh</samp>’ and 76‘<samp>tmlh</samp>’. 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<m>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<m> 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<m> I2</pre></td></tr> 93<tr><td width="30%"><pre class="display">brcl M1,I2</pre></td><td width="30%"><pre class="display">jg<m> I2</pre></td></tr> 94</table> 95</div> 96 97<p>In the mnemonic for a branch instruction the condition code string <m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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<m> 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 <m> 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> [<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