あるアドレスから別のアドレスに n バイトだけ移動します。
CALL PLIMOVE(x, y, z);
x および y は、POINTER または OFFSET として宣言された式です。OFFSET の場合は、AREA 属性を使用して x または y を宣言する必要があります。
z は、FIXED BINARY(31,0) に変換される式です。
foo: proc() options(main); DCL PLIMOVE builtin; DCL mystring char(10) init('AAAAAAAAAA'); DCL mystring2 char(10) init('BBBBBBBBBB'); CALL PLIMOVE(addr(mystring), addr(mystring2), length(mystring2)); PUT DATA(mystring); end;
記憶域が重複している場合、予期しない結果が生じる可能性があります。
説明
PLIMOVE 組み込みサブルーチンは、変換や、埋め込み、切り詰めなしに、場所 y から場所 x に z 記憶単位 (バイト) だけ移動します。PLIOVER 組み込みサブルーチンとは異なり、場所 x および y の記憶域は一意であると見なされます。
PLIFILL、PLIMOVE、および PLIOVER 組み込みサブルーチンは、バッファーの管理にも役立ちます。