home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource3 / 162_01 / logpow.c < prev    next >
Encoding:
Text File  |  1985-08-21  |  1.4 KB  |  101 lines

  1. /*    file logpow.c */
  2. /*    release 1.2, Feburary 1986    */
  3. #asm
  4.     NAME    ('LOGPOW')
  5.     INCLUDE DEQ.MAC
  6.     EXTRN    CMDIO,STATUS,CMDBYT,ST.FLU,FLRD,FLDR,QUIK.2,FLSD.U
  7.     EXTRN    ST.FL2,FLSD.B
  8. #endasm
  9.  
  10.  
  11. float    log(fexp)    /* return common log */
  12. float    fexp;
  13. {
  14. #asm
  15.     .Z80
  16.     EQUJPS    .LOG,ST.FLU
  17.     .8080
  18. #endasm
  19. }
  20.  
  21. float    ln(fexp)    /* return natural log */
  22. float    fexp;
  23. {
  24. #asm
  25.     .Z80
  26.     EQUJPS    .LN,ST.FLU
  27.     .8080
  28. #endasm
  29. }
  30.  
  31. float    exp(fexp)    /* return e ^ fexp  */
  32. float    fexp;
  33. {
  34. #asm
  35.     .Z80
  36.     EQUJPS    .EXP,ST.FLU
  37.     .8080
  38. #endasm
  39. }
  40.  
  41. float    pow(f1,f2)    /* f1 ^ f2 */
  42. float f1,f2;
  43. {
  44. #asm
  45.     .Z80
  46.     EQUJPS    .PWR,ST.FL2
  47.     .8080
  48. #endasm
  49. }
  50.  
  51. float    pow10(fexp)    /* returns ten ^ fexp  */
  52. float    fexp;
  53. {
  54. #asm
  55.     .Z80
  56.     LDR.FV    FE10
  57.     EQUJPS    .PWR,FLRD,ST.FLU    ; 2nd fix, Feb 86
  58.     .8080
  59. #endasm
  60. }
  61.  
  62. float    invrt(fexp)    /* returns 1/fexp */
  63. float    fexp;
  64. {
  65. #asm
  66.     .Z80
  67.     LDR.FV    FE1
  68.     EQUJPS    .FDIV,FLRD,ST.FLU
  69.     .8080
  70. #endasm
  71. }
  72.  
  73. float    fabs(fexp)    /* returns absolute value of fexp */
  74. float    fexp;
  75. {
  76. #asm
  77.     .Z80
  78.     EQUJPS    PXF,FLSD.U,CMDIO,YFABS
  79. YFABS:    LD    A,(STATUS)
  80.     BIT    6,A
  81.     JR    NZ,NFABS
  82.     JP    FLDR
  83.  
  84. NFABS:    LD    A,NXF
  85.     LD    (CMDBYT),A
  86.     JP    QUIK.2
  87.  
  88.     .8080
  89. #endasm
  90. }
  91.  
  92. float    sqrt(fexp)    /* returns square root of fexp */
  93. float    fexp;
  94. {
  95. #asm
  96.     .Z80
  97.     EQUJPS    .SQRT,ST.FLU
  98.     .8080
  99. #endasm
  100. }
  101. ┴!T"σ═ë0┴*⌠═üÉ┬█!▀!σ═&>┴═hÉ═LÉ╩τ!├d═ƒ>═32â ═LÉ═≈É├d!"·!Æ"σ═&>┴|╡┬═/A"·!Æ"σ═ë0┴*|╡╩5*·|╡┬5!═!σ═¿<┴═