- address_1
- specifies a location that contains data to be copied.
- address_2
- specifies a location that receives the data after it is copied.
You
can specify
address_1 and
address_2 as:
- An absolute address
- A symbolic address
- A relative address
- An indirect address
- An address expression
- A module name and entry name (separated by a period)
- A general register
- An access register
- ARFROM(register_number)
- specifies that the location of the data pointed to by address_1 is
in an alternate address/data space referred to by the specified access
register. Valid access register numbers are 0 through 15. The operands
ARFROM, ALETFROM, and POINTER are mutually exclusive.
- ALETFROM(alet_value) | ALFROM(alet_value)
- specifies that the location of the data pointed to by address_1 is
in an alternate address/data space. The ALETFROM value may be from
1 to 8 hexadecimal characters. The operands ALETFROM, ARFROM, and
POINTER are mutually exclusive.
- ARTO(register_number)
- specifies that the location of the data pointed to by address_2 is
in an alternate address/data space referred to by an access register.
Valid access register numbers are 0 through 15. The operands ARTO
and ALETTO (or ALTO) are mutually exclusive.
- ALETTO(alet_value) | ALTO(alet_value)
- specifies that the location of the data pointed to by address_2 is
in an alternate address/data space. The ALETTO value may be from
1 to 8 hexadecimal characters. The operands ALETTO and ARTO are mutually
exclusive.
- LENGTH(integer) | LENGTH(4)
- specifies the length, in decimal, of the field to be copied.
If an integer is not specified, LENGTH defaults to 4 bytes. The maximum
length is 65,535 bytes in a storage-to-storage copy operation and
64 bytes when a register is specified.
- POINTER
- specifies address_1 is to be validity checked
to see that it does not exceed maximum virtual storage size. address_1 is
then treated as an immediate operand (hexadecimal literal) with a
maximum length of 4 bytes (that is, an address will be converted to
its hexadecimal equivalent) and transferred into the location specified
by address_2. When using the POINTER operand,
do not specify a general register as address_1.
POINTER and the operands ARFROM and ALETFROM are mutually exclusive.
- NOPOINTER
- specifies address_1 is to be treated as an
address, not as an immediate operand. NOPOINTER is the default.
The COPY subcommand treats the 16 general registers as contiguous
fields. You can specify that 10 bytes be moved from general register
0 to another location.
copy 0r 80060. length(10)
The COPY subcommand moves the 4 bytes of register 0, the 4 bytes
of register 1, and the high-order 2 bytes of register 2 to virtual
storage beginning at location 80060. When a register is specified
as address_1, the maximum length of data transferred
is the total length of the general registers or 64 bytes.
When the value of address_2 is one greater than address_1,
propagation of the data in address_1 occurs. When
the value of address_2 is more than one greater
than the value of address_1, no propagation occurs.