Complement String (COMSTR)

Instruction Syntax

Bound Program Access
Built-in number for COMSTR is 452.
COMSTR (                                                                        
        receiver_string   : address of aggregate(*) for the result of           
                            the complement                                      
        source_string     : address of aggregate(*)                             
        string_length     : unsigned binary(4,8) value which specifies the         
                            length of the two strings                           
)                                                                               

Description:

Each byte value of the source string, for the number of bytes indicated by string length, is logically complemented on a bit-by-bit basis (i.e. one's complement). 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 two 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