added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / arch / .unmaintained / m68k-native / exec / semaphoreglue.s
blob5b8ab8ed878ca22fd596eb468cbdd912859be15b
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 /* The following functions are guaranteed to preserve
7 all registers. But I do not want to write them completely
8 in assembly - C is generally more readable.
9 So I use those stubs to preserve the registers.
12 #include "machine.i"
14 .text
15 .balign 4
16 .globl AROS_SLIB_ENTRY(_ObtainSemaphore,Exec)
17 .type AROS_SLIB_ENTRY(_ObtainSemaphore,Exec),@function
18 AROS_SLIB_ENTRY(_ObtainSemaphore,Exec):
19 movem.l d0-d1/a0-a1,-(sp)
20 bsr AROS_SLIB_ENTRY(ObtainSemaphore,Exec)
21 movem.l (sp)+,d0-d1/a0-a1
22 rts
24 .globl AROS_SLIB_ENTRY(_ReleaseSemaphore,Exec)
25 .type AROS_SLIB_ENTRY(_ReleaseSemaphore,Exec),@function
26 AROS_SLIB_ENTRY(_ReleaseSemaphore,Exec):
27 movem.l d0-d1/a0-a1,-(sp)
28 bsr AROS_SLIB_ENTRY(ReleaseSemaphore,Exec)
29 movem.l (sp)+,d0-d1/a0-a1
30 rts
32 .globl AROS_SLIB_ENTRY(_ObtainSemaphoreShared,Exec)
33 .type AROS_SLIB_ENTRY(_ObtainSemaphoreShared,Exec),@function
34 AROS_SLIB_ENTRY(_ObtainSemaphoreShared,Exec):
35 movem.l d0-d1/a0-a1,-(sp)
36 bsr AROS_SLIB_ENTRY(ObtainSemaphoreShared,Exec)
37 movem.l (sp)+,d0-d1/a0-a1
38 rts