home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 162_01 / ftrig.c < prev    next >
Text File  |  1985-08-21  |  1KB  |  121 lines

  1. /*    file ftrig.c    */
  2. #asm
  3.     NAME    ('FTRIG')
  4.     INCLUDE DEQ.MAC
  5.     EXTRN    ST.FLU,CMDBYT,PORTD,CMDIO,QUIK.2
  6. #endasm
  7.  
  8. float    sin(fexp)    /* return sine of fexp */
  9. float    fexp;
  10. {
  11. #asm
  12.     .Z80
  13.     EQUJPS    .SIN,ST.FLU
  14.     .8080
  15. #endasm
  16. }
  17.  
  18. float    cos(fexp)    /* return cosine of fexp */
  19. float    fexp;
  20. {
  21. #asm
  22.     .Z80
  23.     EQUJPS    .COS,ST.FLU
  24.     .8080
  25. #endasm
  26. }
  27.  
  28. float    tan(fexp)    /* return tangent of fexp */
  29. float    fexp;
  30. {
  31. #asm
  32.     .Z80
  33.     EQUJPS    .TAN,ST.FLU
  34.     .8080
  35. #endasm
  36. }
  37.  
  38. float    asin(fexp)    /* return arc sine of fexp */
  39. float    fexp;
  40. {
  41. #asm
  42.     .Z80
  43.     EQUJPS    .ASIN,ST.FLU
  44.     .8080
  45. #endasm
  46. }
  47.  
  48. float    acos(fexp)    /* return arc cosine of fexp */
  49. float    fexp;
  50. {
  51. #asm
  52.     .Z80
  53.     EQUJPS    .ACOS,ST.FLU
  54.     .8080
  55. #endasm
  56. }
  57.  
  58. float    atan(fexp)    /* return arc tangent of fexp */
  59. float    fexp;
  60. {
  61. #asm
  62.     .Z80
  63.     EQUJPS    .ATAN,ST.FLU
  64.     .8080
  65. #endasm
  66. }
  67.  
  68. float    fdpi(fexp)    /* divide float expression by pi constant */
  69. float    fexp;
  70. {
  71. #asm
  72.     .Z80
  73.     LD    IX,FDIV.X
  74. FMD.PI: LD    HL,2
  75.     ADD    HL,SP
  76.     LD    BC,(PORTD)
  77.     LD    B,4
  78.     OTIR
  79.     LD    A,PXF.PI
  80.     LD    (CMDBYT),A
  81.     JP    CMDIO
  82.  
  83. FDIV.X: LD    A,.FDIV     ; float divide, then exit
  84.     LD    (CMDBYT),A
  85.     JP    QUIK.2
  86.     .8080
  87. #endasm
  88. }
  89.  
  90. float    fmpi(fexp)    /* multiply float expression by pi constant */
  91. float    fexp;
  92. {
  93. #asm
  94.     .Z80
  95.     LD    IX,FMUL.X
  96.     JP    FMD.PI
  97.  
  98. FMUL.X: EQUJPS    .FMUL,QUIK.2    ; float multiply, then exit
  99.     .8080
  100. #endasm
  101. }
  102. 
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.