Set Data Pointer Attributes (SETDPAT)

Instruction Syntax

Op Code (Hex) Operand 1 Operand 2
004A Receiver Attributes

Operand 1: Data pointer.

Operand 2: Character(7) scalar.

Description:

The value of the character scalar specified by operand 2 is interpreted as an encoded representation of an attribute set that is assigned to the attribute portion of the data pointer specified by operand 1. The addressability portion of the data pointer is not modified. If operand 1 contains an initialized but unresolved data pointer, the data pointer is resolved in order to establish the addressability in the pointer. The attributes specified by the instruction are then assigned to the data pointer. If operand 1 does not contain a data pointer at the initiation of the instruction's execution, a pointer does not exist (hex 2401) exception or pointer type invalid (hex 2402) exception is signaled.

The format of the attribute set is as follows:

Offset  
Dec Hex Field Name Data Type and Length
0 0 Data pointer attributes Char(7)
0
0
  • Scalar type
    Hex 00 =
    Signed binary
    Hex 01 =
    Binary floating-point
    Hex 02 =
    Zoned decimal
    Hex 03 =
    Packed decimal
    Hex 04 =
    Character
    Hex 06 =
    Onlyns
    Hex 07 =
    Onlys
    Hex 08 =
    Either
    Hex 09 =
    Open
    Hex 0A =
    Unsigned binary
    Hex 0F =
    Decimal floating-point

  • Char(1)
1 1
  • Scalar length
  • Bin(2)
   
    • If binary:
 
1
1
    • Length (only 2, 4 or 8 for binary)

      If binary floating-point:


    • Bits 0-15
1
1
    • Length (only 4 or 8 for binary floating-point)

      If zoned decimal or packed decimal:


    • Bits 0-15
1 1
    • Fractional digits (F)
    • Bits 0-7
1
1
    • Total digits (T)
      (where 1 <= T <= 63, 0 <= F <= T)

      If character:


    • Bits 8-15
1
1
    • Length (L, where 1 <= L <= 32,767)

      If Onlyns:


    • Bits 0-15
1
1
    • Length (L, where 1 <= L <= 16,383)
      L is the number of double-byte characters

      If Onlys:


    • Bits 0-15
1
1
    • Length (L, where 2 <= L <= 32,766)
      • L is the number of bytes
      • L is even
      • L includes any SO and SI characters

      If Either:


    • Bits 0-15
1
1
    • Length (L, where 1 <= L <= 32,766)
      • L is the number of bytes
      • L includes any SO and SI characters

      If Open:


    • Bits 0-15
1
1
    • Length (L, where 1 <= L <= 32,766)
      • L is the number of bytes
      • L includes any SO and SI characters

      If decimal floating-point:


    • Bits 0-15
1
1
    • Length (only 4, 8, or 16 for decimal floating-point)
    • Bits 0-15
3 3
  • Reserved (binary 0)
  • Bin(4)
7
7
--- End ---
 

Support for usage of a data pointer describing an Onlyns, Onlys, Either, or Open scalar value is limited to the Copy Extended Characters Left Adjusted With Pad instruction (CPYECLAP). Usage of such a data pointer defined value on any other instruction is not supported and results in the signaling of the scalar type invalid (hex 3201) exception.

Authorization Required

  • None

Lock Enforcement

  • None

Exceptions

  • 06 Addressing
    • 0601 Space Addressing Violation
    • 0602 Boundary Alignment
    • 0603 Range
    • 0604 External Data Object Not Found
  • 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
    • 2201 Object Not Found
    • 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
  • 32 Scalar Specification
    • 3201 Scalar Type Invalid
    • 3202 Scalar Attributes Invalid
    • 3203 Scalar Value Invalid
  • 36 Space Management
    • 3601 Space Extension/Truncation
  • 44 Protection Violation
    • 4401 Object Domain or Hardware Storage Protection Violation