|
|
1.1 root 1: # opus 30 compiler call to ??? interface routines
2: .globl __qf0
3: __qf0:
4: subl3 $4,r6,r7
5: jbr __qfuncl
6:
7: .globl __qf1
8: __qf1:
9: subl3 $8,r6,r7
10: jbr __qfuncl
11:
12: .globl __qf2
13: __qf2:
14: subl3 $12,r6,r7
15: jbr __qfuncl
16:
17: .globl __qf3
18: __qf3:
19: subl3 $16,r6,r7
20: jbr __qfuncl
21:
22: .globl __qf4
23: __qf4:
24: subl3 $20,r6,r7
25: jbr __qfuncl
26:
27: .globl __qfuncl
28: __qfuncl: # quick function call
29: cmpl r6,_nplim # make sure stack ok
30: blss on1
31: calls $0,_namerr
32: on1: movl (r7),r0 # bring in addr of atom
33: pushl r0 # stack addr of atom of fcn to call
34: movl 8(r0),r0 # bring in fcn binding addr
35: jleq nonexf # jump if fcn non existant
36: ashl $-9,r0,r1 # see if bcd
37: cmpb $5,_typetable+1[r1] # we are calling
38: jeql gotbcd
39: hackit:
40: calls $1,_Lfuncal # call lisp stuff
41: movl r7,r6 # restore np to top
42: rsb # return to callee
43: gotbcd:
44: addl2 $4,r7 # inc lbot by one nament
45: calls $1,*(r0) # call code
46: movab -4(r7),r6 # restore np to top
47: rsb # return
48:
49: nonexf: # non existant function, call c function to take care of it,
50: # we could process it here but wish to minimize assembly language
51: # code.
52: # we should never return from this call
53: # the addr of the atom is already stacked
54:
55: calls $1,_Undeff # call handler
56: clrl r0 # return nil to compiled code
57: rsb # if ever should return here
58:
59: .globl __erthrow # errmessage for uncaught throws
60: __erthrow:
61: .byte 'U,'n,'c,'a,'u,'g,'h,'t,' ,'t,'h,'r,'o,'w
62: .byte ' ,'f,'r,'o,'m,' ,'c,'o,'m,'p,'i,'l,'e,'d
63: .byte ' ,'c,'o,'d,'e,0
64:
65: .globl _tynames
66: _tynames:
67: .long 0 # nothing here
68: .long _lispsys+20*4 # str_name
69: .long _lispsys+21*4 # atom_name
70: .long _lispsys+19*4 # int_name
71: .long _lispsys+23*4 # dtpr_name
72: .long _lispsys+22*4 # doub_name
73: .long _lispsys+58*4 # funct_name
74: .long _lispsys+83*4 # port_name
75: .long _lispsys+47*4 # array_name
76: .long 0 # nothing here
77: .long _lispsys+50*4 # sdot_name
78: .long _lispsys+53*4 # val_nam
79:
80:
81:
82:
83:
84:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.