Annotation of 41BSD/cmd/px/01int.s, revision 1.1.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.