|
|
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.