as: s390 Operands
1
1 9.40.3.3 Instruction Operands
1 .............................
1
1 Instruction operands can be grouped into three classes, operands located
1 in registers, immediate operands, and operands in storage.
1
1 A register operand can be located in general, floating-point, access,
1 or control register. The register is identified by a four-bit field.
1 The field containing the register operand is called the R field.
1
1 Immediate operands are contained within the instruction and can have
1 8, 16 or 32 bits. The field containing the immediate operand is called
1 the I field. Dependent on the instruction the I field is either signed
1 or unsigned.
1
1 A storage operand consists of an address and a length. The address
1 of a storage operands can be specified in any of these ways:
1
1 * The content of a single general R
1 * The sum of the content of a general register called the base
1 register B plus the content of a displacement field D
1 * The sum of the contents of two general registers called the index
1 register X and the base register B plus the content of a
1 displacement field
1 * The sum of the current instruction address and a 32-bit signed
1 immediate field multiplied by two.
1
1 The length of a storage operand can be:
1
1 * Implied by the instruction
1 * Specified by a bitmask
1 * Specified by a four-bit or eight-bit length field L
1 * Specified by the content of a general register
1
1 The notation for storage operand addresses formed from multiple
1 fields is as follows:
1
1 'Dn(Bn)'
1 the address for operand number n is formed from the content of
1 general register Bn called the base register and the displacement
1 field Dn.
1 'Dn(Xn,Bn)'
1 the address for operand number n is formed from the content of
1 general register Xn called the index register, general register Bn
1 called the base register and the displacement field Dn.
1 'Dn(Ln,Bn)'
1 the address for operand number n is formed from the content of
1 general register Bn called the base register and the displacement
1 field Dn. The length of the operand n is specified by the field
1 Ln.
1
1 The base registers Bn and the index registers Xn of a storage operand
1 can be skipped. If Bn and Xn are skipped, a zero will be stored to the
1 operand field. The notation changes as follows:
1
1 full notation short notation
1 ----------------------------------------------
1 Dn(0,Bn) Dn(Bn)
1 Dn(0,0) Dn
1 Dn(0) Dn
1 Dn(Ln,0) Dn(Ln)
1