Funktion
Die ADD-Anweisung addiert zwei oder mehr numerische Operanden und speichert das Ergebnis ab.
Format 1 | die ADD-Anweisung speichert die Summe im jeweiligen Operandenfeld ab. Mehrere Additionen können mit einer ADD-Anweisung durchgeführt werden, indem mehr als ein Ergebnisfeld angegeben wird. |
Format 2 | die ADD-Anweisung speichert die Summe in einem getrennten Ergebnisfeld ab. |
Format 3 | die ADD-Anweisung addiert die Elemente einer Datengruppe zu den entsprechenden Datenelementen einer anderen Gruppe. |
Format 1
ADD {bezeichner-1 | literal-1}... TO {bezeichner-2 [ROUNDED]}...
[ON SIZE ERROR unbedingte-anweisung-1]
[NOT ON SIZE ERROR unbedingte-anweisung-2]
[END-ADD]
Syntaxregeln
Jeder Bezeichner muss sich auf ein numerisches Datenfeld beziehen.
Die gemeinsame Stellenzahl der Operanden, die in einer gegebenen Anweisung ermittelt wird, darf nicht mehr als 31 Ziffern betragen (siehe „Arithmetische Anweisungen" ).
Die Werte der Operanden, die dem Wort TO vorangehen, werden addiert und die Summe zu dem derzeitigen Wert von bezeichner-2... dazuaddiert. Das Ergebnis wird in bezeichner-2 ... abgespeichert.
Für weitere Regeln siehe unter „Angaben in Anweisungen"; die ROUNDED-Angabe und (NOT) ON SIZE ERROR-Angabe sind in diesem Abschnitt beschrieben.
Beispiel 8-21
Anweisung | Maskenzeichenfolge des Ergebnisfeldes | Rechnung |
ADD A, B TO C, D | A + B + C abgespeichert in CA + B + D abgespeichert in D | |
ADD A, B, C TO D | S9999V99 | A + B + C + D abgespeichert in D als SnnnnVnn |
ADD A, 14 TO C ROUNDED | 99999 | A + 14 + C abgespeichert in C als nnnnn, wobei, wenn nötig, gerundet wird. |
Format 2
ADD {bezeichner-1 | literal-1}... TO {bezeichner-2 | literal-2} GIVING {bezeichner-3 [ROUNDED]}...
[ON SIZE ERROR unbedingte-anweisung-1]
[NOT ON SIZE ERROR unbedingte-anweisung-2]
[END-ADD]
Syntaxregeln
Jeder Bezeichner, der dem Wort GIVING vorangeht, muss sich auf ein numerisches Datenelement beziehen.
bezeichner-3 kann sich auf ein numerisches oder numerisch druckaufbereitetes Datenelement beziehen.
Die gemeinsame Stellenzahl der Operanden, die in einer gegebenen Anweisung ermittelt wird, mit Ausnahme des Datenfeldes, das dem Wort GIVING folgt, darf nicht mehr als 31 Ziffern betragen (siehe „Arithmetische Anweisungen").
Die Werte der Operanden, die dem Wort GIVING vorangehen, werden addiert; danach wird die Summe als neuer Wert in bezeichner-3 abgespeichert.
Für weitere Regeln siehe unter „Angaben in Anweisungen"; die GIVING-Angabe, ROUNDED-Angabe und (NOT) ON SIZE ERROR-Angabe sind in diesem
Beispiel 8-22
Anweisung | Maskenzeichenfolge des Ergebnisfeldes | Rechnung |
ADD A, B, C GIVING D. | 9999.99 | A + B + C abgespeichert in D als nnnn.nn |
ADD A, B, 43.6 GIVING D | 99V99 | A + B + 43.6 abgespeichert in D. Wenn die Anzahl der ganzzahligen Stellen im Ergebnis größer als 2 ist, tritt die Überlaufbedingung ein und die in SIZE ERROR angegebene GO TO-Anweisung wird ausgeführt. |
Format 3
ADD {CORR | CORRESPONDING} bezeichner-1 TO bezeichner-2 [ROUNDED]
[ON SIZE ERROR unbedingte-anweisung-1]
[NOT ON SIZE ERROR unbedingte-anweisung-2]
[END-ADD]
Syntaxregeln
Jeder Bezeichner muss sich auf eine Datengruppe beziehen.
Die gemeinsame Stellenzahl der Operanden, die für jedes Paar von entsprechenden Datenfeldern getrennt bestimmt wird, darf nicht mehr als 31 Ziffern betragen (siehe „Arithmetische Anweisungen").
Datenelemente innerhalb des ersten Operanden (bezeichner-1) werden zu den entsprechenden Datenelementen im zweiten Operanden (bezeichner-2 ...) addiert. Die Ergebnisse werden in den Feldern des zweiten Operanden abgespeichert.
Für weitere Regeln siehe unter „Angaben in Anweisungen"; die CORRESPONDING-Angabe, ROUNDED-Angabe und (NOT) ON SIZE ERROR-Angabe sind in diesem Abschnitt beschrieben.
Beispiel 8-23
Siehe die Beschreibung der CORRESPONDING-Angabe als Beispiel für die Verwendung dieses Zusatzes ( "CORRESPONDING-Angabe ").