_brk.s 308 B

12345678910111213141516171819202122232425
  1. #include "syscall.h"
  2. DEFINE(__brk)
  3. cmpl 4(ap),$endbss
  4. bgeq Iok
  5. movl $endbss,4(ap)
  6. Iok:
  7. chmk $17
  8. bcs Ierr
  9. movl 4(ap),.limhp
  10. clrl r0
  11. ret
  12. Ierr:
  13. jmp cerror
  14. DEFINE(__sbrk)
  15. addl3 .limhp,4(ap),-(sp)
  16. bcs Ierr
  17. pushl $1
  18. movl ap,r3
  19. movl sp,ap
  20. chmk $17
  21. bcs Ierr
  22. movl .limhp,r0
  23. addl2 4(r3),.limhp
  24. ret