|
|
1.1 ! root 1: # @(#)mcrt0.s 4.1 (Berkeley) 12/21/80 ! 2: # C runtime startoff including monitoring ! 3: # TAHOE 3/83 ! 4: ! 5: .set exit,1 ! 6: .set cbufs,300 ! 7: ! 8: .globl start ! 9: .globl _monitor ! 10: .globl _monstartup ! 11: .globl _main ! 12: .globl _exit ! 13: .globl _etext ! 14: .globl _environ ! 15: .globl __cleanup ! 16: .comm countbase,4 ! 17: ! 18: ! 19: start: ! 20: .word 0x0000 ! 21: movab -8(sp),sp ! 22: movl 8(sp),(sp) # argc ! 23: movab 12(sp),r0 ! 24: movl r0,4(sp) # argv ! 25: jmp L3 ! 26: L1: ! 27: addl2 $4,r0 ! 28: L3: ! 29: tstl (r0) # null args term ? ! 30: jneq L1 ! 31: addl2 $4,r0 ! 32: cmpl r0,*4(sp) # end of 'env' or 'argv' ? ! 33: jlss L2 ! 34: subl2 $4,r0 # envp's are in list ! 35: L2: ! 36: movl r0,8(sp) # env ! 37: movl r0,_environ # indir is 0 if no env ; not 0 if env ! 38: ! 39: pushab _etext ! 40: pushab eprol ! 41: callf $4*2+4,_monstartup ! 42: callf $4*3+4,_main ! 43: pushl r0 ! 44: callf $4*1+4,_exit ! 45: ! 46: .data ! 47: _environ: .space 4 ! 48: ! 49: .text ! 50: _exit: ! 51: .word 0x0000 ! 52: callf $4,__cleanup ! 53: pushl $0 ! 54: callf $4*1+4,_monitor ! 55: movl 4(fp),r0 ! 56: kcall $exit ! 57: eprol: ! 58: ! 59:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.