Trailing-Edge
-
PDP-10 Archives
-
-
There are no other files named in the archive.
(SETQ IBASE (SETQ BASE (ADD1 7)))
(HGHCOR 18000)
(DEFPROP SPECIAL (NIL . T) VALUE)
(DEFPROP LAPLST (NIL . NIL) VALUE)
(DEFPROP REMOB (NIL) VALUE)
(DEFPROP LAP
(LAMBDA(SL)
(PROG (L MARKLST COM0 REMOB LL)
(SETQ COM0 (GENSYM))
(SETQ MARKLST (LIST NIL))
(SETQ L BPORG)
A (COND ((NULL (SETQ LL (READ))) (GO END))
((ATOM LL) (DEFSYM LL L) (GO A)))
(DEPOSIT L (MAKNUM (GWD LL) (QUOTE FIXNUM)))
(FREELIST LL)
(SETQ L (ADD1 L))
(GO A)
END (DEFSYM COM0 L)
EN1 (COND
((NULL (SETQ MARKLST (CDR MARKLST)))
(APPLY# (QUOTE REMOB) REMOB)
(FREELIST REMOB)
(PUTPROP (CAR SL) (NUMVAL BPORG) (CADR SL))
(RETURN (SETQ SL (LIST (CAR SL) L)))))
(SETQ KLIST (CONS (CONS (CAR MARKLST) L) KLIST))
(DEPOSIT L (MAKNUM (GWD (CAR MARKLST)) (QUOTE FIXNUM)))
(SETQ L (ADD1 L))
(GO EN1))
(AND (REMPROP (CAR SL) (QUOTE NOCALL)) (DEFSYM (CAR SL) BPORG))
(SETQ BPORG (CADR SL))
SL)
FEXPR)
(DEFPROP TYPE
(LAMBDA (X) (COND ((NUMBERP X) (CADR X))))
EXPR)
(DEFPROP GWD
(LAMBDA(X)
(NUMVAL (PROG (WRD FLD)
(SETQ FLD
(QUOTE
((22 . -1) (27 . 17) (0 . 777777) (22 . 777777))))
(SETQ WRD 0)
(MAPC (FUNCTION
(LAMBDA(ZZ)
(PROG2 (SETQ WRD
(*PLUS WRD
(LSH (BOOLE 1
(CDAR FLD)
(LAPEVAL ZZ))
(CAAR FLD))))
(SETQ FLD (CDR FLD)))))
X)
(COND ((EQ (CADDDR X) (QUOTE S))
(SETQ WRD (*DIF WRD (EXAMINE 11)))))
(RETURN WRD))))
EXPR)
(DEFPROP LAPEVAL
(LAMBDA(X)
(COND ((NUMBERP X) X)
((ATOM X) (GVAL X))
((MEMQ (CAR X) (QUOTE (E QUOTE)))
(MAKNUM
(COND
((OR (CONSP (SETQ X (CADR X))) (AND (NUMBERP X) (NEQ (*PLUS X 0) X)) (STRINGP X))
(PROG (Y)
(SETQ Y QLIST)
A (COND ((NULL Y) (RETURN (CAR (SETQ QLIST (CONS X QLIST)))))
((AND (EQUAL X (CAR Y)) (EQ (TYPE X) (TYPE (CAR Y)))) (RETURN (CAR Y))))
(SETQ Y (CDR Y))
(GO A)))
(T X))
(QUOTE FIXNUM)))
((EQ (CAR X) (QUOTE SPECIAL))
(COND ((NULL (GET (CADR X) (QUOTE VALUE))) (PUTPROP (CADR X) (CONS NIL (UNBOUND)) (QUOTE VALUE))))
(PROG (Y)
(RPLACA (SETQ Y (GET (CADR X) (QUOTE VALUE))) NIL)
(AND SPECIAL (NOT (ASSOC Y LAPLST)) (SETQ LAPLST (CONS (CONS Y (CADR X)) LAPLST)))
(RETURN (MAKNUM Y (QUOTE FIXNUM)))))
((EQ (CAR X) (QUOTE C))
(PROG (N CPTR)
(SETQ CPTR KLIST)
L11 (COND ((NULL CPTR) (GO L12)) ((EQUAL (CDR X) (CAAR CPTR)) (RETURN (CDAR CPTR))))
(SETQ CPTR (CDR CPTR))
(GO L11)
L12 (GVAL COM0)
(SETQ N 0)
(SETQ CPTR MARKLST)
A (COND ((NULL (CDR CPTR)) (RPLACD CPTR (LIST (CDR X))) (RETURN N)))
(COND ((EQUAL (CDR X) (CADR CPTR)) (RETURN N)))
(SETQ N (ADD1 N))
(SETQ CPTR (CDR CPTR))
(GO A)))
(T (*PLUS (LAPEVAL (CAR X)) (LAPEVAL (CDR X))))))
EXPR)
(DEFPROP DEFSYM
(LAMBDA(SYM VAL)
(PROG (Z)
(SETQ REMOB (CONS SYM REMOB))
(COND ((SETQ Z (GET SYM (QUOTE UNDEF))) (GO PATCH)))
A (RETURN (PUTPROP SYM VAL (QUOTE SYM)))
PATCH
(COND ((NULL Z) (REMPROP SYM (QUOTE UNDEF)) (GO A)))
(DEPOSIT (CAR Z) (*PLUS (EXAMINE (CAR Z)) VAL))
(SETQ Z (CDR Z))
(GO PATCH)))
EXPR)
(DEFPROP GVAL
(LAMBDA(SYM)
(COND ((GET SYM (QUOTE SYM)))
((GET SYM (QUOTE VALUE)) (MAKNUM SYM (QUOTE FIXNUM)))
(T (PUTPROP SYM
(CONS L (GET SYM (QUOTE UNDEF)))
(QUOTE UNDEF))
0)))
EXPR)
(DEFPROP OPS
(LAMBDA(L)
(PROG NIL
A (COND ((NULL L) (RETURN T)))
(PUTPROP (CAR L) (CADR L) (QUOTE SYM))
(SETQ L (CDDR L))
(GO A)))
FEXPR)
(OPS MOVE 200000 MOVEI 201000 MOVEM 202000 JRST 254000 CALL 34000 JCA
LL 35000 PUSHJ 260000 POPJ 263000 PUSH 261000 POP 262000 P 14 JSP 265
000 EXCH 250000 JUMPE 322000 JUMPN 326000 SOJE 362000 SOJN 366000 CAI
E 302000 CAIN 306000 CAME 312000 CAMN 316000 CALLF 36000 JCALLF 37000
HRRZ@ 550020 HLRZ@ 554020 TDZA 634000 SUB 274000 HRRZ 550000 HLRZ 55
4000 CLEARM 402000 CLEARB 403000 ADD 270000 MOVNI 211000 CALLF@ 36020
JCALLF@ 37020 HRRM@ 542020 HRLM@ 506020 HRRZS@ 553020 HLLZS@ 513020
HRRM 542000 S 11 D 12)
(COND ((NULL (GET (QUOTE QLIST) (QUOTE VALUE))) (SETQ QLIST NIL)))
(COND ((NULL (GET (QUOTE KLIST) (QUOTE VALUE))) (SETQ KLIST NIL)))
(SETQ BORG1 BPORG)
(SETQ BEND1 BPEND)
(SETQ BPORG (HGHORG NIL))
(SETQ BPEND (HGHEND))
(DEFPROP REMLAP
(LAMBDA NIL
(PROG (Z)
(SETQ Z (QUOTE (LAP LAPEVAL GWD DEFSYM REMLAP OPS GVAL TYPE)))
A (COND ((NULL Z) (GO B)))
(REMPROP (CAR Z) (QUOTE EXPR))
(REMPROP (CAR Z) (QUOTE FEXPR))
(SETQ Z (CDR Z))
(GO A)
B (REMPROP (QUOTE REMLAP) (QUOTE EXPR))
(REMOB REMLAP WRD FLD SL LL Z VAL END EN1 L11 L12 PATCH)))
EXPR)
(LAP GWD SUBR)
(PUSH P (C 0))
(PUSH P 1)
(PUSHJ P G0123)
(506000 1 -1 P)
(PUSHJ P G0123)
(242000 1 27)
(436000 1 -1 P)
(PUSHJ P G0123)
(HRRM 1 -1 P)
(PUSHJ P G0123)
(CAIE 1 S)
(JRST 0 G0122)
(210000 2 S)
(272000 2 -1 P)
G0122 (514000 1 1)
(436000 1 -1 P)
G0124 (POP P 1)
(POP P 1)
(POPJ P)
G0125 (POP P 1)
(JRST 0 G0124)
G0123 (MOVE 2 -1 P)
(JUMPE 2 G0125)
(HLRZ 1 0 2)
(HRRZ 2 0 2)
(MOVEM 2 -1 P)
(CALL 1 (E LAPEVAL) S)
(JRST 0 NUMVAL)
NIL
(LAP LAP FSUBR)
(JSP 6 SPECBIND)
(0 0 (SPECIAL L) S)
(0 0 (SPECIAL MARKLST) S)
(0 0 (SPECIAL COM0) S)
(0 0 (SPECIAL REMOB) S)
(PUSH P 1)
(CALL 0 (E GENSYM) S)
(MOVEM 1 (SPECIAL COM0) S)
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E NCONS) S)
(MOVEM 1 (SPECIAL MARKLST) S)
(MOVE 2 (SPECIAL BPORG) S)
(MOVEM 2 (SPECIAL L) S)
(PUSH P (C 0 0 (QUOTE NIL)))
G0001 (CALL 0 (E READ) S)
(MOVEM 1 0 P)(JUMPE 1 G0002)(CALL 1 (E ATOM) S)
(JUMPE 1 G0011)
(MOVE 2 (SPECIAL L) S)
(MOVE 1 0 P)
(CALL 2 (E DEFSYM) S)
(JRST 0 G0001)
G0011 (MOVE 1 0 P)
(CALL 1 (E GWD) S)
(MOVE 3 1)
(MOVE 1 (SPECIAL L) S)
(PUSHJ P NUMVAL)
(MOVEM 3 0 1)
(MOVE 1 0 P)
(CALL 1 (E FREELIST) S)
(MOVE 1 (SPECIAL L) S)
(CALL 1 (E ADD1) S)
(MOVEM 1 (SPECIAL L) S)
(MOVE 2 (SPECIAL BPEND) S)
(CALL 2 (E *LESS) S)
(JUMPN 1 G0001)
(CALL 0 (E TERPRI) S)
(MOVEI 1 (QUOTE BINARY/ PROGRAM/ SPACE/ EXCEEDED) S)
(CALL 1 (E PRINC) S)
(CALL 0 (E ERR) S)
G0002 (MOVE 2 (SPECIAL L) S)
(MOVE 1 (SPECIAL COM0) S)
(CALL 2 (E DEFSYM) S)
G0003 (HRRZ@ 1 (SPECIAL MARKLST) S)
(MOVEM 1 (SPECIAL MARKLST) S)
(JUMPN 1 G0022)
(MOVE 1 (SPECIAL REMOB) S)
(CALL 17 (E REMOB) S)
(MOVE 1 (SPECIAL REMOB) S)
(CALL 1 (E FREELIST) S)
(HLRZ@ 1 -1 P)
(PUSH P 1)
(MOVE 1 (SPECIAL BPORG) S)
(CALL 1 (E NUMVAL) S)
(HRRZ@ 3 -2 P)
(HLRZ@ 3 3)
(MOVE 2 1)
(POP P 1)
(CALL 3 (E PUTPROP) S)
(MOVE 1 (SPECIAL L) S)
(CALL 1 (E NCONS) S)
(HLRZ@ 2 -1 P)
(CALL 2 (E XCONS) S)
(MOVEM 1 -1 P)
(JRST 0 G0004)
G0022 (MOVE 2 (SPECIAL L) S)
(HLRZ@ 1 (SPECIAL MARKLST) S)
(CALL 2 (E CONS) S)
(MOVE 2 (SPECIAL KLIST) S)
(CALL 2 (E CONS) S)
(MOVEM 1 (SPECIAL KLIST) S)
(HLRZ@ 1 (SPECIAL MARKLST) S)
(PUSH P (SPECIAL L) S)
(CALL 1 (E GWD) S)
(MOVE 3 1)
(POP P 1)
(PUSHJ P NUMVAL)
(MOVEM 3 0 1)
(350000 0 1)
(CALL 2 (E MAKNUM) S)
(MOVEM 1 (SPECIAL L) S)
(JRST 0 G0003)
G0004 (SUB P (C 0 0 1 1))
(PUSHJ P SPECSTR)
(HLRZ@ 1 0 P)
(MOVEI 2 (QUOTE NOCALL) S)
(CALL 2 (E REMPROP) S)
(JUMPE 1 G0005)
(HLRZ@ 1 0 P)
(MOVE 2 (SPECIAL BPORG) S)
(CALL 2 (E DEFSYM) S)
G0005 (HRRZ@ 1 0 P)
(HLRZ@ 1 1)
(MOVEM 1 (SPECIAL BPORG) S)
(POP P 1)
(POPJ P)
NIL
(LAP LAPEVAL SUBR)
(PUSH P 1)
(CALL 1 (E NUMBERP) S)
(JUMPE 1 TAG5)
(MOVE 1 0 P)
(JRST 0 TAG4)
TAG5 (MOVE 1 0 P)
(CALL 1 (E ATOM) S)
(JUMPE 1 TAG6)
(MOVE 1 0 P)
(CALL 1 (E GVAL) S)
(JRST 0 TAG4)
TAG6 (MOVEI 2 (QUOTE (E QUOTE)) S)
(HLRZ@ 1 0 P)
(CALL 2 (E MEMQ) S)
(JUMPE 1 TAG7)
(HRRZ@ 1 0 P)
(HLRZ@ 1 1)
(MOVEM 1 0 P)
(CALL 1 (E ATOM) S)
(JUMPE 1 TAG12)
(MOVE 1 0 P)
(CALL 1 (E NUMBERP) S)
(JUMPE 1 TAG13)
(MOVEI 2 (QUOTE 0))
(MOVE 1 0 P)
(CALL 2 (E *PLUS) S)
(CAME 1 0 P)
(JRST 0 TAG12)
TAG13 (MOVE 1 0 P)
(CALL 1 (E STRINGP) S)
(JUMPE 1 TAG11)
TAG12 (PUSH P (SPECIAL QLIST) S)
TAG0 (MOVE 1 0 P)
(JUMPN 1 TAG20)
(MOVE 2 (SPECIAL QLIST) S)
(MOVE 1 -1 P)
(CALL 2 (E CONS) S)
(MOVEM 1 (SPECIAL QLIST) S)
(HLRZ@ 1 1)
(JRST 0 TAG14)
TAG20 (HLRZ@ 2 1)
(MOVE 1 -1 P)
(CALL 2 (E EQUAL) S)
(JUMPE 1 TAG21)
(MOVE 1 -1 P)
(CALL 1 (E TYPE) S)
(PUSH P 1)
(HLRZ@ 1 -1 P)
(CALL 1 (E TYPE) S)
(POP P 2)
(CAME 1 2)
(JRST 0 TAG21)
(HLRZ@ 1 0 P)
(JRST 0 TAG14)
TAG21 (HRRZ@ 1 0 P)
(MOVEM 1 0 P)
(JRST 0 TAG0)
TAG14 (SUB P (C 1 0 1 0))
(JRST 0 TAG10)
TAG11 (MOVE 1 0 P)
TAG23
TAG10 (MOVEI 2 (QUOTE FIXNUM) S)
(CALL 2 (E MAKNUM) S)
(JRST 0 TAG4)
TAG7 (HLRZ@ 2 0 P)
(CAIE 2 (QUOTE SPECIAL) S)
(JRST 0 TAG25)
(MOVEI 2 (QUOTE VALUE) S)
(HRRZ@ 1 0 P)
(HLRZ@ 1 1)
(CALL 2 (E GET) S)
(JUMPN 1 TAG27)
(CALL 1 (E UNBOUND) S)
(MOVEI 2 (QUOTE NIL))
(CALL 2 (E XCONS) S)
(MOVEI 3 (QUOTE VALUE) S)
(MOVE 2 1)
(HRRZ@ 1 0 P)
(HLRZ@ 1 1)
(CALL 3 (E PUTPROP) S)
TAG27 (MOVEI 2 (QUOTE VALUE) S)
(HRRZ@ 1 0 P)
(HLRZ@ 1 1)
(CALL 2 (E GET) S)
(HRRZS@ 0 1)
(PUSH P 1)
(MOVE 1 (SPECIAL SPECIAL) S)
(JUMPE 1 TAG34)
(MOVE 2 (SPECIAL LAPLST) S)
(MOVE 1 0 P)
(CALL 2 (E ASSOC) S)
(JUMPN 1 TAG34)
(HRRZ@ 2 -1 P)
(HLRZ@ 2 2)
(MOVE 1 0 P)
(CALL 2 (E CONS) S)
(MOVE 2 (SPECIAL LAPLST) S)
(CALL 2 (E CONS) S)
(MOVEM 1 (SPECIAL LAPLST) S)
(JUMPN 1 TAG33)
TAG34
TAG33 (MOVEI 2 (QUOTE FIXNUM) S)
(MOVE 1 0 P)
(CALL 2 (E MAKNUM) S)
(SUB P (C 1 0 1 0))
(JRST 0 TAG4)
TAG25 (HLRZ@ 3 0 P)
(CAIE 3 (QUOTE C) S)
(JRST 0 TAG35)
(PUSH P (SPECIAL KLIST) S)
(PUSH P (C 0 0 (QUOTE NIL) 0))
TAG1 (MOVE 1 -1 P)
(JUMPE 1 TAG2)
(HLRZ@ 2 1)
(HLRZ@ 2 2)
(HRRZ@ 1 -2 P)
(CALL 2 (E EQUAL) S)
(JUMPE 1 TAG42)
(HLRZ@ 1 -1 P)
(HRRZ@ 1 1)
(JRST 0 TAG36)
TAG42 (HRRZ@ 1 -1 P)
(MOVEM 1 -1 P)
(JRST 0 TAG1)
TAG2 (MOVE 1 (SPECIAL COM0) S)
(CALL 1 (E GVAL) S)
(MOVEI 1 (QUOTE 0))
(MOVEM 1 0 P)
(MOVE 1 (SPECIAL MARKLST) S)
(MOVEM 1 -1 P)
TAG3 (HRRZ@ 1 -1 P)
(JUMPN 1 TAG44)
(HRRZ@ 1 -2 P)
(CALL 1 (E NCONS) S)
(HRRM@ 1 -1 P)
(MOVE 1 0 P)
(JRST 0 TAG36)
TAG44 (HRRZ@ 2 -1 P)
(HLRZ@ 2 2)
(HRRZ@ 1 -2 P)
(CALL 2 (E EQUAL) S)
(JUMPE 1 TAG46)
(MOVE 1 0 P)
(JRST 0 TAG36)
TAG46 (MOVE 1 0 P)
(CALL 1 (E ADD1) S)
(MOVEM 1 0 P)
(HRRZ@ 1 -1 P)
(MOVEM 1 -1 P)
(JRST 0 TAG3)
TAG36 (SUB P (C 2 0 2 0))
(JRST 0 TAG4)
TAG35 (HLRZ@ 1 0 P)
(CALL 1 (E LAPEVAL) S)
(PUSH P 1)
(HRRZ@ 1 -1 P)
(CALL 1 (E LAPEVAL) S)
(POP P 2)
(CALL 2 (E *PLUS) S)
TAG47
TAG4 (SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP DEFSYM SUBR)
(PUSH P 2)
(MOVE 2 (SPECIAL REMOB) S)
(PUSH P 1)
(CALL 2 (E CONS) S)
(MOVEM 1 (SPECIAL REMOB) S)
(PUSH P (C 0 0 (QUOTE NIL)))
(MOVEI 2 (QUOTE UNDEF) S)
(MOVE 1 -1 P)
(CALL 2 (E GET) S)
(MOVEM 1 0 P)
(JUMPN 1 G0002)
G0001 (MOVEI 3 (QUOTE SYM) S)
(MOVE 2 -2 P)
(MOVE 1 -1 P)
(CALL 3 (E PUTPROP) S)
(JRST 0 G0003)
G0002 (MOVE 1 0 P)
(JUMPN 1 G0013)
(MOVE 1 -1 P)
(MOVEI 2 (QUOTE UNDEF) S)
(CALL 2 (E REMPROP) S)
(JRST 0 G0001)
G0013 (HLRZ@ 1 0 P)
(PUSH P 1)
(CALL 1 (E EXAMINE) S)
(MOVE 2 -3 P)
(CALL 2 (E *PLUS) S)
(MOVE 2 1)
(POP P 1)
(CALL 2 (E DEPOSIT) S)
(HRRZ@ 1 0 P)
(MOVEM 1 0 P)
(JRST 0 G0002)
G0003 (SUB P (C 0 0 3 3))
(POPJ P)
NIL
(LAP GVAL SUBR)
(PUSH P 1)
(MOVEI 2 (QUOTE SYM) S)
(CALL 2 (E GET) S)
(JUMPN 1 G0001)
(MOVEI 2 (QUOTE VALUE) S)
(MOVE 1 0 P)
(CALL 2 (E GET) S)
(JUMPE 1 G0003)
(MOVEI 2 (QUOTE FIXNUM) S)
(MOVE 1 0 P)
(CALL 2 (E MAKNUM) S)
(JRST 0 G0001)
G0003 (MOVEI 2 (QUOTE UNDEF) S)
(MOVE 1 0 P)
(CALL 2 (E GET) S)
(MOVE 2 (SPECIAL L) S)
(CALL 2 (E XCONS) S)
(MOVEI 3 (QUOTE UNDEF) S)
(MOVE 2 1)
(MOVE 1 0 P)
(CALL 3 (E PUTPROP) S)
(MOVEI 1 (QUOTE 0))
G0006
G0001 (SUB P (C 0 0 1 1))
(POPJ P)
NIL
(LAP TYPE SUBR)
(MOVE 2 1)
(CALL 1 (E NUMBERP) S)
(JUMPE 1 G0002)
(HRRZ@ 1 2)
(HLRZ@ 1 1)
G0002 (POPJ P)
NIL
(REMLAP)
(LAP OPS FSUBR)
(PUSH P 1)
TAG0 (MOVE 1 0 P)
(JUMPN 1 TAG5)
(MOVEI 1 (QUOTE T) S)
(JRST 0 TAG1)
TAG5 (MOVEI 3 (QUOTE SYM) S)
(HRRZ@ 2 0 P)
(HLRZ@ 2 2)
(HLRZ@ 1 0 P)
(CALL 3 (E PUTPROP) S)
(HRRZ@ 1 0 P)
(HRRZ@ 1 1)
(MOVEM 1 0 P)
(JRST 0 TAG0)
TAG1 (SUB P (C 1 0 1 0))
(POPJ P)
NIL
(INC (INPUT DSK: (EDIT.LAP) (ERRORX.LAP) (SYS1.LAP) (BREAK.LAP) (SYS2V.LSP)) NIL)
(HGHORG BPORG)
(SETQ BPORG BORG1)
(SETQ BPEND BEND1)
(SETQ KLIST NIL)
(HGHCOR NIL)