PLIMOVE
PLIMOVE moves z storage units (bytes) from location y to location x, without any conversions, padding, or truncation.
Unlike the PLIOVER built-in subroutine, storage at locations x and y is assumed to be unique. If storage overlaps, unpredictable results can occur.
- x and y
- Expressions declared as POINTER or OFFSET. If the type is OFFSET, x or y must be declared with the AREA attribute.
- z
- Expression. It must have a computational type and is converted to type size_t.1
Example
dcl 1 Str1,
2 B fixed bin(31),
2 C pointer,
2 * union,
3 D char(4),
3 E fixed bin(31),
3 *,
4 * char(3),
4 F fixed bin(8) unsigned,
2 * char(0);
dcl 1 Template nonasgn static,
2 * fixed bin(31) init(200),
2 * pointer init(sysnull()
),
2 * char(4) init(''),
2 * char(0);
call plimove(addr(Str1), addr(Template), stg(Str1));