home *** CD-ROM | disk | FTP | other *** search
- / trunc.s (emx+gcc) -- Copyright (c) 1992-1993 by Eberhard Mattes
-
- .globl _trunc
-
- .text
-
- .align 2, 0x90
-
- / double trunc (double x)
-
- #define cw1 0(%esp)
- #define cw2 2(%esp)
- /define ret_addr 4(%esp)
- #define x 8(%esp)
-
- _trunc:
- subl $4, %esp
- fstcww cw1
- movw cw1, %ax
- andw $0xf3ff, %ax
- orw $0x0c00, %ax / chop by truncating toward 0
- movw %ax, cw2
- fldcww cw2
- fldl x / x
- frndint
- fldcww cw1
- addl $4, %esp
- ret
-