Annotation of 43BSDTahoe/lib/libc/tahoe/csu/mcrt0.s, revision 1.1.1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.