AND String (ANDSTR)

Instruction Syntax

Bound Program Access
Built-in number for ANDSTR is 450.
ANDSTR (                                                                        
        receiver_string        : address of aggregate(*)                        
        first_source_string    : address of aggregate(*)                        
        second_source_string   : address of aggregate(*)                        
        string_length          : unsigned binary(4,8) value which specifies        
                                 the length of the three strings                
)                                                                               

Description:

Each byte value of the first source string, for the number of bytes indicated by operand 4, is logically anded with the corresponding byte value of the second source string, on a bit-by-bit basis. The results are placed in the receiver string. If the strings overlap in storage, predictable results occur only if the overlap is fully coincident.

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

Authorization Required

  • None

Lock Enforcement

  • None

Exceptions

  • 06 Addressing
    • 0601 Space Addressing Violation
    • 0602 Boundary Alignment
  • 08 Argument/Parameter
    • 0801 Parameter Reference Violation
  • 22 Object Access
    • 2202 Object Destroyed
    • 220B Object Not Available
  • 24 Pointer Specification
    • 2401 Pointer Does Not Exist
    • 2402 Pointer Type Invalid
  • 44 Protection Violation
    • 4401 Object Domain or Hardware Storage Protection Violation
    • 4402 Literal Values Cannot Be Changed