xref: /csrg-svn/lib/libc/i386/sys/sbrk.s (revision 41027)
1*41027Swilliam/*-
2*41027Swilliam * Copyright (c) 1990 The Regents of the University of California.
3*41027Swilliam * All rights reserved.
4*41027Swilliam *
5*41027Swilliam * This code is derived from software contributed to Berkeley by
6*41027Swilliam * William Jolitz.
7*41027Swilliam *
8*41027Swilliam * %sccs.include.redist.c%
9*41027Swilliam */
10*41027Swilliam
11*41027Swilliam#if defined(SYSLIBC_SCCS) && !defined(lint)
12*41027Swilliam	.asciz "@(#)sbrk.s	5.1 (Berkeley) 04/23/90"
13*41027Swilliam#endif /* SYSLIBC_SCCS and not lint */
14*41027Swilliam
15*41027Swilliam#include "SYS.h"
16*41027Swilliam
17*41027Swilliam#define	SYS_brk		17
18*41027Swilliam
19*41027Swilliam	.globl	_end
20*41027Swilliam	.globl	minbrk
21*41027Swilliam	.globl	curbrk
22*41027Swilliam
23*41027Swilliam	.data
24*41027Swilliamminbrk:	.long	_end
25*41027Swilliamcurbrk:	.long	_end
26*41027Swilliam	.text
27*41027Swilliam
28*41027SwilliamENTRY(sbrk)
29*41027Swilliam	movl	4(%esp),%ecx
30*41027Swilliam	movl	curbrk,%eax
31*41027Swilliam	addl	%eax,4(%esp)
32*41027Swilliam	lea	SYS_brk,%eax
33*41027Swilliam	LCALL(7,0)
34*41027Swilliam	jb	err
35*41027Swilliam	movl	curbrk,%eax
36*41027Swilliam	addl	%ecx,curbrk
37*41027Swilliam	ret
38*41027Swilliamerr:
39*41027Swilliam	jmp	cerror
40