Using as: s390 Aliases

Next: s390 Operand Modifier, Previous: s390 Formats, Up: s390 Syntax [Contents][Index]

#### 9.39.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: s390 Operand Modifier, Previous: s390 Formats, Up: s390 Syntax [Contents][Index]