Q: Does CL have an equivalent of RPG's MVR op-code?
A: I'm not aware of an equivalent to MVR in CL, but don't let that stop you! You can calculate a remainder with multiplication and subtraction, as shown in this sample program:
PGM
DCL VAR(&A) TYPE(*DEC) LEN(2 0) VALUE(25)
DCL VAR(&B) TYPE(*DEC) LEN(2 0) VALUE(7)
DCL VAR(&RESULT) TYPE(*DEC) LEN(2 0)
DCL VAR(&WORK) TYPE(*DEC) LEN(2 0)
DCL VAR(&REM) TYPE(*DEC) LEN(2 0)
DCL VAR(&CHAR1) TYPE(*CHAR) LEN(2)
DCL VAR(&CHAR2) TYPE(*CHAR) LEN(2)
CHGVAR VAR(&RESULT) VALUE(&A / &B)
CHGVAR VAR(&WORK) VALUE(&RESULT * &B)
CHGVAR VAR(&REM) VALUE(&A - &WORK)
CHGVAR VAR(&CHAR1) VALUE(&RESULT)
CHGVAR VAR(&CHAR2) VALUE(&REM)
SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) +
MSGDTA('25 / 7 IS' *BCAT &CHAR1 *BCAT 'WITH A +
REMAINDER OF' *BCAT &CHAR2) +
TOPGMQ(*PRV) MSGTYPE(*COMP)
ENDPGM