AUSAM/source/libc/lock.s

Compare this file to the similar file:
Show the results in this format:

/ C library -- locking
lock = 56.

/	readlock( fd )
/	writelock( fd )
/	lock( fd , n )
/	unlock()

.globl	_readlock,_writelock,_unlock,_lock,cerror
_readlock:
	mov	r5,-(sp)
	mov	sp,r5
	mov	4(r5),r0
	sys	lock;	0
	bec	1f
	jmp	cerror
1:
	clr	r0
	mov	(sp)+,r5
	rts	pc

_writelock:
	mov	r5,-(sp)
	mov	sp,r5
	mov	4(r5),r0
	sys	lock;	1
	bec	1b
	jmp	cerror

_unlock:
	mov	r5,-(sp)
	mov	sp,r5
	sys	lock;	2
	bec	1b
	jmp	cerror

_lock:
	mov	r5,-(sp)
	mov	sp,r5
	mov	4(r5),1f
	mov	6(r5),r0
	sys	indir;	0f
	bec	1b
	jmp	cerror
.data
0:
	sys	lock
1:	0
.text