DIV (除算)

自由形式構文 (許可されていない - / または /= 演算子、 あるいは %DIV 組み込み関数を使用)
コード 演算項目 1 演算項目 2 結果フィールド 標識
DIV (H) 被除数 除数 + - Z

演算項目 1 が指定されている場合には DIV 命令によって演算項目 1 が演算 項目 2 で除算され、指定されていない場合には結果フィールドが演算項目 2 で 除算されます。商 (結果) は結果フィールドに入れられます。 演算項目 1 が 0 の 場合には、除算命令の結果は 0 になります。演算項目 2 を 0 にすることはできません。 0 の場合には、エラーが起こって、RPG IV 例外/エラー処理ルーチンが制御を受け取ります。演算項目 1 が指定されていない場合には、結果フィールド (被除数) が演算項目 2 (除数) で除算されて、結果 (商) が結果フィールドに入れられます。 演算項目 1 と演算項目 2 は数値でなければならず、それぞれに配列、配列要し、 フィールド、形象定数、リテラル、名前のついた定数、サブフィールド、 またはテーブル名を入れることができます。

除算命令から生ずる剰余は、次の命令として剰余の転送 (MVR) 命令が指定 されていなければ失われます。 条件付け標識を使用する場合には、MVR 命令の 直前に DIV 命令が処理されることを確認してください。 MVR 命令が DIV 命令の前に処理されると、好ましくない結果になります。 移動命令が次の命令である場合には、除算命令の結果を四捨五入する (丸める) ことはできません。

DIV 命令に関する規則の詳細については、算術演算を参照し てください。

図 1 に、DIV 命令の例を示します。
注: MVR 命令は、DIV 命令のいずれかのオペランドが浮動形式のものである 場合、その DIV 命令の後に続けることはできません。 ただし、浮動変数を命令コード MVR の結果として指定することはできます。