home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / MATH / CEIL.S < prev    next >
Encoding:
Text File  |  1993-01-02  |  620 b   |  29 lines

  1. / ceil.s (emx+gcc) -- Copyright (c) 1991-1993 by Eberhard Mattes
  2.  
  3.         .globl  _ceil
  4.  
  5.         .text
  6.  
  7.         .align  2, 0x90
  8.  
  9. / double ceil (double x)
  10.  
  11. #define cw1       0(%esp)
  12. #define cw2       2(%esp)
  13. /define ret_addr  4(%esp)
  14. #define x         8(%esp)
  15.  
  16. _ceil:
  17.         subl    $4, %esp
  18.         fstcww  cw1
  19.         movw    cw1, %ax
  20.         andw    $0xf3ff, %ax
  21.         orw     $0x0800, %ax            / round up towards +inf
  22.         movw    %ax, cw2
  23.         fldcww  cw2
  24.         fldl    x                       / x
  25.         frndint
  26.         fldcww  cw1
  27.         addl    $4, %esp
  28.         ret
  29.