xref: /inferno-os/lib9/setfcr-Linux-386.S (revision 8328c5aad8a58079915a020acf43737918fd69d8)
1
2#define	FN(x)	.type x,@function; .global x; x
3#define	ENT	subl $16, %esp
4#define	RET	addl $16, %esp; ret
5
6	.file	"setfcr-Linux-386.S"
7FN(setfcr):
8	ENT
9	xorb	$0x3f, %al
10	movl	%eax, (%esp)
11	fwait
12	fldcw	(%esp)
13	RET
14
15FN(getfcr):
16	ENT
17	fwait
18	fstcw	(%esp)
19	movw	(%esp), %ax
20	andl	$0xffff, %eax
21	xorb	$0x3f, %al
22	RET
23
24FN(getfsr):
25	ENT
26	fwait
27	fstsw	(%esp)
28	movw	(%esp), %ax
29	andl	$0xffff, %eax
30	RET
31
32FN(setfsr):
33	fclex
34	ret
35