summaryrefslogtreecommitdiff
path: root/newlib/libc/sys/sysvnecv70/sbrk.s
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/sysvnecv70/sbrk.s')
-rw-r--r--newlib/libc/sys/sysvnecv70/sbrk.s34
1 files changed, 34 insertions, 0 deletions
diff --git a/newlib/libc/sys/sysvnecv70/sbrk.s b/newlib/libc/sys/sysvnecv70/sbrk.s
new file mode 100644
index 00000000000..1d5f9242a80
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/sbrk.s
@@ -0,0 +1,34 @@
+
+ .globl _sbrk
+ .globl __sbrk
+_sbrk:
+__sbrk:
+ mov.w tptr,r0
+ test.w [ap]
+ je justreport
+ add.w r0,[ap]
+ push [ap]
+ mov.w ap,r3
+ mov.w sp,ap
+ chlvl #0x0,#0x11
+ jnl ok
+ add.w #0x4,sp
+ jmp cerror
+ok: add.w #0x4,sp
+ mov.w tptr,r0
+ mov.w [r3],tptr
+justreport:
+ ret #0x0
+
+ .globl _brk
+ .globl __brk
+__brk:
+_brk: chlvl #0x0,#0x11
+ jnl ok1
+ jmp cerror
+ok1: mov.w [ap],63
+ xor.w r0,r0
+ ret #0x0
+
+ .data
+tptr: .word _end