perm filename CYCDRB.LAP[3,LMM] blob
sn#037498 filedate 1973-04-22 generic text, type T, neo UTF8
(DEFPROP CYCDRBFNS (CYCDRBFNS PATMATCH REEDITFACE FACES FACEF1 OTFACE DUPFACE SETEQ EDITFACE FACESIZE FACEMATCH)→
VALUE)
(LAP PATMATCH SUBR)
(CLEARB 1. (SPECIAL FACE) S)
(MOVEM 1. (SPECIAL PATSELECT) S)
(CALL 0. (E FACES) S)
(CALL 1. (E REEDITFACE) S)
(PUSH P (SPECIAL PATS) S)
(PUSH P 1.)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
TAG1 (HLRZ@ 1. -2. P)
(MOVEM 1. (SPECIAL CURPAT) S)
(HLRZ@ 1. -2. P)
(CALL 1. (E PATFACE) S)
(MOVE 2. 1.)
(MOVE 1. -1. P)
(CALL 2. (E FACEMATCH) S)
(MOVEM 1. 0. P)
(JUMPE 1. TAG2)
(HLRZ@ 1. -2. P)
(CALL 1. (E PATNODFC) S)
(MOVE 2. 1.)
(MOVE 1. 0. P)
(CALL 2. (E NODEPICK1) S)
(MOVEM 1. 0. P)
(CALL 1. (E NODEPICK2) S)
(MOVEM 1. 0. P)
(JUMPE 1. TAG9)
(MOVE 1. (SPECIAL CURPAT) S)
(CALL 1. (E PATPOINTS) S)
(MOVE 2. 1.)
(MOVE 1. 0. P)
(CALL 2. (E PATPTS) S)
(MOVEM 1. (SPECIAL PATSELECT) S)
(JRST 0. TAG3)
(JUMPN 1. TAG8)
TAG9
TAG8
TAG2 (HRRZ@ 1. -2. P)
(MOVEM 1. -2. P)
(JUMPN 1. TAG1)
(MOVEI 1. (QUOTE NIL))
TAG3 (SUB P (C 3. 0. 3. 0.))
(POPJ P)
NIL
(LAP REEDITFACE SUBR)
(PUSH P 1.)
(CALL 1. (E CADR) S)
(PUSH P 1.)
(PUSH P 1.)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
(HRRZ@ 1. -4. P)
(CALL 1. (E CADR) S)
(PUSH P 1.)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
TAG1 (MOVE 1. -2. P)
(JUMPE 1. TAG4)
(HLRZ@ 1. -2. P)
(MOVEM 1. -1. P)
(PUSH P (C 0. 0. TAG16 0.))
(PUSH P -1. P)
(CALL 1. (E NCONS) S)
(CALL 1. (E NCONS) S)
(PUSH P 1.)
(MOVNI 6. 2.)
(JCALL 14. (E NCONC) S)
TAG16 (MOVEM 1. 0. P)
TAG2
TAG3 (HRRZ@ 1. -2. P)
(MOVEM 1. -2. P)
(JRST 0. TAG1)
TAG4 (MOVE 2. 0. P)
(MOVEM 2. -3. P)
(SUB P (C 3. 0. 3. 0.))
(MOVEM 2. -1. P)
(MOVE 1. -2. P)
(JUMPE 1. TAG7)
TAG5 (HRRZ@ 1. -2. P)
(JUMPE 1. TAG7)
(HRRZ@ 1. -2. P)
(HLRZ@ 1. 1.)
(HLRZ@ 2. -2. P)
(CAMN 2. 1.)
(JRST 0. TAG6)
(HRRZ@ 1. -2. P)
(HRRZ@ 2. 0. P)
(MOVEM 1. -2. P)
(MOVEM 2. 0. P)
(JRST 0. TAG5)
TAG6 (HRRZ@ 1. -2. P)
(HRRZ@ 1. 1.)
(HRRM@ 1. -2. P)
(HRRZ@ 1. 0. P)
(HLRZ@ 1. 1.)
(HLRZ@ 2. 0. P)
(HRRM@ 2. 1.)
(HRRZ@ 1. 0. P)
(HLRZ@ 1. 1.)
(HRLM@ 1. 0. P)
(HRRZ@ 1. 0. P)
(HRRZ@ 1. 1.)
(HRRM@ 1. 0. P)
(JRST 0. TAG5)
TAG7 (MOVE 1. -1. P)
(CALL 1. (E NCONS) S)
(MOVE 2. -3. P)
(CALL 2. (E XCONS) S)
(HLRZ@ 2. -4. P)
(SUB P (C 5. 0. 5. 0.))
(JCALL 2. (E XCONS) S)
NIL
(LAP FACES SUBR)
(CLEARM 0. (SPECIAL FACE) S)
(MOVEI 1. (QUOTE 0.))
(MOVEM 1. (SPECIAL FACENUM) S)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
(MOVEI 2. (QUOTE -2.))
(MOVE 1. (SPECIAL NMX) S)
(CALL 2. (E *PLUS) S)
(MOVEI 2. (QUOTE 1.))
(MOVEM 2. 0. P)
(PUSH P 1.)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
TAG1 (MOVE 2. -1. P)
(MOVE 1. -2. P)
(CALL 2. (E *GREAT) S)
(JUMPN 1. TAG4)
(MOVE 2. -2. P)
(MOVE 1. (SPECIAL NMX) S)
(CALL 2. (E *DIF) S)
(CALL 1. (E ADD1) S)
(MOVEI 5. (QUOTE 1.))
(MOVE 4. 1.)
(MOVEI 3. (QUOTE NIL))
(MOVE 2. -2. P)
(MOVE 1. 2.)
(CALL 5. (E FACEF1) S)
TAG2
TAG3 (MOVEI 2. (QUOTE 1.))
(MOVE 1. -2. P)
(CALL 2. (E *PLUS) S)
(MOVEM 1. -2. P)
(JRST 0. TAG1)
TAG4 (SUB P (C 2. 0. 2. 0.))
(CALL 0. (E EDITFACE) S)
(MOVE 1. (SPECIAL FACE) S)
(SUB P (C 1. 0. 1. 0.))
(POPJ P)
NIL
(LAP FACEF1 SUBR)
(PUSH P 1.)
(PUSH P 2.)
(PUSH P 3.)
(PUSH P 4.)
(PUSH P 5.)
(MOVE 1. 2.)
(CALL 1. (E CONN) S)
(PUSH P 1.)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
TAG1 (MOVE 1. -1. P)
(JUMPE 1. TAG3)
(HLRZ@ 1. -1. P)
(MOVEM 1. 0. P)
(CAME 1. -6. P)
(JRST 0. TAG8)
(MOVE 2. -4. P)
(MOVE 1. -6. P)
(CALL 2. (E OTFACE) S)
(JRST 0. TAG7)
TAG8 (MOVE 2. -4. P)
(CALL 2. (E MEMQ) S)
(JUMPE 1. TAG9)
(JRST 0. TAG7)
TAG9 (MOVE 1. -2. P)
(CAME 1. -3. P)
(JRST 0. TAG10)
(JRST 0. TAG7)
TAG10 (MOVE 2. -4. P)
(MOVE 1. 0. P)
(CALL 2. (E CONS) S)
(PUSH P 1.)
(MOVE 1. -3. P)
(CALL 1. (E ADD1) S)
(MOVE 5. 1.)
(MOVE 4. -4. P)
(POP P 3.)
(MOVE 2. 0. P)
(MOVE 1. -6. P)
(CALL 5. (E FACEF1) S)
TAG7 (HRRZ@ 1. -1. P)
(MOVEM 1. -1. P)
(JRST 0. TAG1)
TAG3 (MOVEI 1. (QUOTE NIL))
(SUB P (C 7. 0. 7. 0.))
(POPJ P)
NIL
(LAP OTFACE SUBR)
(PUSH P 1.)
(PUSH P 2.)
(MOVE 1. 2.)
(CALL 1. (E LENGTH) S)
(CAIN 1. (QUOTE 1.))
(JRST 0. TAG2)
(MOVE 2. 0. P)
(MOVE 1. -1. P)
(CALL 2. (E CONS) S)
(MOVEM 1. -1. P)
(CALL 1. (E DUPFACE) S)
(JUMPN 1. TAG2)
(MOVE 1. (SPECIAL FACENUM) S)
(CALL 1. (E ADD1) S)
(MOVEM 1. (SPECIAL FACENUM) S)
(MOVE 1. -1. P)
(CALL 1. (E LENGTH) S)
(PUSH P 1.)
(MOVE 1. -2. P)
(CALL 1. (E NCONS) S)
(POP P 2.)
(CALL 2. (E XCONS) S)
(MOVE 2. (SPECIAL FACENUM) S)
(CALL 2. (E XCONS) S)
(MOVE 2. (SPECIAL FACE) S)
(CALL 2. (E CONS) S)
(MOVEM 1. (SPECIAL FACE) S)
TAG2 (MOVEI 1. (QUOTE NIL))
(SUB P (C 2. 0. 2. 0.))
(POPJ P)
NIL
(LAP DUPFACE SUBR)
(PUSH P 1.)
(PUSH P (SPECIAL FACE) S)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
TAG1 (MOVE 1. -2. P)
(JUMPE 1. TAG4)
(HLRZ@ 1. -2. P)
(MOVEM 1. -1. P)
(HRRZ@ 2. 1.)
(HRRZ@ 2. 2.)
(HLRZ@ 2. 2.)
(MOVE 1. -3. P)
(CALL 2. (E SETEQ) S)
(MOVEM 1. 0. P)
(JUMPE 1. TAG11)
(JRST 0. TAG5)
TAG11
TAG2
TAG3 (HRRZ@ 1. -2. P)
(MOVEM 1. -2. P)
(JRST 0. TAG1)
TAG4 (MOVE 1. 0. P)
TAG5 (SUB P (C 4. 0. 4. 0.))
(POPJ P)
NIL
(LAP SETEQ SUBR)
(PUSH P 1.)
(PUSH P 2.)
(CALL 1. (E LENGTH) S)
(PUSH P 1.)
(MOVE 1. -1. P)
(CALL 1. (E LENGTH) S)
(POP P 2.)
(CAME 1. 2.)
(JRST 0. TAG2)
(MOVE 1. -1. P)
(CALL 1. (E LENGTH) S)
(MOVE 2. 0. P)
(PUSH P 1.)
(MOVE 1. -2. P)
(CALL 2. (E UNION) S)
(CALL 1. (E LENGTH) S)
(POP P 2.)
(CAMN 1. 2.)
(JRST 0. TAG1)
TAG2 (TDZA 1. 1.)
TAG1 (MOVEI 1. (QUOTE T) S)
(SUB P (C 2. 0. 2. 0.))
(POPJ P)
NIL
(LAP SUBFUN1EDITFACE SUBR)
(PUSH P 2.)
(CALL 1. (E FACESIZE) S)
(EXCH 1. 0. P)
(CALL 1. (E FACESIZE) S)
(POP P 2.)
(JCALL 2. (E *LESS) S)
NIL
(LAP EDITFACE SUBR)
(MOVEI 2. (QUOTE SUBFUN1EDITFACE) S)
(MOVE 1. (SPECIAL FACE) S)
(CALL 2. (E SORT) S)
(MOVEM 1. (SPECIAL FACE) S)
(PUSH P (C 0. 0. (QUOTE NIL) 0.))
(PUSH P (C 0. 0. TAG4 0.))
(MOVEI D (QUOTE FACESIZE) S)
(PUSH P D)
(PUSH P 1.)
(MOVNI 6. 2.)
(JCALL 14. (E MAPCAR) S)
TAG4 (MOVEM 1. 0. P)
(CALL 1. (E LENGTH) S)
(PUSH P 1.)
(MOVE 1. (SPECIAL FACE) S)
(CALL 1. (E NCONS) S)
(MOVE 2. -1. P)
(CALL 2. (E XCONS) S)
(POP P 2.)
(CALL 2. (E XCONS) S)
(MOVEM 1. (SPECIAL FACE) S)
(SUB P (C 1. 0. 1. 0.))
(POPJ P)
NIL
(LAP FACESIZE SUBR)
(CALL 1. (E CADDR) S)
(JCALL 1. (E LENGTH) S)
NIL
(LAP FACEMATCH SUBR)
(PUSH P 1.)
(PUSH P 2.)
(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 NIL) 0.))
(HLRZ@ 2. 2.)
(HLRZ@ 1. 1.)
(CALL 2. (E *LESS) S)
(JUMPN 1. TAG4)
(HRRZ@ 1. -6. P)
(HLRZ@ 1. 1.)
(HRRZ@ 2. -5. P)
(HLRZ@ 2. 2.)
(HRRZ@ 3. -6. P)
(HRRZ@ 3. 3.)
(HLRZ@ 3. 3.)
(HRRZ@ 4. -5. P)
(HRRZ@ 4. 4.)
(HLRZ@ 4. 4.)
(MOVEM 4. -3. P)
(MOVEM 3. -2. P)
(MOVEM 2. -1. P)
(MOVEM 1. 0. P)
TAG1 (HLRZ@ 2. -1. P)
(HLRZ@ 1. 0. P)
(CALL 2. (E *LESS) S)
(JUMPN 1. TAG4)
(HLRZ@ 1. -1. P)
(HLRZ@ 2. 0. P)
(CAMN 2. 1.)
(JRST 0. TAG2)
(HRRZ@ 1. -2. P)
(MOVEM 1. -2. P)
(HRRZ@ 1. 0. P)
(MOVEM 1. 0. P)
(JUMPE 1. TAG4)
(JRST 0. TAG1)
TAG2 (HLRZ@ 2. -2. P)
(HLRZ@ 1. -3. P)
(HLRZ@ 1. 1.)
(CALL 2. (E CONS) S)
(MOVE 2. -4. P)
(CALL 2. (E CONS) S)
(HRRZ@ 2. -3. P)
(MOVEM 1. -4. P)
(MOVEM 2. -3. P)
(HRRZ@ 1. -1. P)
(MOVEM 1. -1. P)
(JUMPN 1. TAG1)
(MOVE 1. -4. P)
(JRST 0. TAG3)
TAG4 (MOVEI 1. (QUOTE NIL))
TAG3 (SUB P (C 7. 0. 7. 0.))
(POPJ P)
NIL