1: ; Copyright (c) 1981 Harvard-Radcliffe Student Timesharing System
   2: ; Science Center, Harvard University
   3: 
   4: .page
   5:         .title  early   data
   6: ;this file is the data segment of pdp-11 lisp
   7: ;it contains the sharable and non-sharable data
   8: ;
   9: ;	forrest w howard, jr.
  10: ;
  11: ;Version 7 conditional code added 3/4/81 by s. dyer harvard science center
  12: 
  13:         .mcall  $exit,$fork,$read,$write,$open,$create,$exec,$break,$seek
  14:         .mcall  $indir,$close,$wait,$sig,$stty,$gtty
  15: 
  16:         .psect  dsubr con
  17: 
  18: 
  19: starbc=.
  20: .if     ne,multiseg
  21:         firpage=.
  22: .endc
  23: 
  24: 
  25:         .psect  ddtpr con
  26: .if     eq,multiseg
  27:         firpage=.
  28: .endc
  29:         frstdtpr=.
  30: 
  31:         .psect  datom con
  32:         frstatom=.
  33: 
  34:         oblist=anil             ;initial oblist assignment
  35:         i=0
  36: .rept   hash
  37:         defobl  \i
  38:         i=i+1
  39: .endr
  40: ;this is for nil=0 hack
  41: .if     ne,nilas0
  42:         .psect  nil
  43: anil=0
  44: .if     ne,multiseg
  45:         anil
  46:         anil
  47: .endc
  48:         anil
  49:         .asclc  nil
  50:         .even
  51:         .iff
  52:         anil=atmnil
  53: .endc
  54: 
  55:         .psect  usbydat con
  56: char:   .byte   0
  57: nsext:  .byte   0       ;non zero if we're using nstk reserve
  58: intflg: .byte   0       ;non zero if we've been interpupted
  59: noint:  .byte   0       ;1 if cannot do panic inter
  60: tracflg:.byte   0       ;1 if traceing stuff
  61: keybin: .byte   0       ;1 if getting user input
  62: .if     ne,fpsim
  63:  sign:  .byte   0       ;sign indicator
  64: .endc
  65: 
  66: 
  67: 
  68:         .psect  uswddat con
  69: 
  70: 
  71: where:  .word   init            ;where to jump to
  72: prompt: .word   eprompt         ;-> or4 <-
  73: bprompt:.word   beprompt        ;:> of <:
  74: .if     ne,xfer
  75:  readh: .word   elist           ;use the list approach
  76: .iff
  77:  readh: .word   readr           ;readr or evalquote
  78: .endc
  79: protocell: .word        0       ;for protocol
  80: rbktf:  .word   0               ;for right bracket
  81: gcolf:  .word   0               ;if non zero, gcol in process
  82: fltdmp: .word 0,0               ;for floating point stuff
  83: gennum: .word   0,177777        ;for gensym
  84:         .word   0               ;top of pidsav
  85: pidsav: .word   0               ;for process id
  86: brkl:   .word   0,0             ;break level
  87: ;itop:	.word	lastiloc+2	;for imem management
  88: .if     ne,jcbms
  89: frmptr: .word   0       ;for spaghetti stacks
  90: .endc
  91: .if     ne,fpsim
  92:  fpstuf:        .word 0,0,0
  93:         .globl  sign,fpstuf
  94: .endc
  95: 
  96: ;system indirect call setups
  97: 
  98: $$seek: $seek
  99:         .word   0,0
 100: .if     ne, version7            ; i.e. V7 seek ## s. dyer. 3/4/81
 101:         .word   0               ; has three in-line words
 102: .endc
 103: 
 104: $$break: $break
 105:         .word   <^ph datom>     ; datom has 2 added to end, to prevent
 106:                                 ; stack colission!!
 107: 
 108: $$open: $open
 109:         .word   0,0
 110: $$create: $create
 111:         .word   0,755
 112: $$read: $read
 113:         .word   0
 114:         .word   0
 115: 
 116: $$write:        $write
 117:         .word   0,0
 118: $$sig: $sig
 119:         .word   0,0
 120: 
 121: saveloc:.word   0               ;for temporary storage
 122: nptop:  .word   0               ;top of name stack
 123: nplength: .word nplen           ;lenth of namestack
 124: npbottom:
 125: cptop:  .word   0               ;highest loc in cstk, lowest in nstk
 126: npres:  .word   0               ;where overflow nstk starts
 127: ltop:   .word   0               ;for recursive func calls
 128: 
 129: 
 130: 
 131: frdtpr:                         ;free lists
 132: fdtpr:  anil
 133: mfdtpr: ^d50                    ;minimum from gcol return
 134: mfnumb: ^d50
 135: cnumber:.word   0               ;count used by gcol
 136: cdtpr:  .word   0
 137: fratom:
 138: fatom:  onlyatom
 139: frnumber:
 140: fnumber:        anil
 141: fbcd:
 142: frbcd:  anil
 143: 
 144: 
 145: 
 146: 
 147: 
 148: 
 149:         .psect  uswdda
 150: 
 151: nplim:  .word   0               ;used by nstk overflow
 152: lnleng: .word   ^d67            ;initial length of line
 153: 
 154:         .psect  usbydat con
 155:         .even
 156: strbuf: .blkb   strlen
 157: strbend: .blkb  30
 158:         .even
 159: tib:    .blkb   tblen           ;tty input buffer
 160:         .even
 161:         .word 0                 ;allow for slight overflow
 162: tob:    .blkb   tblen           ;tty output buffer
 163:         .even
 164:         .word   0
 165: eob:    .blkb   ^d22            ;standard error output buffer
 166:         .word   0
 167: qmap:   .blkb   ^d256           ;store types of pages
 168: 
 169:         .psect  usport con
 170: piport: .word   0,tib,tib,0,tblen
 171: poport: .word   202,tob,tob,tblen,tblen
 172: erport: .word   204,eob,eob,^d20,^d20
 173: .rept   nports-3
 174:         .blkw   5
 175: .endr
 176: 
 177: 
 178: 
 179:         .psect  usbydat con
 180: supcol: .byte   0               ;in system, used to tell whether full collection on
 181: 
 182: 
 183: 
 184:         .psect  shrwdda con
 185: 
 186: master:         .asciz  ?/usr/new/lib/lisp11/?
 187: erf:            .ascii  ?/usr/new/lib/lisp11/?
 188: .if     ne,xfer
 189: terf:           .asciz  ?xlisp.err?
 190: .iff
 191: terf:           .asciz ?lisp.err?
 192: .endc
 193: eprompt:        .byte   12
 194:                 .asciz  /-> /
 195: beprompt:       .asciz  /:> /
 196: eqprompt:       .byte   12
 197:                 .asciz  /<- /
 198: beqprompt:      .asciz  /<: /
 199: linefeed:       .byte   12,0
 200: genstr:         .asciz  /gensym/
 201: protostr:       .asciz  /lisp.protocol/
 202: .if     ne,multiseg
 203:         .globl  lispbin
 204: lispbin:        .asciz ?./lisp.out?
 205: .endc
 206: broken:         .asciz  <12>/breaking   /
 207: sportsym:       .asciz  /port/
 208: sbcdout:        .ascii /binary#/
 209: savenm:         .asciz  /code/
 210: sspc:           .asciz / /
 211: spersda:        .asciz /. /
 212: dq:             .asciz /"/
 213: 
 214: 
 215: 
 216: .if     df,gctrace
 217:         .globl  gcex,gcem
 218: 
 219: 
 220: gcex:           .asciz  <12>/leaving gcol/<12>
 221: gcem:           .asciz  <12>/entering gcol/<12>
 222: 
 223: .endc
 224: .if     ne,xfer
 225:         .psect  shrwdda
 226: 
 227:         .globl  xprog,xfile,xvect,xbcdm
 228: 
 229: xprog:  .asciz  ?/sys/lisp/bin/xprog?
 230: xbcdm:  .asciz  ?/sys/lisp/bin/bcdmap?
 231:         .even
 232: xvect:  .word   xprog,xfile,0
 233: 
 234:         .psect  usbyda
 235: 
 236: xfile:  .asciz  /******/
 237: 
 238: .endc
Last modified: 1987-08-23
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1447
Valid CSS Valid XHTML 1.0 Strict