|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.