perm filename CYCDRA.LAP[1,LMM] blob sn#034841 filedate 1973-04-12 generic text, type T, neo UTF8
(SETQ PATS (QUOTE ((TRAP ((1 4 3 2) (2 4 3 1) (3 4 2 1) (4 3 2 1)) (5 (4 3 3 3 3) ((1 4 (1 2 3 4)) (2 3 (1 3 4))~
 (3 3 (1 2 4)) (4 3 (1 2 3)) (5 3 (2 3 4)))) ((4 5 3 2 1) (3 5 4 2 1) (2 5 4 3 1) (1 4 3 2 1)) (((3 . 4) 1) ((2 ~
. 4) 1) ((2 . 3) 1) ((1 . 4) 1) ((1 . 3) 1) ((1 . 2) 1)) ((1 0 0) (2 1 2) (3 2 0) (4 1 1))) (HEX ((1 2 6) (2 3 1~
) (3 4 2) (4 5 3) (5 6 4) (6 5 1)) (1 (6) ((1 6 (1 6 5 4 3 2)))) ((6 1) (5 1) (4 1) (3 1) (2 1) (1 1)) (((5 . 6)~
 1) ((4 . 5) 1) ((3 . 4) 1) ((2 . 3) 1) ((1 . 2) 1) ((1 . 6) 1)) ((1 1 3) (2 2 2) (3 2 1) (4 1 0) (5 0 1) (6 0 2~
))) (PENT ((1 5 2) (2 3 1) (3 4 2) (4 5 3) (5 1 4)) (1 (5) ((1 5 (1 2 3 4 5)))) ((5 1) (4 1) (3 1) (2 1) (1 1)) ~
(((4 . 5) 1) ((3 . 4) 1) ((2 . 3) 1) ((1 . 5) 1) ((1 . 2) 1)) ((1 0 1) (2 1 2) (3 2 1) (4 2 0) (5 0 0))) (OCT ((~
1 2 8) (2 3 1) (3 4 2) (4 5 3) (5 6 4) (6 7 5) (7 8 6) (8 1 7)) (1 (8) ((1 8 (1 8 7 6 5 4 3 2)))) ((8 1) (7 1) (~
6 1) (5 1) (4 1) (3 1) (2 1) (1 1)) (((7 . 8) 1) ((6 . 7) 1) ((5 . 6) 1) ((4 . 5) 1) ((3 . 4) 1) ((2 . 3) 1) ((1~
 . 2) 1) ((1 . 8) 1)) ((1 0 2) (2 1 3) (3 2 3) (4 3 2) (5 3 1) (6 2 0) (7 1 0) (8 0 1)))))) 

(SETQ PATSELECT (QUOTE ((4 15 15) (3 16 17) (1 17 15) (2 16 16)))) 

(ARRAY TMP T 20) 

(ARRAY CONN T 20) 

(ARRAY NODE T 41) 

(LAP DRAWS SUBR) 
	(JSP 6 SPECBIND) 
	(0 0 (SPECIAL CTAB)) 
	(PUSH P 1) 
	(PUSH P 2) 
	(HRRZ@ 1 1) 
	(HLRZ@ 1 1) 
	(MOVEM 1 (SPECIAL CTAB)) 
	(JUMPE 2 TAG13) 
	(MOVE 1 2) 
	(JRST 0 TAG12) 
TAG13 	(HRRZ@ 1 -1 P) 
	(HRRZ@ 1 1) 
	(HLRZ@ 1 1) 
TAG14 
TAG12 	(PUSH P 1) 
	(PUSH P (SPECIAL CTAB)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG1 	(MOVE 2 -2 P) 
	(JUMPN 2 TAG20) 
	(JRST 0 TAG8) 
TAG20 	(HLRZ@ 2 -2 P) 
	(MOVEM 2 -1 P) 
	(PUSH P (C 0 0 TAG21 0)) 
	(PUSH P -1 P) 
	(HRRZ@ 1 2) 
	(HRRZ@ 1 1) 
	(HLRZ@ 1 1) 
	(HLRZ@ 1 1) 
	(PUSH P 1) 
	(HRRZ@ 1 2) 
	(HLRZ@ 1 1) 
	(PUSH P 1) 
	(HRRZ@ 2 2) 
	(HRRZ@ 2 2) 
	(HRRZ@ 2 2) 
	(PUSH P 2) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG2 	(MOVE 2 -2 P) 
	(JUMPN 2 TAG26) 
	(JRST 0 TAG5) 
TAG26 	(HLRZ@ 2 -2 P) 
	(MOVEM 2 -1 P) 
	(MOVE 1 2) 
	(CALL 1 (E NUMBERP)) 
	(JUMPN 1 TAG28) 
	(JRST 0 TAG4) 
TAG28 	(PUSH P (C 0 0 TAG29 0)) 
	(PUSH P -1 P) 
	(MOVE 1 -3 P) 
	(CALL 1 (E NCONS)) 
	(PUSH P 1) 
	(MOVNI 6 2) 
	(JCALL 14 (E NCONC)) 
TAG29 	(MOVEM 1 0 P) 
TAG3 
TAG4 	(HRRZ@ 2 -2 P) 
	(MOVEM 2 -2 P) 
	(JRST 0 TAG2) 
TAG5 	(MOVE 2 0 P) 
	(MOVE 1 -4 P) 
	(CALL 2 (E CONS)) 
	(MOVE 2 -3 P) 
	(CALL 2 (E XCONS)) 
	(CALL 1 (E NCONS)) 
	(SUB P (C 0 0 5 5)) 
	(PUSH P 1) 
	(MOVNI 6 2) 
	(JCALL 14 (E NCONC)) 
TAG21 	(MOVEM 1 0 P) 
TAG6 
TAG7 	(HRRZ@ 2 -2 P) 
	(MOVEM 2 -2 P) 
	(JRST 0 TAG1) 
TAG8 	(MOVE 2 0 P) 
	(MOVE 1 -3 P) 
	(CALL 2 (E CONS)) 
	(CALL 1 (E LAYOUT)) 
	(MOVEI 1 (QUOTE NIL)) 
	(SUB P (C 0 0 6 6)) 
	(JRST 0 SPECSTR) 
	NIL 

(LAP PRINRAD SUBR) 
	(JSP 6 SPECBIND) 
	(0 0 (SPECIAL CTAB)) 
	(PUSH P 1) 
	(CALL 1 (E NUMNODES)) 
	(PUSH P 1) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG1 	(MOVEI 2 (QUOTE 1)) 
	(MOVE 1 -1 P) 
	(CALL 2 (E *LESS)) 
	(JUMPN 1 TAG4) 
	(MOVE 2 0 P) 
	(MOVE 1 -1 P) 
	(CALL 2 (E CONS)) 
	(MOVEM 1 0 P) 
TAG2 
TAG3 	(MOVEI 2 (QUOTE -1)) 
	(MOVE 1 -1 P) 
	(CALL 2 (E *PLUS)) 
	(MOVEM 1 -1 P) 
	(JRST 0 TAG1) 
TAG4 	(MOVE 2 0 P) 
	(MOVE 3 -2 P) 
	(MOVEI 1 (QUOTE NIL)) 
	(CALL 3 (E PRINRAD1)) 
	(SUB P (C 0 0 2 2)) 
	(MOVE 2 (SPECIAL CTAB)) 
	(MOVE 1 (SPECIAL TITLE)) 
	(CALL 2 (E CONS)) 
	(CALL 1 (E LAYOUT)) 
	(MOVEI 1 (QUOTE NIL)) 
	(SUB P (C 0 0 1 1)) 
	(JRST 0 SPECSTR) 
	NIL 

(LAP PRINENTRY SUBR) 
	(PUSH P 2) 
	(MOVE 2 3) 
	(EXCH 1 0 P) 
	(CALL 2 (E CONS)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(MOVE 2 (SPECIAL CTAB)) 
	(CALL 2 (E CONS)) 
	(MOVEM 1 (SPECIAL CTAB)) 
	(POPJ P) 
	NIL 

(LAP NUMNODES SUBR) 
	(PUSH P 1) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(HLRZ@ 1 1) 
	(JUMPN 1 TAG9) 
	(MOVEI 1 (QUOTE 0)) 
	(JRST 0 TAG8) 
TAG9 	(HLRZ@ 1 -3 P) 
	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG10) 
	(MOVEI 1 (QUOTE 1)) 
	(JRST 0 TAG8) 
TAG10 	(HLRZ@ 1 -3 P) 
	(HRRZ@ 1 1) 
	(HLRZ@ 1 1) 
	(HLRZ@ 1 1) 
	(CAIN 1 (QUOTE STRUC)) 
	(JRST 0 TAG11) 
	(MOVEI 1 (QUOTE 1)) 
	(JRST 0 TAG8) 
TAG11 	(HLRZ@ 1 -3 P) 
	(HRRZ@ 1 1) 
	(HLRZ@ 1 1) 
	(CALL 1 (E NODES)) 
	(CALL 1 (E LENGTH)) 
TAG12 
TAG8 	(MOVEM 1 0 P) 
	(HRRZ@ 1 -3 P) 
	(MOVEM 1 -1 P) 
TAG1 	(MOVE 1 -1 P) 
	(JUMPE 1 TAG4) 
	(HLRZ@ 1 1) 
	(MOVEM 1 -2 P) 
	(HRRZ@ 1 1) 
	(PUSH P 1) 
	(HLRZ@ 1 -3 P) 
	(CALL 1 (E NUMNODES)) 
	(POP P 2) 
	(CALL 2 (E *TIMES)) 
	(MOVE 2 0 P) 
	(CALL 2 (E *PLUS)) 
	(MOVEM 1 0 P) 
TAG2 
TAG3 	(HRRZ@ 1 -1 P) 
	(MOVEM 1 -1 P) 
	(JRST 0 TAG1) 
TAG4 	(MOVE 1 0 P) 
	(SUB P (C 0 0 4 4)) 
	(POPJ P) 
	NIL 

(LAP LAYOUT SUBR) 
	(PUSH P 1) 
	(CALL 1 (E ANALIN)) 
	(CALL 0 (E PATMATCH)) 
	(CALL 0 (E SORTLN)) 
	(MOVEI 2 (QUOTE NIL)) 
	(MOVEI 1 (QUOTE 1)) 
	(CALL 2 (E FINDNDS)) 
	(SUB P (C 0 0 1 1)) 
	(JCALL 0 (E OUTNDS)) 
	NIL 

(LAP ANALIN SUBR) 
	(PUSH P 1) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE 1) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG1 	(MOVEI 2 (QUOTE 19)) 
	(MOVE 1 -1 P) 
	(CALL 2 (E *GREAT)) 
	(JUMPN 1 TAG4) 
	(MOVE 1 -1 P) 
	(CALL 1 (E CONN)) 
	(MOVEI 1 (QUOTE NIL)) 
	(PUSHJ P NSTR) 
TAG2 
TAG3 	(MOVEI 2 (QUOTE 1)) 
	(MOVE 1 -1 P) 
	(CALL 2 (E *PLUS)) 
	(MOVEM 1 -1 P) 
	(JRST 0 TAG1) 
TAG4 	(MOVE 1 0 P) 
	(SUB P (C 0 0 2 2)) 
	(HLRZ@ 1 -4 P) 
	(MOVEM 1 (SPECIAL TITLE)) 
	(CLEARM 1 (SPECIAL LINE)) 
	(CLEARM 1 (SPECIAL LABELL)) 
	(HRRZ@ 1 -4 P) 
	(CALL 1 (E LENGTH)) 
	(MOVEM 1 (SPECIAL NLN)) 
	(MOVEI 1 (QUOTE 0)) 
	(MOVEM 1 (SPECIAL NMX)) 
	(HRRZ@ 1 -4 P) 
	(PUSH P 1) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG5 	(MOVE 1 -2 P) 
	(JUMPE 1 TAG14) 
	(HLRZ@ 1 1) 
	(MOVE 2 (SPECIAL NMX)) 
	(MOVEM 1 -3 P) 
	(HLRZ@ 1 1) 
	(CALL 2 (E MAX)) 
	(MOVEM 1 (SPECIAL NMX)) 
	(HLRZ@ 1 -3 P) 
	(HRRZ@ 2 -3 P) 
	(HLRZ@ 2 2) 
	(MOVEM 1 -4 P) 
	(CALL 2 (E CONS)) 
	(MOVE 2 (SPECIAL LABELL)) 
	(CALL 2 (E CONS)) 
	(MOVEM 1 (SPECIAL LABELL)) 
	(HRRZ@ 1 -3 P) 
	(HRRZ@ 1 1) 
	(MOVEM 1 -1 P) 
TAG6 	(MOVE 1 -1 P) 
	(JUMPE 1 TAG9) 
	(HLRZ@ 1 1) 
	(MOVE 2 -4 P) 
	(MOVEM 1 -5 P) 
	(CALL 2 (E XCONS)) 
	(MOVE 2 (SPECIAL LINE)) 
	(CALL 2 (E ASSOC2)) 
	(MOVEM 1 -6 P) 
	(JUMPN 1 TAG28) 
	(MOVE 2 -4 P) 
	(MOVE 1 -5 P) 
	(CALL 2 (E CONS)) 
	(MOVE 2 (SPECIAL LINE)) 
	(CALL 2 (E ASSOC2)) 
	(JUMPE 1 TAG30) 
	(JRST 0 TAG29) 
TAG30 	(MOVE 2 -5 P) 
	(MOVE 1 -4 P) 
	(CALL 2 (E CONS)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE 1)) 
	(CALL 1 (E NCONS)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(MOVE 2 (SPECIAL LINE)) 
	(CALL 2 (E CONS)) 
	(MOVEM 1 (SPECIAL LINE)) 
TAG31 
TAG29 	(JRST 0 TAG27) 
TAG28 	(HRRZ@ 1 -6 P) 
	(PUSH P 1) 
	(HRRZ@ 1 -7 P) 
	(HLRZ@ 1 1) 
	(CALL 1 (E ADD1)) 
	(HRLM@ 1 0 P) 
	(SUB P (C 0 0 1 1)) 
TAG33 
TAG27 	(MOVE 1 -4 P) 
	(CALL 1 (E CONN)) 
	(MOVE 2 1) 
	(MOVE 1 -5 P) 
	(CALL 2 (E MEMBER)) 
	(JUMPE 1 TAG36) 
	(JRST 0 TAG35) 
TAG36 	(MOVE 1 -4 P) 
	(CALL 1 (E CONN)) 
	(MOVE 2 -5 P) 
	(CALL 2 (E XCONS)) 
	(PUSH P 1) 
	(MOVE 1 -5 P) 
	(CALL 1 (E CONN)) 
	(POP P 1) 
	(PUSHJ P NSTR) 
TAG37 
TAG35 
TAG7 
TAG8 	(HRRZ@ 1 -1 P) 
	(MOVEM 1 -1 P) 
	(JRST 0 TAG6) 
TAG9 
TAG10 
TAG11 
TAG12 
TAG13 	(HRRZ@ 1 -2 P) 
	(MOVEM 1 -2 P) 
	(JRST 0 TAG5) 
TAG14 	(MOVE 1 0 P) 
	(SUB P (C 0 0 3 3)) 
	(MOVE 1 (SPECIAL LINE)) 
	(CALL 1 (E LENGTH)) 
	(MOVEM 1 (SPECIAL LLN)) 
	(MOVE 1 (SPECIAL LINE)) 
	(SUB P (C 0 0 5 5)) 
	(POPJ P) 
	NIL