Annotation of 41BSD/cmd/px/01int.s, revision 1.1

1.1     ! root        1: #
        !             2: # Copyright (c) 1979 Regents of the University of California
        !             3: #
        !             4: # char sccsid[] = "@(#)01int.s 4.1 10/10/80";
        !             5: #
        !             6: _HALT:
        !             7:        movw    $EHALT,_perrno
        !             8:        jbr     error
        !             9: 
        !            10: _GOTO:
        !            11:        cvtbl   (r10)+,r0
        !            12:        movl    _display(r0),r6 #r6 has exit dp value
        !            13:        addl3   (r10),ap,r10    #establish return address
        !            14: L0101:
        !            15:        cmpl    r6,(r9)         #check for done
        !            16:        blss    egoto           #missed the requested frame
        !            17:        beql    L0102
        !            18:        pushl   (r9)            #flush and close local files
        !            19:        calls   $1,_pclose
        !            20:        movl    (r9),sp         #deallocate local vars
        !            21:        movl    16(sp),(r9)     #restore old display entry
        !            22:        movl    20(sp),r9       #get old display pointer
        !            23:        brb     L0101           #continue
        !            24: L0102:
        !            25:        movl    4(sp),_file     #restore old I/O info
        !            26:        movl    8(sp),r7
        !            27:        movl    *(r9),sp        #reset sp to top of stack
        !            28:        jmp     (r8)
        !            29: egoto:
        !            30:        movl    $EGOTO,_perrno
        !            31:        jbr     error
        !            32: 
        !            33: _LINO:
        !            34:        cmpl    *(r9),sp        #check stack integrity
        !            35:        jneq    stknemp
        !            36:        cvtbl   (r10)+,r11      #update line number
        !            37:        bneq    L0103
        !            38:        movzwl  (r10)+,r11
        !            39: L0103:
        !            40:        aoblss  _stlim,_stcnt,L0104   #update statement count
        !            41:        movw    $ESTLIM,_perrno
        !            42:        jbr     error
        !            43: stknemp:
        !            44:        movw    $ESTKNEMP,_perrno
        !            45:        jbr     error
        !            46: L0104:
        !            47:        jmp     (r8)
        !            48: 
        !            49: _IF:
        !            50:        tstw    (sp)+
        !            51:        beql    _TRA
        !            52:        addl2   $3,r10
        !            53:        jmp     (r8)
        !            54: 
        !            55: _TRA4:
        !            56:        addl3   1(r10),ap,r10
        !            57:        jmp     (r8)
        !            58: 
        !            59: _TRA:
        !            60:        incl    r10
        !            61:        cvtwl   (r10),r0
        !            62:        addl2   r0,r10
        !            63:        jmp     (r8)
        !            64: 
        !            65: _PUSH:
        !            66:        cvtbl   (r10)+,r0
        !            67:        bneq    L0105
        !            68:        movl    (r10)+,r0
        !            69: L0105:
        !            70:        mnegl   r0,r0
        !            71:        blbc    r0,L0106
        !            72:        incl    r0
        !            73: L0106:
        !            74:        subl3   r0,sp,r1        #r1 points to new top of stack
        !            75:        clrl    tempsize(r1)    #check for memory (fault => not available)
        !            76:        movl    r1,sp           #allocate the memory
        !            77:        movc5   $0,(r2),$0,r0,(sp)
        !            78:        jmp     (r8)
        !            79: 
        !            80: _SDUP2:
        !            81:        incl    r10
        !            82:        movw    (sp),-(sp)
        !            83:        jmp     (r8)
        !            84: 
        !            85: _SDUP4:
        !            86:        incl    r10
        !            87:        movl    (sp),-(sp)
        !            88:        jmp     (r8)
        !            89: 
        !            90: _ASRT:
        !            91:        incl    r10
        !            92:        tstw    (sp)+
        !            93:        beql    L0107
        !            94:        jmp     (r8)
        !            95: L0107:
        !            96:        movw    $EASRT,_perrno
        !            97:        jbr     error

unix.superglobalmegacorp.com

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