|
|
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.