Supported RPG Features

The MOVE opcode aligns the source against the rightmost positions of the result. The (P) pad extender controls what happens to the result's high-order (leftmost) positions when the source is shorter than the result:

Extender Meaning
(none) Overlay right - only the source's low-order positions are replaced; the result's high-order positions are preserved
P Pad - the result's high-order positions are cleared (blank for character, zero for numeric) after the move

For a numeric result the digit positions are overlaid ignoring the decimal point, and the whole result takes the source's sign (a positive source clears a previously negative result's sign, and vice versa). A source at least as wide as the result fills every position, so the (P) and non-(P) forms then behave identically (a plain right-aligned truncation).

C                   MOVE      Two            Year         (Year was 999999, Two=21   → 999921)
C                   MOVE(P)   Two            Year         (Year was 999999, Two=21   → 000021)
C                   MOVE      NegSrc         Year         (Year was 999999, NegSrc=-5 → 999905-)