Next: , Previous: , Up: s390 Syntax   [Contents][Index]


9.40.3.5 Instruction Aliases

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

Next: , Previous: , Up: s390 Syntax   [Contents][Index]