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