BSD 3 development
[unix-history] / usr / src / libc / sys / crt0.s
CommitLineData
18e5fa7e
BJ
1# C runtime startoff
2
3 .set exit,1
4.globl _exit
5.globl start
6.globl _main
7.globl _environ
8
9#
10# C language startup routine
11
12start:
13 .word 0x0000
14 subl2 $8,sp
15 movl 8(sp),(sp) # argc
16 movab 12(sp),r0
17 movl r0,4(sp) # argv
18L1:
19 tstl (r0)+ # null args term ?
20 bneq L1
21 cmpl r0,*4(sp) # end of 'env' or 'argv' ?
22 blss L2
23 tstl -(r0) # envp's are in list
24L2:
25 movl r0,8(sp) # env
26 movl r0,_environ # indir is 0 if no env ; not 0 if env
27 calls $3,_main
28 pushl r0
29 calls $1,_exit
30 chmk $exit
31#
32 .data
33_environ: .space 4