Next: s390 Operand Modifier, Previous: s390 Formats, Up: s390 Syntax
A specific bit pattern can have multiple mnemonics, for example
the bit pattern `0xa7000000' has the mnemonics `tmh' and
`tmlh'. In addition, there are a number of mnemonics recognized by
as
that are not present in the Principles of Operation.
These are the short forms of the branch instructions, where the condition
code mask operand is encoded in the mnemonic. This is relevant for the
branch instructions, the compare and branch instructions, and the
compare and trap instructions.
For the branch instructions there are 20 condition code strings that can be used as part of the mnemonic in place of a mask operand in the instruction format:
instruction  short form


bcr M1,R2  b<m>r R2

bc M1,D2(X2,B2)  b<m> D2(X2,B2)

brc M1,I2  j<m> I2

brcl M1,I2  jg<m> I2

In the mnemonic for a branch instruction the condition code string <m> can be any of the following:
o  jump on overflow / if ones

h  jump on A high

p  jump on plus

nle  jump on not low or equal

l  jump on A low

m  jump on minus

nhe  jump on not high or equal

lh  jump on low or high

ne  jump on A not equal B

nz  jump on not zero / if not zeros

e  jump on A equal B

z  jump on zero / if zeroes

nlh  jump on not low or high

he  jump on high or equal

nl  jump on A not low

nm  jump on not minus / if not mixed

le  jump on low or equal

nh  jump on A not high

np  jump on not plus

no  jump on not overflow / if not ones

For the compare and branch, and compare and trap instructions there are 12 condition code strings that can be used as part of the mnemonic in place of a mask operand in the instruction format:
instruction  short form


crb R1,R2,M3,D4(B4)  crb<m> R1,R2,D4(B4)

cgrb R1,R2,M3,D4(B4)  cgrb<m> R1,R2,D4(B4)

crj R1,R2,M3,I4  crj<m> R1,R2,I4

cgrj R1,R2,M3,I4  cgrj<m> R1,R2,I4

cib R1,I2,M3,D4(B4)  cib<m> R1,I2,D4(B4)

cgib R1,I2,M3,D4(B4)  cgib<m> R1,I2,D4(B4)

cij R1,I2,M3,I4  cij<m> R1,I2,I4

cgij R1,I2,M3,I4  cgij<m> R1,I2,I4

crt R1,R2,M3  crt<m> R1,R2

cgrt R1,R2,M3  cgrt<m> R1,R2

cit R1,I2,M3  cit<m> R1,I2

cgit R1,I2,M3  cgit<m> R1,I2

clrb R1,R2,M3,D4(B4)  clrb<m> R1,R2,D4(B4)

clgrb R1,R2,M3,D4(B4)  clgrb<m> R1,R2,D4(B4)

clrj R1,R2,M3,I4  clrj<m> R1,R2,I4

clgrj R1,R2,M3,I4  clgrj<m> R1,R2,I4

clib R1,I2,M3,D4(B4)  clib<m> R1,I2,D4(B4)

clgib R1,I2,M3,D4(B4)  clgib<m> R1,I2,D4(B4)

clij R1,I2,M3,I4  clij<m> R1,I2,I4

clgij R1,I2,M3,I4  clgij<m> R1,I2,I4

clrt R1,R2,M3  clrt<m> R1,R2

clgrt R1,R2,M3  clgrt<m> R1,R2

clfit R1,I2,M3  clfit<m> R1,I2

clgit R1,I2,M3  clgit<m> R1,I2

In the mnemonic for a compare and branch and compare and trap instruction the condition code string <m> can be any of the following:
h  jump on A high

nle  jump on not low or equal

l  jump on A low

nhe  jump on not high or equal

ne  jump on A not equal B

lh  jump on low or high

e  jump on A equal B

nlh  jump on not low or high

nl  jump on A not low

he  jump on high or equal

nh  jump on A not high

le  jump on low or equal
