home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / macrosrc.arc / POWERS.ASM < prev    next >
Encoding:
Assembly Source File  |  1983-11-17  |  959 b   |  35 lines

  1.  
  2. *COMPUTE POWERS OF X
  3. *X IS VARIABLE CONTAINING A NUMBER
  4. *T IS SET TO: 1 X X**2 X**3, ... , X**L
  5.  
  6. POWERS $MACRO            X,T,L
  7.        $VAR TT
  8.        LACK 1            LOAD A ONE
  9.        SACL :T:,0        INTO FIRST LOC
  10.        $IF  L.V>0
  11.        LAC  :X:,0        LOAD THE VAR
  12.        SACL :T:+1,0      INTO SECOND LOC
  13.        $ENDIF
  14.        $IF  L.V>1
  15.        LT   :X:          LOAD THE VAR INTO T
  16.        MPY  :X:          SQUARE IT
  17.        PAC               TO THE AC
  18.        SACL :T:+2,0      TO THE THIRD LOC
  19.        $ENDIF
  20.        $IF  L.V>2        RECUR
  21.        $ASG L.V-3 TO TT.V
  22.        $POW2             :X:,:T:+3,:TT.V:
  23.        $ENDIF
  24.        $END
  25.  
  26. $POW2  $MACRO            X,T,L
  27.        $VAR TT
  28.        MPY  :X:          MULT BY VAR
  29.        PAC               TO AC
  30.        SACL :T:,0        STORE IN ARRAY
  31.        $IF  L.V>0        RECUR
  32.        $ASG L.V-1 TO TT.V
  33.        $POW2             :X:,:T:+1,:TT.V:
  34.        $ENDIF
  35.        $END