|
|
1.1 ! root 1: # C runtime startoff ! 2: # $Header: /na/franz/franz/vax/RCS/hcrt0.s,v 1.1 83/03/27 18:40:07 jkf Exp $ ! 3: ! 4: .set exit,1 ! 5: .globl _exit ! 6: .globl start ! 7: .globl hstart ! 8: .globl _main ! 9: .globl _environ ! 10: ! 11: # ! 12: # C language startup routine ! 13: ! 14: hstart: ! 15: .word 0x0000 ! 16: movl $1,r1 ! 17: jbr L0 ! 18: start: ! 19: .word 0x0000 ! 20: clrl r1 ! 21: L0: ! 22: subl2 $8,sp ! 23: movl 8(sp),(sp) # argc ! 24: movab 12(sp),r0 ! 25: movl r0,4(sp) # argv ! 26: L1: ! 27: tstl (r0)+ # null args term ? ! 28: bneq L1 ! 29: cmpl r0,*4(sp) # end of 'env' or 'argv' ? ! 30: blss L2 ! 31: tstl -(r0) # envp's are in list ! 32: L2: ! 33: movl r0,8(sp) # env ! 34: movl r0,r10 # indir is 0 if no env ; not 0 if env ! 35: tstl r1 ! 36: beql L3 ! 37: calls $0,_rlc ! 38: L3: ! 39: movl r10,_environ ! 40: calls $3,_main ! 41: pushl r0 ! 42: calls $1,_exit ! 43: chmk $exit ! 44: # ! 45: .data ! 46: _environ: .space 4
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.