From 37da2899f40661e3e9631e497da8dc59b971cbd0 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 22 Dec 2006 17:07:39 +0000 Subject: 20060303a --- emu/Unixware/asm-386.s | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 emu/Unixware/asm-386.s (limited to 'emu/Unixware/asm-386.s') diff --git a/emu/Unixware/asm-386.s b/emu/Unixware/asm-386.s new file mode 100644 index 00000000..e3978dd1 --- /dev/null +++ b/emu/Unixware/asm-386.s @@ -0,0 +1,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 -- cgit v1.2.3