	.386
	.model	use32 small

	extrn allerr : PROC
	public	_exp,exp,exp2
	.data
nm	db	"exp",0

	.code

exp:
	fldl2e
exp2:
	fmulp	st(1)
	enter	4,0
	fnstcw	[ebp-4]
	mov	ax,[ebp-4]
	and	ah,0f3h
	or	ah,0ch
	mov	[ebp-2],ax
	fldcw	[ebp-2]
	fld	st(0)
	frndint
	fxch	st(1)
	fsub	st(0),st(1)
	f2xm1
	fld1
	faddp	st(1),st(0)
	fscale
	fxch	st(1)
	fcomp	st(1)
	fldcw	[ebp-4]
	leave
	ret

_exp:
      	push	ebp
	mov	ebp,esp
	lea	ecx,[ebp+8]
	sub	edx,edx
	fld	qword ptr [ecx]
	call	exp
	lea	eax,[nm]
	call	allerr
	leave
	ret
	end