_sbrk.s 407 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "sys.h"
  2. .define __sbrk
  3. .define __brk
  4. .extern _end
  5. .extern _errno
  6. __sbrk:
  7. mov 2(sp),0f+2
  8. beq 1f
  9. add .limhp,0f+2
  10. bcs 2f
  11. sys indir; .data2 0f
  12. bcc 1f
  13. 2:
  14. mov r0,_errno
  15. mov $-1,r0
  16. rts pc
  17. 1:
  18. mov .limhp,r0
  19. add 2(sp),.limhp
  20. rts pc
  21. __brk:
  22. mov 2(sp),0f+2
  23. sys indir; .data2 0f
  24. bcc 1f
  25. mov r0,_errno
  26. mov $-1,r0
  27. rts pc
  28. 1:
  29. mov 2(sp),.limhp
  30. clr r0
  31. rts pc
  32. .sect .data
  33. 0:
  34. sys break
  35. .data2 0