Array parameters

Array parameters are optional. They indicate whether the data consists of a single item (SCALAR) or consists of adjacent, similar items (ENTRIES).

   [ ENTRIES(xx[:yy])                              ]
   [ [DIMENSION(nnn) | MULTIPLE(nnn)] [ENTRY(xx)]  ]
   [ SCALAR                                        ]
ENTRY(xx[:yy]) or ENTRIES(xx[:yy])
The storage indicated by the address or in the address range is an array. You specify the number of elements in the array with the values xx and yy. The value xx must be less than or equal to yy. These values can range from -231 to 231-1 and can be specified using signed decimal ([+|-]nnn), hexadecimal (X‘[+|-]xxx’, or binary (B‘[+|-]bbb’). (Plus is the default.) The size of the total array is the length of storage in the specified address range or specified with the LENGTH parameter, multiplied by the number of array elements.

The number of elements in the array can range from -263 to 263-1. The difference between the lower and the upper values can be no more than 15 decimal digits.

If you specify an array whose size exceeds the upper limit for the addressing mode, the subcommand changes the array to a scalar and adjusts its length to include the last valid address for that addressing mode. If you specify ENTRY or ENTRIES and SCALAR, the subcommand uses the SCALAR parameter and ignores ENTRY or ENTRIES.

Example:
list 7FFFD018. length(4) entries(6:10)

Result: Assuming that you have located a segment table at X‘7FFFD000’, LIST displays five segment table entries beginning at X‘7FFFD018’ (each segment table entry is four bytes). The total length of the five entries is 20 bytes.

DIMENSION(nnn) or MULTIPLE(nnn)
The storage indicated by the address or in the address range is an array of dimension nnn. The number nnn can be a maximum of 231 and can be specified in decimal, hexadecimal (X‘xxx...’), or binary (B‘bbb...’). Each array element occupies the length of storage in the specified address range or the length specified with the LENGTH parameter. The total size of the array is the size of an element, multiplied by nnn. The dimension may be no longer than 15 decimal digits.

If you specify an array whose size exceeds the upper limit for the addressing mode, the subcommand changes the array to a scalar and adjusts its length to include the last valid address for that addressing mode.

Example:
equate sgt001 5d7c00. absolute length(4) dimension(256)

Result: Assuming that the master segment table is located at X‘5D7C00’ in absolute storage with a length of 4 and a dimension of 256, EQUATE defines the master segment in the symbol table with these attributes.

SCALAR
The storage indicated by the address or in the address range is a single entity with non-repeating fields. If you omit all array and scalar parameters, the default is SCALAR.

If you specify SCALAR and either ENTRY or ENTRIES, the subcommand uses the SCALAR parameter and ignores ENTRY or ENTRIES.

Example:
list a72f4. asid(1) length(x'50') area scalar

Result: LIST displays the storage as a single entity of non-repeating fields, beginning at the absolute address X‘A72F4’ for a length of 80 (X‘50’) bytes.