s390 Aliases - Using as
Description: Using as

Next: s390 Operand Modifier, Previous: s390 Formats, Up: s390 Syntax

##### 9.37.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