Annotation of researchv10no/sys/ml/icode.s, revision 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.