1: ; Copyright (c) 1981 Harvard-Radcliffe Student Timesharing System 2: ; Science Center, Harvard University 3: 4: .sbttl make things 400 byte multiples long+clean up 5: ; 6: ;forrest howard 7: ; 8: 9: 10: 11: .psect dsubr con 12: .if ne,multiseg 13: tmp=.-starbc 14: .blkb <<tmp+377>&<^c 377>>-tmp 15: .endc 16: 17: 18: ;now put the oblist or hash table in its (their) place(s) 19: 20: .psect ddtpr con 21: hasht: 22: 23: i=0 24: .rept hash 25: dumphash \i 26: i=i+1 27: .endr 28: 29: 30: i=0 31: .rept <hash/2> 32: cons <hasht+<4*i>>,oblist 33: oblist=ddtpr 34: i=i+1 35: .endr 36: 37: ;;;;;;;;;now build in eval driver in case of xfer lisp 38: 39: .if ne,xfer 40: .globl feval1,feval2,fevq1,fevq2,feval3,fevq3 41: cons anil,anil 42: tnil=* ddtpr 43: cons aread,tnil ;make (read nil) 44: feval3=* ddtpr 45: cons feval3,anil ;((read nil)) 46: tmp=* ddtpr 47: cons aeval,tmp ;now (eval(read nil)) 48: feval2=* ddtpr 49: cons feval2,tnil ; ((eval (read nil)) nil) 50: tmp=* ddtpr 51: cons aprint,tmp ; (print(eval(read nil)) nil) 52: 53: elist = ddtpr ;list for eval mode...now evalquote 54: feval1=* ddtpr 55: 56: cons aevquote,tnil 57: fevq3 =* ddtpr 58: cons fevq3,anil ;((evalquote nil)) 59: tmp=* ddtpr 60: cons aeval,tmp ;(eval(evalquote nil)) 61: fevq2=* ddtpr 62: cons fevq2,tnil ;((eval(evalquote nil)) nil) 63: tmp=* ddtpr 64: cons aprint,tmp ;(print(eval(evalquotenil))nil] 65: eqlist = ddtpr 66: fevq1=* eqlist 67: 68: cons eqlist,elist ;cons together 69: 70: elists=* ddtpr ;will be lit list of $mumble... 71: .endc 72: 73: 74: 75: 76: .psect uswddat con 77: xoblist: oblist 78: 79: 80: .psect ddtpr con 81: .blkb <<.-frstdtpr>!^b11111111>-<.-frstdtpr> 82: .psect datom con 83: lsatm=. 84: tmp=<<<.-frstatom>!377>+1>-<.-frstatom> 85: .if le,tmp-3 86: .ift 87: onlyatom=anil 88: .iff 89: onlyatom: .word anil,<tmp-2>/2 90: .endc 91: .blkb <<<.-frstatom>!377>+1>-<.-frstatom> 92: lastpage: 93: 94: .psect datom con 95: .word 2 ;this was once necessary to allocate 96: ;not sure is needed now, but doesn't hurt 97: 98: .psect uswddat 99: tmp=<.-<where>> 100: .psect usport 101: tmp=tmp+<.-<piport>> 102: .psect usbydat con 103: 104: .even 105: tmp=tmp+<.-<char>> 106: 107: 108: .if ne,multiseg ;concern self with "share" data 109: 110: .psect shrwdda 111: .even 112: tmp=tmp+<.-master> 113: tmp=tmp+20+24+202 ;for numbers,gcolptrs,ctable 114: tmp = tmp+12 ;for psect anil 115: .if ne,fpsim 116: tmp= tmp-20 117: .endc 118: 119: .endc 120: 121: .blkb <<tmp+377>&<^c 377>>-tmp 122: .psect shbydat 123: 124: .even 125: 126: 127: 128: 129: .end