Test Subset (TESTSUBSET)

Bound program access

Built-in number for TESTSUBSET is 464. TESTSUBSET ( first_source_string : address of aggregate(*) second_source_string : address of aggregate(*) string_length : unsigned binary(4,8) literal value which specifies the length of the two strings ) : unsigned binary(4,8) value specifying the boolean result of the test /* result */

Description

Each byte value of the first source string, for the number of bytes indicated by string length, is logically anded with the corresponding byte value of the second source string, on a bit-by-bit basis. The results are then compared with the first source string. The result is set to 1 if the strings are equal, otherwise it is set to 0. If the strings overlap in storage, predictable results occur only if the overlap is fully coincident.

If the space(s) indicated by the two addresses are not long enough to contain the number of bytes indicated by string length, a space addressing violation  (hex 0601) exception is signalled. Partial results in this case are unpredictable.

Authorization Required

Lock Enforcement

Exceptions

06 Addressing

08 Argument/Parameter

22 Object Access

24 Pointer Specification

44 Protection Violation