home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / astrnomy / de118i.zip / SETPREC.387 < prev    next >
Text File  |  1993-02-24  |  935b  |  75 lines

  1. /* Set 80387 floating point hardware rounding precision */
  2.  
  3.     .file    "setprec.387"
  4. .text
  5.     .align 2
  6.  
  7. .globl _sprec
  8. _sprec:
  9.     pushl %ebp
  10.     movl %esp,%ebp
  11.     pushl %eax
  12.     subl $4,%esp
  13.     fstcw (%esp)
  14.     fwait
  15.     movl (%esp),%eax
  16.     andl $0xfcff,%eax
  17.     movl %eax,(%esp)
  18.     fldcw (%esp)
  19.     popl %eax
  20.     popl %eax
  21.     leave
  22.     ret
  23.  
  24.     .align 2
  25.  
  26. .globl _dprec
  27. _dprec:
  28.     pushl %ebp
  29.     movl %esp,%ebp
  30.     pushl %eax
  31.     subl $4,%esp
  32.     fstcw (%esp)
  33.     fwait
  34.     movl (%esp),%eax
  35.     andl $0xfcff,%eax
  36.     orl $0x200,%eax
  37.     movl %eax,(%esp)
  38.     fldcw (%esp)
  39.     popl %eax
  40.     popl %eax
  41.     leave
  42.     ret
  43.  
  44.     .align 2
  45.  
  46. .globl _ldprec
  47. _ldprec:
  48.     pushl %ebp
  49.     movl %esp,%ebp
  50.     pushl %eax
  51.     subl $4,%esp
  52.     fstcw (%esp)
  53.     fwait
  54.     movl (%esp),%eax
  55.     orl $0x300,%eax
  56.     movl %eax,(%esp)
  57.     fldcw (%esp)
  58.     popl %eax
  59.     popl %eax
  60.     leave
  61.     ret
  62.  
  63.  
  64. .globl _getprec
  65. _getprec:
  66.     pushl %ebp
  67.     movl %esp,%ebp
  68.     subl $4,%esp
  69.     fstcw (%esp)
  70.     fwait
  71.     movl (%esp),%eax
  72.     leave
  73.     ret
  74.  
  75.