|
|
1.1 ! root 1: #old = sbrk(increment); ! 2: # ! 3: #sbrk gets increment more core, and returns a pointer ! 4: # to the beginning of the new core area ! 5: # ! 6: break = 17 ! 7: .globl _sbrk ! 8: .globl _end ! 9: .globl cerror ! 10: ! 11: _sbrk: ! 12: addql #3,sp@(4) ! 13: andl #0xfffffffc,sp@(4) ! 14: movl nd,d0 ! 15: addl sp@(4),d0 ! 16: movl d0,sp@- ! 17: jsr 1f ! 18: bcc noerr1 ! 19: addql #4,sp ! 20: jmp cerror2 ! 21: noerr1: ! 22: addql #4,sp ! 23: movl nd,d0 ! 24: movl sp@(4),d1 ! 25: addl d1,nd ! 26: movl d0,a0 ! 27: rts ! 28: 1: ! 29: pea break ! 30: trap #0 ! 31: rts ! 32: ! 33: .globl _brk ! 34: # brk(value) ! 35: # as described in man2. ! 36: # returns 0 for ok, -1 for error. ! 37: ! 38: _brk: ! 39: pea break ! 40: trap #0 ! 41: bcc noerr2 ! 42: jmp cerror2 ! 43: noerr2: ! 44: movl sp@(4),nd ! 45: clrl d0 ! 46: lea 0,a0 ! 47: rts ! 48: ! 49: .data ! 50: nd: .long _end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.