1: ; Copyright (c) 1981 Harvard-Radcliffe Student Timesharing System 2: ; Science Center, Harvard University 3: 4: .rept 0 5: universal file for the construction of lisp 6: forrest w. howard, jr. 7: 7/74 8: last mod:5/75 9: 10: file has assembly switches and register definitions. 11: .endr 12: 13: 14: .enabl lc 15: .list meb 16: .nlist mc 17: .nlist cnd 18: .nlist md 19: .list ttm 20: .rept 0 21: registers a&b are used for the passing and return of 22: arguements. they are not to be clobbered in general. the routines 23: that can clobber are eval, read, print, and subrs. 24: j1&j2&j3 are used as scratch 25: 26: .endr 27: 28: 29: 30: 31: 32: j1=%0 33: j2=%1 34: a=%2 35: b=%3 36: j3=%4 37: np=%5 38: sp=%6 39: pc=%7 40: ac0=*%0 41: ac1=*%1 42: ac2=*%2 43: ac3=*%3 44: ac4=*%4 45: ac5=*%5 46: 47: multiseg=*1 ;0 for "normal", 1 for i-d space 48: 49: onepage=* 1 ;if multiseg is off (0), then this 50: ;is a data-space only lisp. this 51: ;switch aranges for portions of 52: ;the code to be put in private (non- 53: ; sharable) space vs the normal 54: ;sharable space (data vs. text). 55: ;the amount depends on fpsim-- 56: ;if fpp hardware exists, the 57: ;sharable code for printr, ratomr, 58: ;and eval is made non-sharable. 59: ;if fpp is on, ctable is also made 60: ;non-sharable. 61: 62: hash=*10 ;hash buckets (0 for no hash) 63: 64: hashm=*7 ;number of buckets -1 65: 66: strlen=*100 ;bytes in atom, max 67: 68: tblen=*106 ;bytes, base 8 for tty buffer size 69: 70: nports=*10 ;number of i-o ports 71: 72: ;;;; noeval=*1 ;define for evaluator hack 73: 74: nplen=*^d1000 ;preliminary length of nstk 75: 76: width=*1 ;define for auto lf on poport 77: 78: smlint=*01 ;if one, allow smallints 79: 80: natom=2 ;type codes 81: 82: ndtpr=1 83: 84: nwd=0 85: 86: nbcd=3 87: 88: nport=4 89: 90: npresc=*^d48 ;name stack reserve 91: 92: nilas0=*1 ;1 for nil to be 0 93: ;should be left on!!! 94: 95: nilas0=*nilas0!multiseg ;no choice under multiseg 96: 97: fpsim=*0 ;0 for hardware 11/45,1 for software 98: 99: brksig=* 2. ;signal used for break... 100: ;used when gc has no space, and 101: ;allows user to specify return to top level 102: ;if is zero, then no break, but immediate top 103: ;level.... 104: 105: jcbms=* 01 ;john c burrus memorial 106: ;switch (bframe subr) 107: 108: ;;;; gctrace=*1 ;define for gcol messages... 109: 110: ;;;; notrap=*1 ;define for trap elimination 111: 112: gcrec=* 01 ;0 for exit on gcol overflow... 113: ;1 for attempt at recovery 114: 115: bell411=*1 ;0 for harvard 411 i&d (what's that?) 116: ;harv 411 hasn't been around since Version 5! 117: ;## s. dyer comment 3/4/81 118: ;1 for bell 411 i&d 119: 120: xfer=* 0 ;0 for almost all uses 121: ;1 for harvard enviroment xfer project 122: ;which never came to be (always 0) 123: 124: prvispace=*00 ;0 for shareable i-space,1 for private 125: ;this switch is not usefull at the moment 126: 127: version7 =* 1 ;1 for Version 7 (uses long seeks) 128: ;0 for V6/PWB 129: ;## s. dyer 3/4/81 130: 131: .if ne,bell411!xfer 132: privispace=*0 ;no choice for v6 or transfer 133: .endc