summaryrefslogtreecommitdiff
path: root/emu/Unixware/asm-386.s
blob: e3978dd1345efa354a9080acbad90d32eacc5a2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
	.section	.bss
	.align	4
.L4_.bss:
	.align	4
Unixware_Asm_IntP: / Offset 0
	.type	Unixware_Asm_IntP,@object
	.size	Unixware_Asm_IntP,4
	.set	.,.+4
Unixware_Asm_VoidP: / Offset 4
	.type	Unixware_Asm_VoidP,@object
	.size	Unixware_Asm_VoidP,4
	.set	.,.+4
	.section	.text
	.align	4
.L1_.text:
/====================
/ FPsave
/--------------------
	.align	4
	.align	4
	.globl	FPsave
FPsave:
	pushl	%ebp
	movl	%esp,%ebp
	movl	8(%ebp),%eax
	movl	%eax,Unixware_Asm_VoidP
	fstenv	(%eax)
	leave	
	ret	
	.align	4
	.type	FPsave,@function
	.size	FPsave,.-FPsave

/====================
/ FPrestore
/--------------------
	.align	4
	.globl	FPrestore
FPrestore:
	pushl	%ebp
	movl	%esp,%ebp
	movl	8(%ebp),%eax
	movl	%eax,Unixware_Asm_VoidP
	fldenv	(%eax)
	leave	
	ret	
	.align	4
	.type	FPrestore,@function
	.size	FPrestore,.-FPrestore


/====================
/ getcallerpc
/--------------------
	.align	4
	.globl	getcallerpc
getcallerpc:
	movl	4(%ebp),%eax
	ret	
	.align	4
	.type	getcallerpc,@function
	.size	getcallerpc,.-getcallerpc

/ test-and-set
	.align	4
	.globl	_tas
_tas:
	movl	$1, %eax
	movl	4(%esp), %ecx
	xchgl	%eax, 0(%ecx)
	ret