6.7. Příkaz SUBTRACT Formát 1: SUBTRACT {numerická-položka | numerický-literál} ... FROM {numerická-položka [ROUNDED]} ... [ON SIZE ERROR příkaz ... ] Funkce: Do každé z příjmových položek uvedených za slovem FROM se uloží její původní hodnota zmenšená o součet hodnot všech operandů uvedených mezi slovy SUBTRACT a FROM. Příklad: Příkaz SUBTRACT A B C D FROM E je ekvivalentní s příkazem COMPUTE E = E - (A + B + C + D). Příklad: SUBTRACT A(J K L) FROM B C ROUNDED D ROUNDED E je ekvivalentní s příkazy MOVE A (J K L) TO POM SUBTRACT POM FROM B SUBTRACT POM FROM C ROUNDED SUBTRACT POM FROM D ROUNDED SUBTRACT POM FROM E Příklad: Příkaz SUBTRACT se nejčastěji používá v nejjednodušším možném tvaru "SUBTRACT 1 FROM I" nebo "SUBTRACT A FROM B". Formát 2: SUBTRACT {numerická-položka | numerický-literál} ... FROM {numerická-položka | numerický-literál} GIVING {numerická-položka [ROUNDED]} ... [ON SIZE ERROR příkaz ... ] Funkce: Do každé z příjmových položek uvedených za slovem GIVING se uloží hodnota operandu uvedeného za slovem FROM zmenšená o součet hodnot všech operandů uvedených mezi slovy SUBTRACT a FROM. Původní hodnoty příjmových položek jsou bezvýznamné. Hodnota operandu uvedeného za slovem FROM se nezmění. Příklad: Příkaz SUBTRACT A B C FROM D GIVING E je ekvivalentní s příkazem COMPUTE E = D - (A + B + C). Příklad: Příkaz SUBTRACT 1 FROM B GIVING C D E je ekvivalentní s příkazy COMPUTE POM = B - 1 MOVE POM TO C D E