44 lines
		
	
	
	
		
			478 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			478 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| #include "SYS.h"
 | |
| 
 | |
| LABEL_(brk)
 | |
| 	mov	%o7,%g2
 | |
| 	ld	[%l0], %o0
 | |
| 	inc	7, %o0
 | |
| 	andn	%o0, 7, %o0
 | |
| 	call	brk
 | |
| 	mov     %o0, %o2
 | |
| 	mov	%g2,%o7
 | |
| 	tst	%o0
 | |
| 	bge	0f
 | |
| 	nop
 | |
| 	retl
 | |
| 	nop
 | |
| 0:
 | |
| 	set	limhp, %g1
 | |
| 	st	%o2, [%g1]
 | |
| 	retl
 | |
| 	nop
 | |
| 
 | |
| 
 | |
| LABEL_(sbrk)
 | |
| 	mov	%o7,%g2
 | |
| 	ld	[%l0], %o0
 | |
| 	inc	7, %o0
 | |
| 	andn	%o0, 7, %o0
 | |
| 	set	limhp, %o1
 | |
| 	ld	[%o1], %o2
 | |
| 	inc	7, %o2
 | |
| 	andn	%o2, 7, %o3
 | |
| 	add	%o3, %o0, %o0
 | |
| 	call	brk
 | |
| 	mov	%o0, %o4
 | |
| 	mov	%g2,%o7
 | |
| 	tst	%o0
 | |
| 	blt	0f
 | |
| 	nop
 | |
| 	set	limhp, %g1
 | |
| 	st	%o4, [%g1]
 | |
| 	mov	%o3, %o0
 | |
| 0:
 | |
| 	retl
 | |
| 	nop
 |