2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
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.
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
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
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