Annotation of researchv10no/sys/ml/icode.s, revision 1.1.1.1

1.1       root        1: #
                      2: # init code, executed by process 1
                      3: # this should be pc-relative
                      4: #
                      5: 
                      6:        .text
                      7: 
                      8:        .globl  _icode
                      9:        .globl  _szicode
                     10: 
                     11: _icode:
                     12:        pushab  4f      # environment
                     13:        pushab  2f      # arg list
                     14:        pushab  1f      # program
                     15:        pushl   $3      # arg count
                     16:        movl    bootflags,r11   # old init expects flags here
                     17:        movab   ireg,r0
                     18:        bbs     $1,r11,0f       # bit 1 (sic) means single user
                     19:         movab  iauto,r0
                     20: 0:     movl    r0,2f+4 # init first arg
                     21:        movl    sp,ap   # args
                     22:        chmk    $59     # exece
                     23: 0:     brb     0b      # loop on error
                     24: 
                     25: 1:
                     26:        .asciz  "/etc/init"
                     27: 2:
                     28:        .long   3f-_icode
                     29:        .long   0
                     30: 4:     .long   0
                     31: 3:
                     32:        .asciz  "init"
                     33: iauto: .asciz  "a"
                     34: ireg:  .asciz  "s"
                     35: bootflags:
                     36:        .long   0
                     37: 
                     38: _szicode:
                     39:        .long   _szicode-_icode
                     40: 
                     41: 
                     42: #
                     43: # signal trampoline code
                     44: # its length is (stupidly) well-known
                     45: # to be 12 bytes
                     46: #
                     47: 
                     48:        .globl  _sigcode
                     49:        .globl  _szsigcode
                     50:        .align  2
                     51: _sigcode:
                     52:        calls   $3,1(pc)
                     53:        rei
                     54:        .word   0x7f
                     55:        callg   (ap),*12(ap)
                     56:        ret
                     57: 
                     58: _szsigcode:
                     59:        .long   _szsigcode-_sigcode

unix.superglobalmegacorp.com

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