HP 3000 Manuals

HPPACMPYD [ Compiler Library/XL Reference Manual ] MPE/iX 5.0 Documentation


Compiler Library/XL Reference Manual

HPPACMPYD 

HPPACMPYD performs multiplication of two decimal numbers.

Declaration 

      PROCEDURE HPPACMPYD (
                ANYVAR  operand2         :decimal_type;
                        op2digs          :INTEGER
                ANYVAR  operand1         :decimal_type
                        op1digs          :INTEGER;
                        shift_amt        :INTEGER;
                VAR     comparison_code  :INTEGER;
                VAR     pacstatus        :INTEGER)
          OPTION
                DEFAULT_PARMS (
                        comparison_code  :=NIL,
                        pacstatus        :=NIL)
                UNCHECKABLE_ANYVAR;
          EXTERNAL;

Comments 

Operand1 and operand2 are multiplied and the product is stored into the
operand2 field.  If all significant digits of the result do not fit into
the operand2 field, a decimal overflow occurs.  The result stored in this
case will be left-truncated unless the actual result is greater than 28
digits.  If the actual result is over 28 digits, nothing will be stored.

Possible Traps 

Decimal overflow (1)
Invalid packed-decimal digit (3)
Invalid decimal operand length (5)



MPE/iX 5.0 Documentation