40 lines
408 B
ArmAsm
40 lines
408 B
ArmAsm
#include "sys.h"
|
|
.define _sbrk
|
|
.define _brk
|
|
.extern _end
|
|
.extern _errno
|
|
|
|
_sbrk:
|
|
mov 2(sp),0f+2
|
|
beq 1f
|
|
add xxx,0f+2
|
|
bcs 2f
|
|
sys indir; .data2 0f
|
|
bcc 1f
|
|
2:
|
|
mov r0,_errno
|
|
mov $-1,r0
|
|
rts pc
|
|
1:
|
|
mov xxx,r0
|
|
add 2(sp),xxx
|
|
rts pc
|
|
|
|
_brk:
|
|
mov 2(sp),0f+2
|
|
sys indir; .data2 0f
|
|
bcc 1f
|
|
mov r0,_errno
|
|
mov $-1,r0
|
|
rts pc
|
|
1:
|
|
mov 2(sp),xxx
|
|
clr r0
|
|
rts pc
|
|
|
|
.sect .data
|
|
0:
|
|
sys break
|
|
.data2 0
|
|
xxx: .data2 _end
|