Copy Bytes Overlapping (CPYBO)

Instruction Syntax

Bound Program Access
Built-in number for CPYBO is 570.
CPYBO (
       target_string   : address of aggregate(*)
       source_string   : address of aggregate(*)
       copy_length     : unsigned binary(4,8) value which specifies the
                         number of bytes to copy
)

Description:

A copy from the storage specified by source string to the storage specified by target string is performed. Copy length specifies the number of bytes to copy. It is assumed that sufficient storage exists at the locations specified by source string and target string.

Pointers cannot be copied using this instruction.

Results are defined if the storage locations specified by target string and source string overlap. The result is equivalent to copying the source string first to a temporary location and then from the temporary location to the target string.

Authorization Required

  • None

Lock Enforcement

  • None

Exceptions

  • 06 Addressing
    • 0601 Space Addressing Violation
    • 0602 Boundary Alignment
  • 1C Machine-Dependent
    • 1C03 Machine Storage Limit Exceeded
  • 20 Machine Support
    • 2002 Machine Check
    • 2003 Function Check
  • 24 Pointer Specification
    • 2401 Pointer Does Not Exist
  • 2E Resource Control Limit
    • 2E01 User Profile Storage Limit Exceeded
  • 44 Protection Violation
    • 4401 Object Domain or Hardware Storage Protection Violation
    • 4402 Literal Values Cannot Be Changed