45 lines
480 B
ArmAsm
45 lines
480 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
|