360 Assembly/360 Instructions/LGR

From Wikibooks, open books for an open world
Jump to: navigation, search

LGR - Add Register - 64 Bit - Opcode B904 - RRE Instruction

Format[edit]

LGR 2,6

The specific syntax is

LGR target register, source register.
RRE Instruction (4 bytes)
Bytes 1 and 2 Byte 3 Byte 4
target register source register
(16 bits)
Opcode
B904
(8 bits)
Not used
(4 bits)

0..F
(4 bits)

0..F
  • The first argument is a target register which value is affected by the instruction.
  • The second argument is the source value register.

Availability[edit]

The LGR instruction is 64-bit, and is only available on the 370 series and z/System. It will cause an opcode exception on the 360 series.

Operation[edit]

The LGR instruction copies a 64-bit value from the register specified by the second argument to the register specified by the first argument.

Condition codes are not changed.

Register 0 is valid for either register and is not ignored as in some other instructions.

Exceptions and Faults[edit]

  • 360 Series: Opcode Exception
  • 370 Series and zSystem: None.

Related instructions[edit]

32-Bit Instructions[edit]

  • To load an 8-bit byte (character) value from memory, see IC.
  • To load one or more 8-bit byte values into a register according to a mask, see ICM
  • To load a 16-bit half-word value from memory, see LH.
  • To load a 12-bit unsigned value into a register or add up to 4095 to the values in one or two 32-bit registers, see LA.
  • To copy a 32-bit word value from one register to another register, see LR.
  • To load a 32-bit word value from memory, see L.
  • To store an 8-bit byte (character) value in memory, see STC.
  • To store one or more 8-bit byte values into memory according to a mask, see STCM
  • To store a 16-bit half-word value in memory, see STH.
  • To store a 32-bit word value in memory, see ST.

64-Bit Instructions[edit]

  • To load a 20-bit signed value into a 32-bit or 64-bit register from an extended (20-bit) signed memory offset, see LAY.
  • To load a 32-bit value into a 64-bit register from an extended (20-bit) signed memory offset, see LGF.
  • To copy a 64-bit value from one 64-bit register to another 64-bit register, see LGR.
  • To load a 64-bit value into a 64-bit register from memory, see LG.
  • To store a 32-bit value from a register to an extended (20-bit) signed memory offset, see STY.
  • To store a 64-bit value from a 64-bit register to an address in memory, see STG.


Previous Instruction
LGHR
360 Assembly Instructions Next Instruction
LH
Previous Opcode
B903
Next Opcode
B905