Set Data Pointer Attributes (SETDPAT)


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
Char(1)



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


1 1
Scalar length
Bin(2)









If binary:


1 1
Length (only 2, 4 or 8 for binary)
Bits 0-15









If binary floating-point:



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









If zoned decimal or packed decimal:



1 1
Fractional digits (F)
Bits 0-7
1 1
Total digits (T)
Bits 8-15



(where 1 <= T <= 63, 0 <= F <= T)

If character:



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









If Onlyns:



1 1
Length (L, where 1 <= L <= 16,383)
Bits 0-15



L is the number of double-byte characters

If Onlys:



1 1
Length (L, where 2 <= L <= 32,766)
Bits 0-15



  • L is the number of bytes
  • L is even
  • L includes any SO and SI characters

If Either:



1 1
Length (L, where 1 <= L <= 32,766)
Bits 0-15



  • L is the number of bytes
  • L includes any SO and SI characters

If Open:



1 1
Length (L, where 1 <= L <= 32,766)
Bits 0-15



  • L is the number of bytes
  • L includes any SO and SI characters

If decimal floating-point:



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

Lock Enforcement

Exceptions

06 Addressing

08 Argument/Parameter

10 Damage Encountered

1C Machine-Dependent

20 Machine Support

22 Object Access

24 Pointer Specification

2E Resource Control Limit

32 Scalar Specification

36 Space Management

44 Protection Violation