Op Code (Hex) | Extender | Operand 1 | Operand 2 | Operand 3 | Operand 4 [5, 6] |
---|---|---|---|---|---|
CMPBRAPB 1CC7 | Branch options | Compare operand 1 | Compare operand 2 | Pad | Branch targets |
| |||||
CMPBRAPI 18C7 | Indicator options | Compare operand 1 | Compare operand 2 | Pad | Indicator targets |
Operand 2: Numeric scalar or character scalar.
Operand 3: Numeric scalar or character scalar.
Operand 4 [5, 6]:
Description: This instruction compares the logical string values of the right-adjusted compare operands (padded if needed). The logical string value of the first compare operand is compared with the logical string value of the second compare operand. Based on the comparison, the resulting condition is used with the extender field to:
The compare operands are compared byte by byte, from left to right with no numeric conversions performed.
The length of the operation is equal to the length of the longer of the two compare operands. The shorter of the two compare operands is logically padded on the left with the 1-byte value indicated in the pad operand. If the pad operand is more than 1 byte in length, only its leftmost byte is used. The comparison begins with the leftmost byte of the longer of the compare operands. Any excess bytes (on the left) in the longer compare operand are compared with the pad value. All other bytes are compared with the corresponding bytes in the other compare operand. The operation proceeds until all bytes in the longer operand are compared or until the first unequal pair of bytes is encountered.
Substring operand references that allow for a null substring reference (a length value of zero) may be specified for operands 1 and 2. The effect of specifying a null substring reference for one of the compare operands is that the other compare operand is compared with an equal length string of pad character values. When a null substring reference is specified for both compare operands, the resultant condition is equal.
Substring operand references that allow for a null substring reference (a length value of zero) may not be specified for operand 3.
Resultant Conditions: The scalar first compare operand's string value is one of the following as compared to the second compare operand.
06 Addressing
08 Argument/Parameter
10 Damage Encountered
1C Machine-Dependent
20 Machine Support
22 Object Access
24 Pointer Specification
2C Program Execution
2E Resource Control Limit
36 Space Management
44 Protection Violation