Copy Bytes to Bits Arithmetic (CPYBBTA)

Instruction Syntax

Op Code (Hex) Operand 1 Operand 2 Operand 3 Operand 4
104C Receiver Offset Length Source
Operand 1: Character variable scalar or numeric variable scalar.

Operand 2: Signed binary immediate or unsigned binary immediate.

Operand 3: Signed binary immediate or unsigned binary immediate.

Operand 4: Character variable scalar or numeric variable scalar.

Description:

This instruction copies a byte string from the source operand to a bit string in the receiver operand.

The source operand is interpreted as a signed binary value and may be sign extended or truncated on the left to fit into the bit string in the receiver operand. No indication is given when truncation occurs.

The location of the bit string in the receiver operand is specified by the offset operand. The value of the offset operand specifies the bit offset from the start of the receiver operand to the start of the bit string. Thus, an offset operand value of 0 specifies that the bit string starts at the leftmost bit position of the receiver operand.

The length of the bit string in the receiver operand is specified by the length operand. The value of the length operand specifies the length of the bit string in bits.

Limitations (Subject to Change)

The following are limits that apply to the functions performed by this instruction.

  • If the source operand and the bit string in the receiver operand overlap, the results are unpredictable.

  • A source operand longer than 4 bytes may not be specified.

  • If the offset operand is signed binary immediate, a negative value may not be specified.

  • A length operand with a value less than 1 or greater than 32 may not be specified.

  • The bit string specified by the offset operand and the length operand may not extend outside the receiver operand.

Authorization Required

  • None

Lock Enforcement

  • None

Exceptions

  • 06 Addressing
    • 0601 Space Addressing Violation
    • 0602 Boundary Alignment
    • 0603 Range
  • 08 Argument/Parameter
    • 0801 Parameter Reference Violation
  • 10 Damage Encountered
    • 1004 System Object Damage State
    • 1044 Partial System Object Damage
  • 1C Machine-Dependent
    • 1C03 Machine Storage Limit Exceeded
  • 20 Machine Support
    • 2002 Machine Check
    • 2003 Function Check
  • 22 Object Access
    • 2202 Object Destroyed
    • 2203 Object Suspended
    • 2208 Object Compressed
    • 220B Object Not Available
  • 24 Pointer Specification
    • 2401 Pointer Does Not Exist
    • 2402 Pointer Type Invalid
  • 2E Resource Control Limit
    • 2E01 User Profile Storage Limit Exceeded
  • 36 Space Management
    • 3601 Space Extension/Truncation
  • 44 Protection Violation
    • 4401 Object Domain or Hardware Storage Protection Violation
    • 4402 Literal Values Cannot Be Changed