ASMB,R,L,C
      NAM CEXP,6 24998-1X136 REV.2013 791018
      ENT CEXP
      EXT .ZRNT,.ENTP,EXP,SIN,COS 
*********************************************************************** 
*                                                                     * 
*     NAME: CEXP                                                      * 
*   SOURCE: 24998-18136                                               * 
*    RELOC: PART OF 24998-12002                                       * 
*     PGMR: CRG                                                       * 
*                                                                     * 
*********************************************************************** 
*                                                                     * 
*     (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS         * 
*     RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,          * 
*     REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT    * 
*     THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.           * 
*                                                                     * 
*********************************************************************** 
* 
*     COMPLEX EXPONENTIAL 
* 
*     CALLING SEQUENCE:  Y=CEXP(X)
* 
*                        JSB CEXP 
*                        DEF *+3
*                        DEF Y
*                        DEF X
*                        <ERROR RTN>
*                        <NORMAL RTN> 
* 
*********************************************************************** 
* 
TDB   NOP 
      ABS CEXP-TDB
TDBP2 NOP 
EXPRX BSS 2 
Y     BSS 1 
X     BSS 1 
* 
CEXP  NOP           ENTRY POINT 
      JSB .ZRNT 
      DEF LIBX
      JSB .ENTP     GET ADDRESSES 
      DEF Y 
      STA TDBP2     SAVE RETURN ADDR
* 
*********************************************************************** 
      SKP 
*********************************************************************** 
* 
*     COMPUTE EXPRX = EXP(REAL(X))
* 
      DLD X,I 
      JSB EXP 
      JMP LIBX      ERROR RETURN
* 
      DST EXPRX     SAVE IN EXPRX 
* 
*********************************************************************** 
* 
*     COMPUTE REAL(Y) = EXP(REAL(X)) * COS(IMAG(X)) 
* 
      ISZ X         BUMP X ADDR TO IMAG(X)
      ISZ X 
* 
      DLD X,I 
      JSB COS 
      JMP LIBX      ERROR RETURN
* 
      FMP EXPRX 
      DST Y,I       STORE IN REAL(Y)
* 
*********************************************************************** 
* 
*     COMPUTE IMAG(Y) = EXP(REAL(X)) * SIN(IMAG(X)) 
* 
      ISZ Y         BUMP Y ADDR TO IMAG(Y)
      ISZ Y 
* 
      DLD X,I 
      JSB SIN 
      JMP LIBX      ERROR RETURN
* 
      FMP EXPRX 
      DST Y,I       STORE IN IMAG(Y)
* 
*********************************************************************** 
      SKP 
*********************************************************************** 
* 
*     SET NORMAL RETURN AND EXIT
* 
      ISZ TDBP2     BUMP RETURN ADDR
LIBX  JMP TDBP2,I   RETURN
      DEF TDB 
      DEC 0 
* 
*********************************************************************** 
      END 
                                                                                                                                  