40 lines
		
	
	
	
		
			397 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			397 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
.set	break,17
 | 
						|
.globl	_sbrk
 | 
						|
.globl	_brk
 | 
						|
.globl	_end
 | 
						|
.globl	cerror
 | 
						|
 | 
						|
_sbrk:
 | 
						|
	.word	0x0000
 | 
						|
	movl	nd,r0
 | 
						|
	tstl	4(ap)
 | 
						|
	jeql	out
 | 
						|
	addl3	r0,4(ap),-(sp)
 | 
						|
	bcs	ovfl
 | 
						|
	pushl	$1
 | 
						|
	movl	ap,r3
 | 
						|
	movl	sp,ap
 | 
						|
	chmk	$break
 | 
						|
	bcc 	ok
 | 
						|
ovfl:
 | 
						|
	jmp 	cerror
 | 
						|
ok:
 | 
						|
	movl	nd,r0
 | 
						|
	addl2	4(r3),nd
 | 
						|
out:
 | 
						|
	ret
 | 
						|
 | 
						|
.globl	_brk
 | 
						|
 | 
						|
_brk:
 | 
						|
	.word	0x0000
 | 
						|
	chmk	$break
 | 
						|
	bcc 	ok2
 | 
						|
	jmp 	cerror
 | 
						|
ok2:
 | 
						|
	movl	4(ap),nd
 | 
						|
	clrl	r0
 | 
						|
	ret
 | 
						|
 | 
						|
	.data
 | 
						|
nd:	.long	_end
 |