mirror of
https://github.com/reactos/reactos.git
synced 2024-11-20 06:15:26 +00:00
41 lines
520 B
ArmAsm
41 lines
520 B
ArmAsm
|
|
#include <asm.inc>
|
|
|
|
PUBLIC _exp
|
|
|
|
/* FUNCTIONS ***************************************************************/
|
|
.code
|
|
|
|
_exp:
|
|
push ebp
|
|
mov ebp, esp
|
|
|
|
fld qword ptr [ebp + 8]
|
|
fxam
|
|
fstsw ax
|
|
fwait
|
|
sahf
|
|
jnp .not_inf
|
|
jnc .not_inf
|
|
test ah, 2
|
|
jz .done
|
|
fstp st
|
|
fldz
|
|
jmp .done
|
|
.not_inf:
|
|
fldl2e
|
|
fmul st, st(1)
|
|
fst st(1)
|
|
frndint
|
|
fxch st(1)
|
|
fsub st, st(1)
|
|
f2xm1
|
|
fld1
|
|
faddp st(1), st
|
|
fscale
|
|
fstp st(1)
|
|
.done:
|
|
pop ebp
|
|
ret
|
|
|
|
END
|