Goto sanos source index
;-----------------------------------------------------------------------------
; ftol.asm - floating point to integer conversion
;-----------------------------------------------------------------------------
SECTION .text
global _ftol
global __ftol
global __ftol2
global __ftol2_sse
_ftol:
__ftol:
fnstcw word [esp-2]
mov ax, word [esp-2]
or ax, 0C00h
mov word [esp-4], ax
fldcw word [esp-4]
fistp qword [esp-12]
fldcw word [esp-2]
mov eax, dword [esp-12]
mov edx, dword [esp-8]
ret
__ftol2:
fnstcw word [esp-2]
mov ax, word [esp-2]
or ax, 0C00h
mov word [esp-4], ax
fldcw word [esp-4]
fistp qword [esp-12]
fldcw word [esp-2]
mov eax, dword [esp-12]
mov edx, dword [esp-8]
ret
; TODO: what is the correct code for __ftol2_sse
__ftol2_sse:
fnstcw word [esp-2]
mov ax, word [esp-2]
or ax, 0C00h
mov word [esp-4], ax
fldcw word [esp-4]
fistp qword [esp-12]
fldcw word [esp-2]
mov eax, dword [esp-12]
mov edx, dword [esp-8]
ret