Supported RPG Features

A MOVE or MOVEL may name an indicator as its result field. Every family is supported: numbered (*IN01-*IN99), *INLR, control level (*INL1-*INL9), external (*INU1-*INU8), and halt (*INH1-*INH9).

An indicator is one byte, so the source is reduced to a single character and the indicator is set ON iff that character is '1'. MOVE takes the rightmost character of the source; MOVEL takes the leftmost:

                                                (c2 holds '10')
C                   MOVE      '1'           *INL1   (L1 on)
C                   MOVEL     '1'           *INU1   (U1 on)
C                   MOVE      '1'           *INH1   (H1 on)
C                   MOVE      c2            *INL1   (rightmost '0' → L1 off)
C                   MOVEL     c2            *INL2   (leftmost  '1' → L2 on)

A character literal Factor 2 must be exactly '0' or '1'; anything else is rejected (TRN3032). A character variable source is always accepted - only its aligned character reaches the indicator.