ADD ステートメントは、複数の数字オペランドを加算して、その結果を保管するために使用されます。
ADD ステートメントには次の 3 つの形式があります。
ADD ステートメント - 形式 1 - ADD .----------------. .-------------------. V | V | >>-ADD----+-ID-1-------+-+--TO----ID-2--+---------+-+-----------> '-リテラル-1-' '-ROUNDED-' >--+-------------------------------------------+----------------> '-+----+--SIZE ERROR--命令ステートメント -1-' '-ON-' >--+------------------------------------------------+-----------> '-NOT--+----+--SIZE ERROR--命令ステートメント -2-' '-ON-' >--+---------+------------------------------------------------->< '-END-ADD-'
形式 1 では、キーワード TO の前にある ID およびリテラルを加算し、この和を ID-2 に加え、保管します。 この最初の和も、連続して出現するそれぞれの ID-2 に対して、ID-2 が指定されている順に、左から右へ加算されます。
ADD ステートメント - 形式 2 - ADD GIVING .----------------. V | >>-ADD----+-ID-1-------+-+--+----+--+-ID-2-------+--------------> '-リテラル-1-' '-TO-' '-リテラル-2-' .-------------------. V | >--GIVING----ID-3--+---------+-+--------------------------------> '-ROUNDED-' >--+-------------------------------------------+----------------> '-+----+--SIZE ERROR--命令ステートメント -1-' '-ON-' >--+------------------------------------------------+-----------> '-NOT--+----+--SIZE ERROR--命令ステートメント -2-' '-ON-' >--+---------+------------------------------------------------->< '-END-ADD-'
形式 2 では、語 GIVING の前にあるオペランドの値をすべて加算し、そ の和を、ID-3 が参照する各データ項目の新しい値として保管します。
ADD ステートメント - 形式 3 - ADD CORRESPONDING >>-ADD--+-CORRESPONDING-+--ID-4--TO--ID-5--+---------+----------> '-CORR----------' '-ROUNDED-' >--+-------------------------------------------+----------------> '-+----+--SIZE ERROR--命令ステートメント -1-' '-ON-' >--+------------------------------------------------+-----------> '-NOT--+----+--SIZE ERROR--命令ステートメント -2-' '-ON-' >--+---------+------------------------------------------------->< '-END-ADD-'
形式 3 では、ID-4 内の基本データ項目を ID-5 内の対応する基本項目に加算して、保管します。
すべての形式において、以下が適用されます。
形式 1 では、該当のステートメント内のすべてのオペランドを使用して、オペランドの合成内容が決定されます。
形式 2 では、語 GIVING に続くデータ項目を除く該当のステートメント内のすべてのオペランドを使用して、オペランドの合成内容が決定されます。
形式 3 では、対応するデータ項目のおのおのの対に対して、個別にオペランドの合成内容が決定されます。
オペランドの合成に関する詳細は オペランドのサイズを参照してください。
+----------------------------------IBM 拡張----------------------------------+
浮動小数点データ項目および浮動小数点リテラルは、数字データ項目または数字リテラルが指定できるところではどこでも使用できます。
+------------------------------End of IBM 拡張-------------------------------+