L I B R.AR.Y OF THE UN IVLRSITY Of ILLINOIS s\o. g>/PLANLL OP=CLEAR, EQUAL, AND, JR,cXQR P t KP 9 PLANE, K, CYCLES, KC 3/KP,i5/P,18/BUBBLE,3/KC,15/CYCLES,3/K,15/PL£ CLOCK A COMMEN ,A DL»K,PLANE1,A,PLANE2,B,PLANE3,C 3/A,15/PLANEl 9 18/CONNEC,3/B,15/PLANE2,3/K,15/DL 18/CONNEC+21,18/JUMP,3/C,15/PLANC3, 18/24 XtY 18/X V 18/Y P,NN,MM,PLANEl,Kl,PLANE2,K2,PLANE3,K3,PLANE4,K4,PL4^r l .i,Kf 18/NN,18/PRINT,18/MM, 3/P, 18/K2 , 1 5/PL ANE2, 3/K3, 15/PLANf 3 3/K4,15/PLANE4,3/K5,15/PLANE5,21/Kl, 15/PLANE1 N,A,B,C,D,E,F,G,H,I N 4/A,4/B,4/C,4/D,4/E,4/F,4/G,4/H,4/I DL,T,K,NAME 3/T,15/DL,18/DLTOIR,18/NAME,18/K,5Q/0 WORD,K 3/K,l5/W0RD,18/DCW DUMP 1902-DUMP OP v K,N OP, f K N A,T 36/J7094C,21/T,15/A N 36/J7094M,36/N OP, WHERE, TFST.C 18/WHERE,18/OP,18/C,18/TEST A LETTER 6, A OP=SET, INCR, DECR, TRANS ■8- -9- LIST NAME LISTXY MARK PRINT PRINTT PUNCH READ READT READZ RENAME NAME SETMOD SHIFT SHIFTD TCHAIN TIME TIMES TMARK END MACRO BS3 END MACRO VFD END MACRO VFD VFD END MACRO VFD END MACRO END MACRO VFD END MACRO VFD END MACRO END MACRO VFD IRP VFD IRP END MACRO EQU END MACRO VFD END MACRO VFO END MACRO VFD END MACRO VFD VFD END MACRO END MACRO END MACRO VFD VFD NAME.N N S1,T,LIST,N,U 3/T,15/Sl,18/LISTXY,3/U,l5/N+l,18/LIST DL,KD,PLANE1,A,PLANE2,B,PLANE3,C 3/A,15/PLANEl,18/MARK,3/B,15/PLANE2,3/KD,15/DL 18/MARK+25, 18/ JUMP, 3/C , 15/PLANE3, 18/25 PLANE, K,N,M 18/N,18/PRINT,18/M,3/l,51/0,36/0,21/K,15/PLANE PRINTT PLANE.P 3/P, 15/ PLANE, 18/ PUNCH PLANE, P 36/READ,21/P,15/PLANE READT ZWORD,XX,X,YY,Y,BIT,B,LIST,TAG 3/B,15/BIT,18/READZ,3/X,15/XX,3/Y,15/YY,36/ZW0RD LIST 3/TAG.15/LIST I, NAME MM M 36/SETM0D,36/M PLANE, K,X,Y 18/X,18/SHIFT,18/Y,3/K,15/PLANE PLANE, P,D,E,N,M 3/E,15/D,18/SHIFTD,3/M,15/N,3/P,15/PLANE D,K,PLANE1, A,PLANE2,B,PLANE3,C,REL.N.X 3/C,15/PLANE3,18/TCHAIN,3/B,15/PLANE2,3/A,15/PLANEl 3/X,15/N,3/K,15/D,36/REL TIME TIMES DLNAME,D,PLANE1,A,PLANE2,B,PLANE3,C,REL,N,K 3/C,15/PLANE3,18/TMARK,3/B,15/PLANE2,3/A,15/PLANEl 3/K,15/N,3/D,15/DLNAME,36/REL -10- WRITE URITEP ENC MACRO VFD END MACRO VFD END S1,T,X,XX,Y,YY 3/T, 15/Sli 18/WRITEf 3/XX.15/X.3/YY, 15/Y SI, T, NAME, S 3/T, 15/S1,18/WRITEP,21/S,15/NAME # PAX AN IBM 7094 (7090-COMPATIBLE) PROGRAM TO SIMULATE THE # OPERATION OF THE PATTERN ARTICULATION UNIT OF ILLIAC III # • EAXM OPD 076000120016 LAXM OPD 476000120016 * • BOOLOP MACRO PLANE1 , A , OP , PLANE2 , B , PLANE3, C , BAR VFD 3/C,15/PLANE3,18/0P-BAR,3/B,15/PLANE2,3/A,15/PLANEl END OP=CLEAR,EQUALf AND,OR,EXOR BUBBLE MACRO P, KP , PLANE , K , CYCLES , KC VFD 3/KP,15/P,18/BUBBLE,3/KC,15/CYCLESt3/K,15/PLANE END DL MACRO N,A,8,C,D,E,F,G,H,I DEC N VFD 4/A,4/B,4/C,4/D,4/E,4/F,4/G,4/H,4/I END INCEX MACRO OP,K,N OP = SET f I NCR , DECR , TRANS OP,,K DEC N END J7C9AC MACRO A F T VFD 36/J7094C,21/T,l5/A END J7094M MACRO N VFD 36/J7094M,36/N END JUMP MACRO OP, WHERE, TEST, C VFD 18/WHERE,18/0P,18/C,18/TEST END MARK MACRO DL , KD, PL ANE 1 , A , PL ANE2 , B , PLANE 3 , C VFD 3/ A, 15/PLANE1, 18/MARK , 3/B , 1 5/PLANE2 , 3/KD, 15/ DL VFD 18/M4RK+2 5,18/JUMP, 3/C , 15/PLANE3 , 18/25 END SETSET MACRO DL , K , ALPHA , BET A, GAMMA VFD 18/ ALPHA, 18/ SETSET, 18/BET A, 3/K, 15/DL VFD 18/GAMMA,18/JUMP-31,36/0 END SETTRA MACRO D, ALPHA VFD 36/SETTRA, 1 8/ALPHA, 18/D END SETTRB MACRO K, ALPHA VFD 36/SETTRB,18/K,18/ALPHA END SETTRC MACRO D, ALPHA VFD 36/SETTRC, 18/ALPHA , 18/D END SHIFT MACRO PLANE,K,X,Y VFD 18/X, 18/ SHIFT, 18/ Y , 3/ K , 1 5/ PLANE END NCCRS # UNIVERSITY OF .in. ILLINOIS LIBRARt -12- * « PASTER RETTEN GOPAX LPAX MASTER ROUTINE, EQUIVALENT TO CONTROL COUNTER EAXM AXC TRA« TXI CLA PAC SXA TRA* LXA TRA ECU ORDERS, 7 ,7 •-1,7,-2 1,4 ,7 * + 2,4 ,7 ** ,4 2,4 MASTER PAX * MISC ROUTINES ' SET PLANE TRUE/COMPLEMENTED/NULL « SETCOM SETTRU CCMP SETFUL SETNUL AXT TRA AXT AXT TSX CLA LCI TSX CLA PAX STA ADM STA ARS ACM STA CAL XEC SLW TIX TXI CCM NCP AXT TRA AXT AXT TSX CLA LCI TSX CLA PAX ACM STA CLM XEC SLW TIX ,2 SETTRU+1 -1,2 2,1 MCRCER.4 = 144 =014 MODIFY, 4 MCDSEL ,1 D ORDERM+1 D + 2 18 D *» , 1 CCMP,2 **,1 ♦-3,1,1 MASTER, 7,-2 1,2 ♦ ♦2 ,2 2,1 MCRDER.4 = 144 =C14 MODIFY, 4 MODSEL ,1 ORDERM+1 * + 3 COMP+1,2 ** , 1 ♦-1,1,1 PUT MODE SIZE IN ACCUMULATOR SAVE MODE SIZE TEMPORARILY SET ADDRESS OF OBJECT PLANE SET ADDRESS OF ARGUMENT PLANE OBTAIN WORD OF ARGUMENT PLANE COMPLEMENT IF NECESSARY STORE WORD IN OBJECT PLANE FINAL EXIT FROM SE TCOM/ S ETTRU ■13- TXI MASTER, 7, -2 EXIT FROM SETNUL « * XORCCM XORTRU ANDCOM ANDTRU CRCOMP CRTRUE ANCOR « * « « SETMOD MISC ROUTINES ' AND/OR PLANE TRUE/COMPLEMENTED AXT ,2 TRA * + 2 AXT -1,2 AXT -2,3 TRA ORTRUE+2 AXT ,2 TRA *+2 AXT -1,2 AXT ,3 TRA ORTRUE+2 AXT ,2 TRA «+2 AXT -1,2 AXT -1,3 AXT 2,1 TSX MCRDER,4 CLA =144 LCI =015 TSX MODIFY, 4 CLA MCDSEL PAX ,1 STA E ACM ORDERM+1 STA E+3 ARS 18 ACM E STA ANDCR,3 CAL ORDERM ARS 18 ACM E STA E CAL ♦•,! XEC C0MP,2 XEC AND0R,3 SLW *♦,! TIX E,l,l TXI MASTER, 7, -2 ANA ♦«,! ORA *»,1 ERA *♦,! PUT MODE SIZE IN ACCUMULATOR SAVE MODE SIZE TERMPRARILY SET ADDRESS OF OBJECT PLANE SET ADDRESS OF ARGUMENT PLANE SET ADDRESS OF CONTEXT PLANE OBTAIN WORD OF CONTEXT PLANE COMPLEMENT IF NECESSARY COMBINE WITH ARGUMENT PLANE STORE WORD IN OBJECT PLANE FINAL EXIT AND ARGUMENT PLANE 10 C0NTEX1 PLANE OR ARGUMENT PLANE TO CONTEXT PLANE EXCLUSIV OR ARb PLANE TO CONTXT PLA'.L SUBROUTINE CONCERNING THE OPERATING MODE OF THE SIMULATOR CLA STO PAX TXL ACD STO 1,7 FXMCDE ,4 *+2,4,40 1,7 MCDSEL -14- TXI MASTER, 7, -2 MOCSEL DEC 36 FXMODE DEC 36 w • * • SHIFTD - SHIFT PLANE SI SHIFTD AXT 2,1 TSX M0RDER.4 CLA = 1 LCI = 05 TSX MODIFY, 4 LXD ORDERM+1,4 PXA ,4 TXL ♦+4,4,16384 PAC ,4 PXA ,4 SSM STO IR-1+21 SXA IR-H-22,7 LXD 0RDERM,4 SXA ♦ + 3,4 AXC ♦ +1,7 TRA SETTRA VFD 18/CRDERM,18/** SETTRB 2l,CRDERM J7094C *+l LXA IR-1+22,7 • TRA SHIFT+2 w « • SHIFT - ROUTINE TO PERF SHIFT AXT 2,1 TSX MCRDER,4 CLA = 144 LCI = 01C TSX MODIFY, 4 CLA ORDERM ARS 18 TZE VSHFT TPL ♦ +5 PAC ,1 PXA ,1 ACL LGL TRA ♦♦2 ACL LGR SLW SHIFTY CLA FXMCDE PAX ,1 ACM QRDERM+1 STA SHIFTY-1 STA SHIFTY+1 LXA FXM0DE,4 TXH TIX+2,4,50 XR4=N (2'S COMPLEMENT IF N»S NEC) JUMP IF N POSITIVE ACCUMULATOR HAS N AS SIGNED INTEGER SAVE XR7 IN IR22 XR4=D **=D BY *-3 JUMP IF X=0 JUMP FOR RIGHT SHIFT SET XR1 = ABS VAL OF -X ACC = ABS VAL OF -X PLAN! RIGHT/LEFT SHIFT INSTRUCTION FIND M SET XR1 = M ACC ADDRESS IS PLANb+M -15- CLA TIX STO SHIFTY+2 LGL 36 TRA SHIFTY-1 LGL LGL *« LGR LGR •♦ TIX TIX SHlFTY-1,1,1 STQ **,1 ACD = 72 STA TIX+1 STA SHIFTY-2 CLA TIX+1 STO SHIFTY+2 LCQ *«,l CAL **,1 SHIFTY ♦♦ SLW *»,1 • * TIX SHIFTY-2, 1,1 VSHFT SLF CLA FXMCDE STO COMMON CLA ORDERM+1 STZ COMMON+1 STA CCMMON+1 FF ARS 18 TZE RETTEN TMl DSHFT LSHFT SLW COMVQN+2 ACL CCMMON+1 STA MOVE CLA COMMON+1 STA MOVE* I ACD COMMON STA MGVE+4 AXT -1,4 TRA F DSHFT PAC ,4 PXA ,4 SLW COMMON+2 ACL COMMON+1 STA MOVE+4 CLA COMMON* I ACD COMMON SUB =1 STA MCVE+1 SLB COMMON+2 STA MOVE AXT 1,4 F SXD MOVE+2,4 AXT ,2 LXA COMMON+2, 4 CLA COMMON SUB COMMON+2 PAX ,3 36X36 MODE CLEAR MQ «*=ABSOLUTE VALUE OF X **=ABSOLUTE VALUE OF X *»=PLANE+X+72 AC ADDRESS IS PLANE+X+72 **=PLANE+X+72 ♦*=PLANE+X SHIFT X PLACES RIGHT/LEFT •♦=PLANE+X TIX SHIFT-1,1,1 OR STO *»,1 STORE M=MODE DIMENSION (36/40/72) STORE PLANE ADDRESS EXIT IF Y=0 JUMP FOR DOWN SHIFT (Y IS NEGATIVE) STORE +Y PLANE+Y IN ACCUMULATOR PLANE PLANE+M COMPLEMENT Y STORE -<-Y)=ABS VAL OF Y PLANE+Y IN ACC PLANE+M-1 PLANE+M-1-Y SET INCREMENTER POS/NEG CLEAR XR2 SET XR4=Y M-Y SET XR3=M-Y INITIAL SETTINGS FOR NEXT FIVE ORDERS USHIFT CSHIFT BOTH -id- MOVE CAL •*«2 SLW *»,2 TXI »+l,2,*« TIX *-3,3,l STZ ♦»,« TIX *-l,4,l CLA FXMCDE SUB =36 TNZ « + 2 TXI MASTER, 7, -2 CLA COMMON+1 ACD =72 STO COMMON+1 SLT 1 TRA * + 2 TXI MASTER, 7, -2 CLA ORDERM+1 SLN 1 TRA FF P + Y H+M-l-Y XR2 = P P + M-l -1 + 1 XR3=M-Y P + M P + Y XR4 = Y JUMP IF IN 72-MOOE SET NEW PSEUDO PLANE = PLANE+72 PRINT - CCMBINES UP TO 5 PLANES IN A SINGLE PICTORIAL PRINTOUT PRINT AXT TSX CLA LCI TSX CLA STO CLA PCX ARS TSX ACD ARS STO ACD STA CAL ADD STA ARS ACD STA CAL ACC STA ARS ACD STA CLA LGR TSX STA ACD 5,1 M0RDER.4 = 144 =01360 MODIFY, 4 FXMCDE COMMON ORDERM ,1 18 NM0K,4 COMMON 1 COMMON+1 ORDERM+4 LDI+12 ORDERM+2 CCMMON+l LDI + 6 18 CCMMON+1 LD1+9 ORDERM+3 CCMMON+1 LCI 18 CCMMON+1 LDI + 3 GRDERM+1 18 NMOK ,4 NXTBT-1 CCMMON FIND M SET XR1=Y=LINE COUNTER ACC=(M+Y)/2 STORE Sl+(M+Y)/2 STORE X, TO SEI XR2 ■17- NXTLN NXTBT LDI ARS I ADD XR7+1 STA XEC SUB = 36 STA XEC + 1 PXA ,0 STD WALL LGL 3 STO COMMON+2 ALS 1 ACD COMMON+2 PAX ,3 TXI ♦+1,7,-2 SLF CLA FXMODE SLB = 36 TZE NXTLN-4 CLA ORDERM+1 ARS 1 STD WALL+1 PCX »A TXI ♦+1,4,1 SXD WALL, 4 SXA XR7,7 AXT ,7 CAL = 1 TRA ♦ + 2 CAL = H SLW COMMON+1 AXT 5,6 AXT -1,5 AXT •♦,2 PXA ,0 TRA *+16,3 LCI **, 1 XEC XEC, 7 ACD = 16 LCI ** , 1 XEC XEC, 7 ACD = 8 LCI ♦♦, 1 XEC XEC, 7 ACD = 4 LCI ♦ ♦, 1 XEC XEC, 7 ACD = 2 LCI ♦♦♦ I XEC XEC, 7 ACD = 1 PAC ,4 CAL COMMON, 5 ALS 6 ACD SYMBL,4 SLW COMMON, 5 TIX *+3,6, 1 TXI ♦+1,5,-1 AXT 6,6 ACC=(M+Y)/2 ACC=B10R0+(M+Y)/2 ACC = P SET XR3=3P SKIP THE PSEUDO SCW AT ORDERS+2,7 JUMP TO IGNORE 72-MODE CONSIDERATIONS ACC DECREMENT HAS X/2 WALL HAS X/2+1 IN DECREMENT SAVE XR7 SET CARRIAGE CONTROL CHARACTER =1,BLK INITIAL SETTING XR6=SEXTAD COUNTER CLEAR XR5=W0RD COUNTER SET XR2 = BIT/LINE COUNTER, *^=X CLEAR ACC XR3=3P, SKIP PLANES TO BE IGNORED ♦*=S5+(M+Y)/2 ♦*=S4+( M+YJ/2 ♦♦=S3+(M+Y)/2 ♦♦=S2+(M+Y)/2 ♦♦=Sl+(M+Y)/2 JUMP UNLESS COMMON, 5 IS FULL INCREMENT WORD COUNTER RESET SEXTAC COUNTER -18- WALL TXH *+5,2 f *♦ TXL ♦ + 4, 2 ,♦♦ TXI *+l,lt-72 SLN 2 TXI ♦+1,7,-1 TIX NXTBT,2, 1 SLT 2 TRA ♦ + 3 TXI ♦+1,1,72 AXT ,7 LCQ =H CAL COMMON, 5 LGL 6 TIX ♦-1,6,1 SLW COMMON, 5 TXI ♦+1,5,-1 PXD ,5 COM STD ♦ + 2 CALL SYS^OT TIX CCMVON+1, ,♦♦ TNX ♦+2,1,1 TRA MXTLN LXA XR7,7 TXI MASTER, 7, -3 NMCK LBT CAS FXMCOE TRA ♦ + 3 TRA 1,4 TRA It* AXT 3,1 TRA INDERR XEC XEC ♦ ♦,2 XEC ♦ ♦ , 2 XR7 • B10RO • BICRO LFT 400COO LFT 2COCOO LFT 1COCOO LFT 040000 LFT 020C00 LFT 010COO LFT 004C00 LFT 0C2C00 LFT 001000 LFT 000400 LFT 000200 LFT 0C0100 LFT 000040 LFT 000C20 LFT 0G0010 LFT 000C04 LFT 000C02 LFT 000001 ♦♦=0 IN 36 MODE, ♦♦=X/2+l IN 72 MODE, ♦♦=X/2, JUMP UNLESS LINE IS HALF DONE JUMP FOR NEXT BIT IN ROW IF IT EXISTS JUMP TO IGNORE 72 MODE CONSIDERATIONS COMPLETE COMMON, 5 WITH SPACES (SYSWOT) - TEMPORARY ♦♦=L=NO. OF WORDS AT COMMON EXIT IF DONE ♦♦=B10R0+{M+X)/2 ♦♦=B10R0+(M+X)/2-36 TEMP. STORAGE FOR XR7 AND FOR X/2+1 ■19- * « * LETTER SYMBL « * « READT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT RFT 4C0C00 2C0C00 100C00 040C00 C20C00 OlOGOO O04COO 002COO OOICOO OC0400 000200 000100 0C0C40 O0OC2C 000C10 000C04 0C0C02 0C0C01 LETTER - THIS ROUTINE SETS THE PRINT CHARACTERS OF 'PRINT' AXT AXT AXT LCQ CLM LGL SLW TXI TIX TXI TIX CLM LCQ LGL SLW CLM LGL SLW TXI OCT OCT 5,1 ,2 6,3 1,7 SYMBL, 2 ♦+1,2,-1 ♦-4,3,1 ♦+1,7,-1 ♦-8,1,1 1,7 6 SYMBL,2 SYMBL+1,2 MASTER, 7, -2 60, 1,2, 21, 3, 22, 23, 24, 4, 25, 26, 27, 30, 3 1,41, 42, 5, 43, 44, 45 46,4 7,50,51,62,6 3,64,6 5,66,67,70,71 LABELT -READT- AND -PRINTT- = ROUTINES TO READ, PRINT PATTERN TITLES CALL SYSRIT TIX PATLBL, , LABELT CLA PATLBL CAS =HTITLE TRA ^+2 TXI MASTER, 7,-1 AXT 5,1 TRA INDERR -20- - THIS ROUTINE BUBBLES P CONSECUTIVE PLANES FOR C CYCLES PRINTT CALL SYSWOT TIX PATLBL+1,,11 • TXI MASTER, 7,-1 « « BUBBLE - THIS ROUTINE BUBBLE AXT 2,1 TSX MCRDER,4 CLA = 144 LDI = 01C TSX MODIFY, 4 CLA = 1 LDI = 05 TSX MODIFY, 4 CLA MODS EL PAX ,4 CAL ORDERM+1 STD COMMON+1 BUBB STA BUB STA 8UB+1 STA BUB+3 STA BUB + 9 ACC = 144 STA BUB + 8 LXD COMMQN+1,3 CLA ORDERM PCX ,2 CAL =0777777777777 SLW COMMON AXT ,1 BUB LCC ** , 1 CAL *♦, 1 ANA COMMON SLW *♦, 1 TNX RSBUB, 2, 1 XCL SLW COMMON CCM ANA **, 1 ORS ** , 1 TXI BUB, 1,-144 RSBUB TIX BUB-5,3, 1 CLA BUB ADD = 1 TIX BUBB, 4, 1 « TXI MASTER, 7, -2 « * J| CCMMEN - A SUBROUTINE COMMEN AXT 11,1 TSX MCRCER,4 CALL SYSvsOT TIX GRDERM+1 , f 10 SET XR4=M' SAVE C SET XR3=C SET XR2=P SET TOP BOUNDARY CONDITION CLEAR XR1 TO START CYCLE ON TOP PLANE ♦*=PLANE **=PLANE FORM A TIMES B »*=PLANE JUMP IF ROW OF LAST PLANE IS STORED STORE B, THIS WILL BE A ON NEXT CYCLE **=PLANE+144, EORM B-BAR TIMES C **=PLANE, STORE ( AB ) OR ( H-BAR.C ) FORM NEW ADDRESSES, B BECOMES A, ETC JUMP TO START NEW CYCLE ON SAME ROW NO JUMP, START ON NEW ROW JUMP IF M« ROWS ARE NOT YET COMPLETED FINAL EXIT SUBROUTINE TO PRINT SHORT CODE CHECK COMMENTS ■21- TXI MASTER, 7, -11 « • • INDERR - THIS INTERNAL ROUTINE FLAGS PROGRAMMING ERROR, THEN • TRANSFERS TO SYSERR, TERMINATING THE SIMULATOR PROGRAM. « INDERR PXA ,1 ADM =H-ERR STO COMMON CALL SYSWOT TIX CCMMON,,l CALL SYSERR * « « « THE NEXT 2 ROUTINES TRANSFER BETWEEN 7090 AND PAU-S I MUL ATOR * J7C94C TXI •♦1,7,-2 TRA* -1,7 J7C94M TXI *+l,7,-2 PXA ,7 PAX ,1 SLB -1,7 PAX ,7 TRA ,1 « • READ - READS PUNCHED INPUT PATTERNS (PICTORIAL OR BINARY) READ AXT 2,1 TSX MGRDER,4 CLA = 144 LCI =G1C TSX MODIFY, 4 LAXM NOP ZET 7 TRA RBCDS CALL .READ STR F0RM1 STR COMMON, ,C0MM0N+2 STR PATL3L+l,,PATLBL+ll STR EAXM CLA FXMCDE STO CCMM0N+3 SUB CCMMON+1 TMI 2BIG ARS 1 SUB = 36 STA OLOOP-1 CLA COMMON+3 SUB COMMON TPL » + 6 TRA * + 3 L(7)=0 MEANS INPUT IS BCD SPEC IS 2I2,A2,11A6 ACC=M-X JUMP IF M LESS THAN X ACC=lM-X)/2 ACC ADDRESS IS 36-(M-X)/2 ACC=M-Y JUMP UNLESS M LESS THAN Y -22- 2BIG ZZZST INPUU 1DRET CLCOP LBT TRA 1,4 AXT 1,1 TRA INDERR ARS 1 PAX ,1 LXA COMMON, 5 ACD ORDERM+1 STA ZZZST ADD = 72 STA 72CLR+1 CLA COMPON+1 TSX 2BIG-2.4 CLA COMMON TSX 2BIG-2,4 ACD COMMON+3 ARS 1 ADD ORDERM+1 AXT ,2 LDI FXMCDE RFT 44 TRA « + 4 AXT -1,2 STA ACCFL ADD = 72 STA STORE+3 CLA ORDERM+1 ACD C0MM0N+3 STA ZZZST+1 ADD = 72 STA ZZZST+3 CLA COMMON+2 SUB AID STO COMfON+2 TXL » + 6, 1,0 STZ **, 1 STZ ♦ « , 1 XEC 72CLR,2 STZ ♦*, 1 TIX *-4,l,l AXT 1,6 LAXM NCP CALL .READ STR F0RM2 STR CCMMON+3, , NZT COMVON+2 TRA CHKID STR EAXM AXT ,1 CLM LXA COMMON+1,3 AXT ♦* f A LCI COMMON+3, 1 IIS = H AXT 6,2 ACC=(M-Y)/2 XRl=(M-Y)/2, CLEARING COUNTER XR5=Y, ROW COUNTER STORE PLANE+(M-Y)/2 STORE PLANE+72+(M-Y)/2 ACC=(M+Y)/2 ACC=PLANE+(M+Y)/2 JUMP IF IN 36 MODE STORE PLANE-MM + Y)/2+(EITHER OR 72) ACC HAS PLANE+K ACC HAS PLANE+H+72 *»=PLANE+(M-Y)/2 **=PLANE+M **=PLANE+72+M CLEAR XR6 FOR USE IN ID CHECK SKIP FOR NO ID CHECK END OF I/O LIST CLEAR WORD COUNTER SET XR3=X SET XR4=**=36-(M-X)/2 GET WORD OF BCC CHARACTERS SET XR2=6=SEXTAD COUNTER -23- ILCOP XEC TSTSTI+6,2 ACD = 1 TNX STORE, 3, 1 TNX ACCFL, 4,1 ALS 1 6BITS TIX IL00P,2,1 TXI OLGOPtit-1 ACCFL SLW »», 5 AXT 36,4 TRA 6BITS-1 STORE TNX ♦+3,4,1 ALS 1 TRA ♦-2 « SLW *»,5 TIX INPUU,5,1 TXI MASTER, 7, -2 72CLR TRA ZZZST+4 STZ ♦ ♦, 1 AIC BCI 1*10 FORM1 BCI 2,2I2,A2,11A6* FORM2 BCI 2,12A6,S6, 12* CHKID STR EAXM COMMON PXA ,6 SUB COMMON TZE ♦ + 3 AXT 2,1 TRA INDERR TXI ♦+1,6, 1 LAXM NCP TRA IDRET TSTSTI LFT 770C00 LFT 0C7700 LFT 000077 RFT 770C00 RFT 007700 RFT 000C77 RBCDS LAC ORDERM+1 ,2 CALL SYSRIT TIX COMMON LXA COMMON, 1 AXT -1,4 CLA COMMONS STO ,2 TXI ♦+1,4,-1 TXI ♦+1,2,-1 TIX ♦-4,1,1 LCI COMMON RNT 700000 TRA RBCDS+1 EAXM TXI MASTER, 7,-2 « * « JUMP IF X BITS ARE READ JUMP IF ACC IS FULL JUMP IF 6 BITS (ONE WORD) NOT YET REA ♦♦=PLANE+(M+Y)/2 JUMP IF ACC IS FULL IN 36 MODE, ♦♦=PLANE+(M+Y)/2 IN 72 MODE, ♦♦=PLANE+(M+Y)/2+72 JUMP FOR NEXT ROW ♦♦=PLANE+72+(M-Y)/2 ACC=CURRENT VALUE OF ID NUMBER JUMP IF CARD SEQUENCE IS OK CARD SEQUENCE IS INCORRECT, INDICATE PROGRAMMING ERROR 2 XR2 HAS LOADING ADDRESS COMPLEMENTED READ A BINARY CARD XR1 HAS NO. OF WORDS ON CARD IF T=7, THIS WAS LAST CARD, SKIP NEXT -2k- * PUNCH THIS ROUTINE PUNCHES A BINARY PATTERN ONTO BINARY CARDS, * THE SIZE (36X36 OR 72X72) BEING DETERMINED BY THE OPERATING MODE. * PUNCH AXT 1,1 TSX MORDER,4 CLA =144 LDI =1 TSX MCDIFY,4 CLA MODSEL PAX ,6 XR6=N PUNCJ LXD ORDERM,2 XR2=PLANE=Sl=FwA AXT 23,5 XR5=23=NO. OF kORDS/CARD (USUALLY) TIX PUNCI,6,23 JUMP IF NEXT PUNCHED CARD IS NOT LAST PXA ,6 PREPARE TO PUNCH LAST CARD, WHICH MAY PAX ,5 HAVE FEWER THAN 23 WORDS ON IT. TSX ECARD,1 TXI MASTER, 7,-1 PUNCHING COMPLETE, EXIT PUNCI TSX PCARD,1 GO PUNCH 1 CARD, NOT THE LAST ONE TXI PUNCJ+1,2,23 ADVANCE FWA, GO PUNCH NEXT CARD • # ENTER 'PCARD' VIA 'TSX PCARD, 1', WITH XR5=N, XR2=FWA. * THEN WORDS FWA THROUGH FWA+N-1 WILL BE PUNCHED IN BINARY CARD • CCLUMNS 4 THROUGH 72(MAX.). COLUMNS 1-3 CONTAIN P,D,T,A, WHERE • P=T=0, D IS BINARY CARD IDENTIFICATION, AND A=N (N MAX. IS 23). • 'ECARD' IS THE SAME AS 'PCARD', EXCEPT T=7 (LAST CARD) • ECARD CAL =05C070000C TRA *+2 PCARC CAL =C5COOOOOOO XCL PART OF OVERWRITING WORD IS NOW IN MO SXA COMMON, 2 SAVE FWA TXI *+l,2,-l XR2=FWA-1=0VERWRIT ING ADDRESS PXA ,2 PAC ,2 STA PCARE SET FWA PARAMETER FOR SYSPCB TXI *+l,5,l XR5=N+1 SXD PCARE, 5 LDI ,2 SAVE WORD TO Bt OVERWRITTEN XCL STO ,2 OVERWRITE TAG, DECREMENT, AND PREFIX TXI *+l,5,-l RESTORE XR5=N+1-1=N PXA ,5 STA ,2 OVERWRITE ADDRtSS <=N) LAXM NCP CALL SYSPCB PCARE TIX *«,,♦* **=FWA-1,N+1 EAXM STI ,2 RESTORE OVERWRITTEN WORD LXA COMMON, 2 RESTORE XR2=FWA TRA 1,1 LINK RETURN « « * THE FOLLOWING SUBROUTINES PERFORM INDEX REGISTER ARITHMETIC # CECREM CLA ,7 -25- PCC ,1 CLA 1,7 CHS TRA INCREM+3 SETIR CLA ,7 PDC ,1 STZ IR-1,1 INCREM CLA ,7 PCC ,1 CLA 1,7 ACD IR-1,1 TNZ ♦ + 2 SSP STO IR-1,1 PBT TXI MASTER, 7, -2 AXT 4,1 TRA INDERR TRANS CLA ,7 PCC ,1 CLA 1,7 PAC ,2 CLA IR-1,2 STO IR-1,1 TXI MASTER, 7, -2 CSPLY CLA ,7 PCC ,1 ARS 18 STO ORDERM CLA IR-1,1 STO ORDERM+1 LAXM NCP CALL .PRINT STR ♦ + 5 STR ORDERM, , ORDERM+1 STR EAXM TXI MASTER, 7, -2 « ji BCI 4,3H-IR, 12, 3H = , • * THE FOLLOWING ROUTINE EFF MORDER PXA ,7 PAX ,6 SXA COMMON+4,2 SXD COMMON+4,3 SXD COMMON, 1 AXT ,3 CLA ,6 STO ORDERM, 3 TXI ♦+1,6,-1 TXI ♦+1,3,-1 TIX — 4,1,1 TRA 1,4 XR1 GETS COMPLEMENT OF IR NUMBER CLEAR IRK FOR USE BY INCREM OBTAIN SIGNED C IN ACC ARE NEW CONTENTS OF IR ZEROS YES, DISALLOW MINUS ZERO NO TEST FOR IR OVERFLOW OVERFLOW, INDICATE ERROR NUMBER 2 XR1 GETS COMPLEMENT OF IR NUMBER STORE CONTENTS OF IRK 112* ECTS SYMBOL MODIFICATION BY INDEX REGS SAVE XR2, XR3 IN C0MM0N+4 SAVE W IN DECREMENT OF COMMON JUMP IF SCn NOT YET FULLY TRANISMI TTEI -26- STP CCMMON+2 PCC ,5 ALS 18 STD ORDERM,3 TXI MODIFY+9,2, 1 STT CCMMON+2 PAC ,5 NCP STA QRDERM, 3 TXI MCDIFY+12,6,1 MOCIFY STO COMMON* 1 AXT .2 AXT t3 AXT lt6 CLA COMMON STO * + 7 XEC BlORO+35,2 TRA MODCEC TXI •+1,2,1 XEC BlORO+35,2 TRA MQDADD TXI *+l ,6, 1 TXH *+3,6,«* TXI *+l,2,l TXI *-8,3,-l LXA CCMMON+4,2 LXD COMMON+4,3 TRA 1,4 MOCDEC AXT 10,1 TRA * + 2 MODADD AXT 5,1 STZ COMMON+2 CAL ORDERM, 3 XEC MODIFY, 1 CAL CCMMON+2 ARS 15 XEC MCDIFY+1,1 TXL *+7,5,0 LCQ IR-1,5 MPY COMMQN+1 XCA XEC MCDIFY+2,1 ACM ORDERM, 3 XEC MODIFY+3,1 • XEC MCDIFY+4,1 « • JUMPS • SUBROUTINES Tl JUMPUC CLA ,7 PCC ,7 TRA* ,7 JUMPNL CLA 1,7 TSX NULTST,3 TZE JUMPUC TXI MASTER, 7, -2 STORE R ACC DECREMENT HAS W SKIP FOR NO MODIFICATION (DfcCREMEN) SKIP FOR NO MODIFICATION (ADDRESS) RESTORE XR2, XR3 OBTAIN WORD TO MODIFY COMMON+2 HAS K IN TAG OR PREFIX ACC HAS K IN ADDRESS OR DECREMENT STORE -K IN XR5 V( IRK) TO MO V( IRK)R IN MO ACC HAS V(IRK) IN ADD OR DEC STORE MODIFICATION RETURN TRANSFER CONTROL WITHIN SIMULATOR ■27- JU^PNN JUNPZE JUMPNZ JUfPET JUMPLT JUVPGT JU^P JUNPKS TESTC SELIR « « « NULTST GG GLA TSX TNZ TXI TSX ZET TXI TRA TSX ZET TRA TXI TSX TXI TRA TXI TSX TRA TXI TXI TSX TXI TXI TRA TSX PXA STA TRA TSX CLA PAX TXI TSX TPL PCC PXD SSM ARS CAS TRA TRA TRA CLA PAC TRA NULTST STA ACL STA CLA PAX ACD STA ZET 1,7 NULTST, 3 JUMPUC FASTER, 7, -2 SELIR, 4 IR-1, 1 MASTER, 7,-2 JUMPUC SELlR,4 IR-1, 1 JUM D UC MASTER, 7, -2 TESTC, 3 MASTER, 7,-2 JLMPUC MASTER, 7, -2 TESTC, 3 JUMPUC MASTER, 7, -2 MASTER, 7,-2 TESTC, 3 MASTER, 7,-2 MASTER, 7,-2 JUMPUC SELIR, 4 ,7 IR-1 , 1 JUMPUC SELIR, 4 IR-1 , 1 ,7 MASTER, 7, -2 SELIR, 4 ♦ + 4 i4 ,4 18 IR-1,1 1,3 2,3 3,3 1,7 ,1 1,4 JUMP IF C IS POSITIVE ACCUMULATOR HAS C AS FXD POINT INTEG IRK IS LESS THAN C IRK EQUALS C IRK IS GREATER THAM C THREE WORD ROUTINE TO SCLECT AN INDE REGISTER. XKl IS SET = COMPLEMENT OF K, FOUND IN ADDRESS OF THE SCW. • AN INTERNAL SUBROUTINE TO TEST FOR NULL PLANE = 72 CCMVON FXMCDE ,4 »* , 4 SET XR4=M=M0DE DIMENSION (36/40/72) ACCUMULATORS ADDRESS IS PLANE+M TEST *0R0 OF PLANE, **=PLANE+M ■28- TRA GGG 1,3 EXIT WITH NON-ZERO ACCUMULATOR TIX G,4,l CLA FXMODE SUB = 36 TZE GGG CAL COMMON TZE lt3 STZ COMMON STA G TRA GG PXA ,0 TRA 1,3 NON-36 MODE, EXIT WITH ZERO ACCUMULTR N0N«36 MODE, PLANE PARTIALLY TESTED SET PSEUDO'PLANE ADDRESS=PLANE+72 CLEAR ACCUMULATOR 36X36 MODE, EXIT WITH ZERO ACCUMULATR THE FOLLOWING ROUTINES ARE USED TO TIME SIMULATOR SUBROUTINES TIME TIMSET TIMES EJECT TT INEZ CLCCK MZE CLA TMI LXA CLA SUB STO ACD STO TXI SXA TXI CLA STO STZ TXI CAL CCM SUB ALS STD LAXM NCP CALL STR STR CALL STR STR STR EAXM SSM STO TXI BCI BCI LAXM NCP STZ MINUS SIGN DENOTES FIRST ENTRY *-l TIMSET TIME-1,6 5 INEZ IWW, 6 INEZ INEZ ♦♦1,6,-1 TIME-L,6 MASTER, 7,-1 5 INEZ TIME-1 MASTER, 7,-1 TIME-1 ♦ +1C 18 *+8 .PRINT EJECT, ,0 .PRINT TT,,0 IWW , , ** TIME-1 MASTER, 7,-1 1,1H1* 6,1H ,I10,22H SIXTIETHS OF A SECOND* -29- CALL .COMNT STR *+5,,0 STR EAXM HPR TXI MASTER, 7,-1 BCI 7,36H0PERAT0R, TURN CLOCK ON, PRESS START* • * * « DOW - DISPLAY OCTAL WORD « COW AXT 1,1 TSX MCRDER,4 CLA =1 LCI =1 TSX MODIFY, 4 LXD 0RDERM,4 SXA ♦+5,4 LAXM NOP TSX .PRINT, 4 STR »+5 STR ♦• STR EAXM TXI MASTER, 7,-1 BCI 4,11H-0CTAL W0RD,K14* • * « # THE FOLLOWING DIRECTION LISTS ARE MACHINE-DEFINED « DLO DL 1,0 DL1 DL 1,1 CL2 DL 1,2 CL3 DL 1,3 CL4 DL 1,4 CL5 DL 1,5 CL6 DL 1,6 CL7 DL 1,7 CL8 DL 1,8 CL15 DL 2,1,5 DL26 DL 2,2,6 CL37 DL 2,3,7 CL48 DL 2,4,8 CLSUR DL 8,1,2,3,4,5,6,7,8 CLALL DL 9,0,1,2,3,4,5,6,7,8 « » « * THE NEXT 4 ROUTINES CONTROL X,Y PLANTING IN PTRANS SCW*S # • SETTRA - SET THE SHIFT ORDER AT LOC ALPHA 10 SHIFT IN D DIRECTION SETTRA CLA 1,7 PAC ,1 XR1=-D •30- DIRECT CLA PCC CAL STP STD ALS STP STD TXI VFD VFD VFD VFD VFD VFD VFD VFD VFD 1.7 ,2 DIREC ,2 .2 18 1,2 1,2 MASTE 18/+0 18/ + 1 18/ + 1 18/ + 18/-1 18/-1 18/-1 18/ + 18/ + 1 T,l Rt7,-2 ,18/+0 ,18/+0 ,18/+1 .18/+1 ,18/+1 ,18/+0 ,18/-1 ,18/-1 ,18/-1 XR2=-ALPHA ACC HAS X,Y VALUES FOR PLANTING « SETTRB SETTRB - MULTIPLY THE X,Y OF SHIFT ORDER AT LOC ALPHA BY V(IRK) MULT « * SETTRC CLA PAC PCC LCO TSX STP STD LCQ TSX STP STD TXI LGR MPY XCA ALS TPL COM TRA L,7 ,1 ,2 ,1 MULT, 4 ,1 ,1 1,1 MULT, 4 1.1 1,1 MASTER, 7, -2 18 IR-1,2 18 » + 2 1,4 XR1=-ALPHA XR2=-K SETTRC - SET THE SHIFT ORDER AT LOC ALPHA TO SHIFT IN -D DIRECT'N CLA PAX TXL TXI TXL TXI PXA TRA 1,7 ,1 ♦+4, 1,0 ♦+1,1, A ♦+2, 1,8 ♦♦1, 1,-8 ,1 SETTRA+1 XR1 = D JUMP IF D=0 XRl=D+4 JUMP IF D+4 IS LESS OR EQUAL TO 8 ACC ADDRESS IS -D -31- « • SETSET - SET THE SETTRA ORDERS AT LOCATIONS ALPHA,BETA WITH THE • VALUES D,-D, FOR EVERY D IN DL. WHEN DL IS CONE, JJMP • TC LOCATION GAMMA • SETSET AXT 2,1 TSX M0RDER,4 CLA = 2 LCI =C1C TSX MODIFY, 4 CLA ORDERM PCC ,1 XR1=-ALPHA CLA ORDERM-H PCC ,2 XR2=-BETA PAC ,3 XR3=-DL CLA 3,7 ACD =1 CAS ,3 TRA SETSE BEGIN FINAL EXIT (KTH ENTRY) NCP STO 3,7 ALS 2 ACC=4I LCQ 1,3 STA *+l LGL ** ANA =15 STA 1,1 TZE *+5 JUMP IF D=0 ACD = 4 ACC=D+4 CAS =8 SUB =8 NCP ACC={D+4)M0DUL0 8 STA 1,2 TXI MASTER,7,-4 NORMAL EXIT SETSE STZ 3,7 TXI MASTER, 7,-2 * « DLTOIR - READ A DIRECTION LIST, PUT NEXT DIRECTION INTO IRK. • IF CIRECTION LIST IS EXHAUSTED, JUMP TO LOCATION NAME. • CLTOIR CLA 2,7 TNZ DLTCIS JUMP IF THIS IS NOT INITIAL EXECUTION AXT 1,1 TSX MCRDER.4 CLA =2 LCI =1 TSX MODIFY, 4 LCC ORDERM, 4 XR4= -DL CLA 1,4 STO 3,7 CLA ,4 TZE DLTCIS+2 FINAL EXIT IF INPUT DL IS VACUOUS CLTOIT STO 2,7 CLA 1,7 PAC ,4 XR4=K ■32- ZAC LCQ 3,7 LGL 4 STQ 3,7 STO IR-1,4 TXI MASTER, 7, -A CLTOIS SUB =1 TNZ DLTOIT STO 2,7 CLA 1,7 TRA JUMPUOl * « « * * « LISTXY listxy - this routine first n points are li points found, if m le axt 2,1 tsx morcer,4 CLA =144 LCI =1 TSX MODIFY, 4 CLA =1 LCI =4 TSX MODIFY, 4 CLA MCDSEL PAX ,6 LXD 0RDERM,4 TXH LIS7,6,50 AXT ,6 TXI *+l f 4,35 LISS SXA LISU,4 SXA LISL+2,4 LXD ORDERM+1,5 TXH ♦+2,5,1 AXT -1,5 LXA ORDERM+1,4 SXD »+l,5 TXI *+l,4,** SXA CALCXY+2,4 SXA CALCXZ,4 SXA CALCXZ+4,4 AXT ,1 STZ IR-H-21 LISU NZT *«,1 TRA LISG+2 LDI ##,1 LFT 777777 TRA LISL LISQ RFT 777777 TRA LISR XEC *+2,6 TRA *+5 TRA »+l TXI •♦1,1,1 TXL LISL', 1,35 PUT D (FROM DL) INTO IRK NORMAL EXIT JUMP IF MORE D'S ARE STILL IN DL FINAL EXIT IS JUMP UC TO 'NAME 1 LISTS THE POINTS IN A PLANE SI. ONLY THE STED. PAX XR21 WILL CONTAIN M, THE NUMBER OF SS OR EQUAL TO N. OTHERWISE M=N + 1 XR4 = PLANE JUMP TO LIS7 IF IN 72-MODE SET MODE SWITCH = XR6 = SET XR4 = PLANE + 35 = BASE ADDRESS SET PLANE BASE ADDRESS SET PLANE BASE ADDRESS XR5=N+1=N« XR4=LIST **=N' BY *-l, XR4 STORE LIST+N* = LIST+N* CLEAR SRI = Y-COORDINATE COUNTER CLEAR PAX INDEX REGISTER 21 »*= BASE ADDRESS OF PLANE JUMP, WORD OF PLANE IS EMPTY *»= BASE ADDRESS OF PLANE JUMP FROM HERE IF IN 72-MODE (XR6=1) JUMP FROM HERE IF IN 36-MODE (XR6=0) -33- TX1 TXL TXI TXL TXI TXI LISL LFT TRA LFT TRA TRA LISR RFT TRA RFT TRA TRA LIS7 AXT TXI LISLL AXT TSX NCP TRA LISLM AXT TSX ALS TRA LISRM AXT TSX ALS TRA LISRR AXT TSX ALS TRA LOCKY PIA XEC AXT PBT TXI TRA ALS TIX TRA CALCXY TNX TXI STZ STO PXA TXL TXI PXA TXI CALCXZ STA PXO TXL ACD STD MASTER, 7, -2 ♦+4,1,71 ♦+1,1,73 LISL, 1,71 MASTER, 7,-2 LISL, 1,-72 777C00 LISLL 777 LISLM LISQ 777000 LISRM 777 LISRR LISC+2 1,6 LISS f 4 t 71 ,2 LC0KY,4 LISL+2 9,2 L00KY,4 9 LISG 18,2 LC0KY,4 18 LISR+2 27,2 LC0KY,4 27 LISC+2 1,4 9,3 ♦+2,2,1 CALCXY 1 ♦-4,3,1 2,4 XY0VF,5, 1 ♦+1,5,1 ♦ ♦ , 5 COMMON ,1 CALCXZ, 1,75 ♦ +1, 1,72 ,1 ♦+1, 1,-72 ♦ ♦,5 ,2 ♦+2,1,71 36SPEC ♦ ♦, 5 FINAL EXIT (NORMAL, 36-MODE) JUMP IF JUST DOME WITH LEFT-HALF WORD FINAL EXIT ( NORMAL, 72-MODE ) SET XR6 = 1 = 36/72 MODE SWITCH SET XR4 = BASE ADDRESS OF PLANE INCREMENT X COORDINATE JUMP FROM HERE IF P=l, CALCULATE X,Y RETURN JUMP IF THIS IS N+1TH POINT ♦ ♦ = LIST + \I« SAVE ACCUMULATOR STORE Y COORDINATE, *#=LIST+N» SKIP NEXT INSTRUCTION IF IN LEFT HALF STORE X COORDINATE, **=LIST+N' -3k- CLA IR-1+21 ACD =1 STO IR-H-21 CLA COMMON RESTORE ACCUMULATOR TXI LOOKY+4,5,-1 36SPEC ,,36 XYCVF CLA IR-1+21 ADD =1 STO IR-1+21 TXI MASTER, 7, -2 FINAL EXIT ( ON LIST OVERFLOW ) • * * READZ THIS ROUTINE READS P(I) FOR SEVERAL PLANES M(I) « READZ AXT 21,1 TSX MCRDER,4 AXT 3,4 SXD COMMON, 4 MODIFY THE MODIFY ROUTINE CLA =1 LCI =015 TSX MODIFY, 4 LXA FXMCDE,4 TXI ♦♦1,4,-1 SXD * + 4,4 SXD *+5,4 AXT 6,1 LXD ORDERM+1,4 TXH INDERR,4,** LXA ORDERM+1,4 TXH INDERR.4,** AXT -3,4 SXA MODIFY+2,4 MODIFY THE MODIFY ROUTINE AXT 18,4 SXD COMMON, 4 MODIFY THE MODIFY ROUTINE SXD MODIFY-6,0 MODIFY THE MODIFY ROUTINE CLA =144 LDI =0777777 TSX MODIFY, 4 SXA MODIFY+2,0 RESTORE THE MOCIFY ROUTINE AXT 1,4 SXD MCDIFY-6,4 RESTORE THE MODIFY ROUTINE LCC ORDERM.i XR1 HAS BIT NUMBER (COMPLEMENTED) CAL =0400000000000 ARS ,1 ACC HAS 'BIT» MASK (BMASK) XCL PUT BMASK INTO MO CLA ORDERM+2 STA REACB STA REACB+2 STA REAC6+4 TSX XY,3 STO COMMON AXT -3,6 READA LCI 0RDERM,6 RFT 777777 TXI MASTER, 7, -3 FINAL EXIT, NO MORE PLANES TO EXAMINE PIA ■35- READ3 « * WRITE * « « « * WRITEP * « « « « « XY PCX SXA XCL LCI ONT TXI ORS TXI LCI RIA STI XCL RCL TXI ,5 ♦ + 2,5 ♦ • ,4 COMMON ♦+3,7,-1 ♦ # •♦4,7,-1 ** »* 35 REACA,6,-1 PUT BMAST INTO ACC ♦ ♦ IS BASE ADDRESS OF PLANE COMMON HAS XMASK JUMP IF POINT P=0 ♦♦=ZWORD, SET BIT IN ZKORD=i ***ZWORD SET BIT=0 IN ZwDRD ( IN SR) ♦ * = Z*lORD RETURN BMASK TO MO ADVANCE BMASK WRITE - BLACKENS A SELECTED POINT I N A SELECTED PLANE AXT TSX CLA LCI TSX CLA LCI TSX LXD SXA TSX ORS TXI WRITEP AXT TSX CLA LCI TSX LAC CLA STO TRA XY CLA SUB LXA 2,1 MCRCEK.4 = 1 =014 VCDIFY, 4 = 144 =01 MODIFY ,4 0RDERM,4 ♦ + 2,4 XY, 3 ** , 4 VASTER, 7,-2 SET PLANE BASE ADDRESS INTO * + 2 SET XR4,ACC, ACCORDING TO COORDINATES *#=PLANE, WRITE POINT (X,Y) ■ READ COORDINATES FROM LOCATION NAi'E , THEN BLACKEN POINT 2,1 MCR0ER,4 = 1 = C1C MODIFY, A ORDERM* 1 ,4 ,4 ORDERM+1 WRITE+5 GIVEN X,Y COORDINATES IN LOCATION CRDERM+1, THIS ROUTINE EXITS WITH 'MASK* IN ACCUMULATOR, XRl DESTROYED, XR4 SET SC THAT ,V ASK« ON PLANE, 4 SELECTS DESIRED PDINT OF PLANE ENTE^ VIA TSX XY,3 RETURN IS TD 1,3 FXMCDE = 72 ORDERM+ I ,4 XR4=Y -36- TZE REAC7 TRANSFER IF IN 72-MODE PXA ,4 SUB = 35 ACC ADDRESS HAS 35-Y READC PAC ,4 XR4=(M-Y) COMPLEMENTED LDC ORDERM+1,1 XR1 = X (COMPLEMENTED) CAL =C4C0000000000 ARS ,1 ACC HAS XMASK TRA 1,3 READ7 PXA ,4 SUB =71 ACC HAS 71-Y LXD ORDERM+1,1 XR1=X TXL REACC,1,35 JUMP IF POINT P IN LEFT-HALF-PLANE SUB =72 ACC ADDRESS IS 143-Y PAC ,4 LCC ORDERM+1,1 TXI REACC+2,1,36 XR1 HAS (X-36) COMPLEMENTED * * « MARK - S1,S2,D,S3 - P IN SI IFF P HAS A -D-NGHBR IN S2, P IN S3 « MARK AXT 4,1 TSX M0RCER,4 CLA =144 LDI =01C5 TSX MODIFY, 4 CLA =2 LCI =01C TSX MCDIFY,4 CLA ORDERM PCX ,1 SXA MARK7+1,1 CLA ORDERM+1 STD MARKl+1 STA MARK2+1 CLA ORDERM+3 PCX ,1 XR1=S3 TXL *+4,l,0 JUMP IF S3 IS NOT SPECIFIED STD MARK6 CLA 6MARK TRA * + 2 CLA 7MARK STD MARK2+2 TXI MASTER, 7,-2 6MARK ,,MARK6 7MARK ,,MARK7 BCOLOP MACHl,, CLEAR yARKl BCOLOP MACH2, ♦EQUAL,** **=S2 NARK2 SETSET **,, MARK 3 , COMMON , ** ** = DL, MARK6/NARK7 MARK3 SETTRA **,NARK4 **=+D, BY MARK2 NARK4 SHIFT MACH2, ,**,** #* f *#=-D BY MARK 3 BCOLOP MACHl, , OR, MACHl, ,MACH2 MARK5 JUMP UC.MARK1 NARK6 BCOLOP MACH 1 ,, AND , MACHl ,, ** **=S3 NARK7 BCCLOP **,, EQUAL , MACH 1 **=S1 JUMP RETURN, ,25 ■37- « * « CONNEC CONNIEC - PUT IN SI THE GROWTH OF POINTS OF S2 IN DL-DIRECT I J.MS CHAIN1 CHAIN2 CHAIN6 CHAIN3 CHAINS CHAIN5 * # « « * TCHAIN AXT TSX CLA LCI TSX CLA LCI TSX CLA PCX SXO SXC SXO SXA CLA STO STA CLA STO STC TXI INDEX BCOLOP MARK BCOLOP BCOLOP INDEX JUMP BCOLOP JUMP 4,1 MCRDER,4 = 144 = 0105 MODIFY, 4 = 2 =010 MODIFY, 4 GRDERM ,1 XR1=S1 CHAIN2»1 CHAIN3,1 CHAIN6+1, 1 CHAIN5+1 , 1 ORDERM+1 CHAIN1+1 STORE S2 CHAIN2+1 STORE DL ORDERM+3 CHAIN2+3 STORE S3 CHAIN1 MASTER, 7, -2 SET, 21,-1 MACH3,,AND,*«, ,** **=S2,S3 **,,**,, MACH3, ,** **=DL,S1»S3 MACH4, , AND,**, ,MACH3, , BAR ** IS SI MACH3, ,0R,MACH3, ,** **=S1 INCR,21, 1 N0NULL,CHAIN2,MACH4 **,, EQUAL, MACH3 **=S1 RETURN, ,24 TCHAIN - PUT P IN SI IFF THE POINT P IN S2 IS A BEGINNING POINT FOR A CHAIN IN S3 WITH A LENTH L SATISFYING SOME RELATION AXT TSX CLA LCI TSX CLA LCI TSX CLA LCI TSX CLA STC STD CLA STD STA 3,1 MCRDER,4 = 144 =015 MODIFY, 4 = 2 = 040 MODIFY, 4 = 1 =020 MODIFY, 4 ORDERM TCH1 TCH2+3 ORDERM+1 TCHH-l TCH8+1 SET SET S2 SI -38- CLA ORDERM+2 STD TCH3+1 PAC ,5 XR5=-DL STA TCH2+1 SET OL CAL l t 5 ACC HAD DIRECTION LIST ARS 32 ACC=D STA TCH4+1 SET D STA TCH6+1 SET D LCI 3,7 RNT 3 TXI *+4,7,-2 CLA TCH1+2 SET EQUAL TXI ♦+3,7,-2 ANDCOM CLA *-l STA TCH8 SET ANDCOM/EQUAL RFT 20 TRA *+5 JUMP TO SET S2=BN RNT 10 TRA »+5 JUMP TO SET S2=B1 CLA TCH2 SET S2=B(N+1) TRA * + 4 CLA TCH2-H TRA *+2 CLA TCH1+2 STD TCH8 + 1 SET S2 = B1/BN/B ( N + l ) RFT 70 TRA «+3 JUMP TO SET S3=B(N+1) CLA TCH1+3 SET S3=BN TRA «+2 CLA TCH2 STD TCH8 PXA ,7 STA IR-1+2A FAKE LINK INTO IR24 CLA TCH3+2 TRA JUMPUC+1 FAKE JUMP TO TCH1 TCH1 BCOLOP MACH4, , AND, **,,** MACH4=B1, ♦*=S2,S3 BCOLOP MACH6, , EQUAL, MACH4, ,MACH6 INDEX SET,22,L TCH2 MARK ♦* , , MACH5 , , MACH4 , , ♦* MACH5=E ( I +1 ) , MACH4=EI, TCH3 JUMP EXACT, TCf-K, 22, ♦* **=N ♦* = DL,S3 BCOLOP MACH4, , EQUAL, MACH5, ,TCH1 JUMP NULL,TCH8,MACH5 INDEX INCR,22,1 JUMP UCTCH2 TCH4 SETTRC «*,TCH5 SETTRB 22,TCH5 TCH5 SHIFT MACH5, ,#*,♦* TCH6 SETTRC *«,TCH7 «»=D INDEX DECR,22,1 SETTRB 22, TCH7 TCH7 SHIFT MACF4 TCH8 BCOLOP **,,*♦,*#,,♦*,,*# *#=S 1 , ANDCOM/ECUAL , ETC. ETC, JUMP RETURN, ,24 • « * -39- * TMARK TMARK - FUNCTIONS AS APPLY TEMPLATE AND BUBBLE TM12 FKL25 TM1 TM<5 TM2 AXT TSX CLA LDI TSX CLA LDI TSX CLA LCI TSX CLA STO CLA STO CLA STO CLA STD CLA STD STA CLA STA PCX LDI PXA STT CAS* TXI TXI RNT TXI TXI PXA RNT TXI STO TXI STO STZ TRA RNT TXI CLA TRA PXA STO SXA CLA TRA INDEX BCOLOP SETSET INDEX 4,1 MORDER,4 = 144 =015 MODIFY, 4 = 2 =040 MODIFY, 4 = 1 = 02C MODIFY, 4 IR IR-1+21 IR-1+3 IR-1+23 IR-1+4 IR-1+24 ORDERM TM3+1 ORDERM+1 TM9+1 TM8+1 ORDERM+2 TM2+1 ,1 3,7 ,1 ORDERM+2 ORDERM+2 TMll,7,-2 TM10,7,-2 42 *+l , 1 ,-1 *+l, 1, 1 ,1 1 *+3,7,-2 IR-1+3 ♦+4,7,-2 IR-1+4 IR-1+3 FKL25 3 * + 3, 1,1 = 10 * + 2 ,1 IR-1+4 IR-1+25,7 TV9 JUMPUC+1 SET, 1,0 MACHO, , EQUAL,**, ,TM1 **, , TM4, COMMON, TM7 I NCR, 1, I SAVE IR1, IR3, IR4 SET S3 SET SET S2 SI SET DL XR1 = N ACC = N COMPARE N TO NO OF DIRECTIONS IN LIST NOGO, CHEAT FOR QUICK ANSWER OK UNLESS REL=GT SKIP IF LE OR GT (N BECOMES N+l) SKIP IF REL=EQ,GE,GT SKIP IF REL=GE,GT FAKE LINK INTO IR25 FAKE JUMP TO TM1 ** = S2 ** = DL ■40- TM3 TM4 TM5 TM7 TM8 TM10 TMll * « « * BOCFUN GDI GD2 BCOLOP SETTRC SHIFT BCOLOP JUMP BUBBLE BOOLOP BCOLOP BOOLOP INDEX INDEX INDEX JUMP RNT TXI AXT TRA RFT TRA AXT TRA MACHO, 1, EQUAL,** **,TM5 MACHO, 1,**,** MACHO, Li AND,MACH0,1 , MACHO UCTM2 ,l,MACHl,,-l,l MACH1, 1, CLEAR MACHT, , CLEAR **, , AND, MAC HO, 3, MACHO, 4, BAR TRANS, 1,21 TRANS, 3, 23 TRANS, 4, 24 RETURN, ,25 53 TM12,7,2 REL IS NOT GT, ,2 FAKE CHANGE OF SETNUL+6 INTO A 'BOOLOP 1 SKIP IF REL=LT OR ** = S3 »*=D BY TM2 »*=X,Y BY TM4 MACHO, 1 HAS POINTS OF S2 HAVE D-NEIGHBORS IN S3 ** = S1 WHICH CONTINUE NORMALLY USER'S TMARK ORDER SI,, CLEAR' ORDER LE »-3 -1,2 SETTRU+6 REL=EQ,GT, OR GE, GET QUICK ANSWER FAKE CHANGE OF USER'S TMARK ORDER INTO 'BOOLOP SI,, EQUAL, S2' ORDER BCOFUN - COMPUTES, FOR POINTS OF S2, A BOOLEAN EIGHT NEIBORING POINTS, USING VALUES FROM S3. FUNCTION OF THE ANSWER TO SI. AXT TSX CLA LCI TSX SXA CLA STO STZ CLA STD CLA STA STD ZAC PAI AXT LCQ ZAC LGL CAS TRA TRA CAS TRA NCP PAC XEC TRA SIR 2,1 M0RDER,4 = 144 = 015 MODIFY, 4 IR-U22,7 IR-H-7 IR-1+25 IR-H-7 ORDERM GD88U ORDERM+1 EV7+1 EV7 6,6 2,7 6 = 053 * + 2 GD4 = 8 GD3 SAVE XR7 SAVE IR7 S HAS BEEN READ IGNORE CHARACTER ,1 * + 2,l GD3 I ■kl- GD3 GD4 GD5 GD6 GD7 GD88 GD8 GDC GD9 8FDL EVBFUN EV1 EV2 SIR SIR SIR SIR SIR SIR SIR SIR TIX TXI AXT LDQ AXT XEC TXI TXI TXL SXA STQ AXC TRA* SETSET SETTRC BCOLOP SHIFT J7094M CLA STA TRA BCOLOP JUMP BCOLOP BCOLOP J7094C PZE PZE PXA LGR TRA LXA AXT AXT LDQ ZAC LGL CAS TRA TRA CAS TRA TXI CAS TRA TRA CAS TRA NCP 1 -1 35,2 tltl 1 8 2 4 10 20 40 100 200 400 GD2,6, GDI, 7, »1 = 1 ,2 B10R0+ BFDL+2 ♦+1,2, GD5,2, BFDL,1 BFDL+1 ♦ + 2,7 * + i BFDL, , ♦«,GD8 MACHT, MACHT 3 GD7 + 1 IR-1+7 MASTER MACHO, 7, EQUAL, MACHT UCGD6 MACHT, MACH9, EVBFUN XRl WILL HAVE NO. OR DIRECTNS IN LIST CLEAR MO XR2 WILL RUN THRU ALL POSS. DIRECTNS IS D=V(XR2) INCLUDEDS YES NO GD7, COMMON, GD9 , EQUAL, ♦• *» = S3 SET IR7=D iCLEAR ,CLEAR,, , , ,BAR ,2 4 GD5 + 2 IR-1+22, 1 ,3 6,6 2,1 6 =053 ♦ + 2 EV6 =061 *+2 EV4,3,2 =02G # + 2 EV5 = 8 EV4 SET XR1=0RIGINAL XR7 $ HAS BEEN READ / HAS BEEN READ ♦ HAS BEEN READ IGNORE CHARACTER -42- STA IR-1+7 V(IR7)=D TSX SAVE, 4 AXC ♦♦2,7 TRA ANDTRU,3 BOOLOP MACH9,, ,MACH9, , MACHO, 7 J7094C EV3 EV3 TSX RESTORE AXT ,3 EV4 TIX EV2,6,1 ENTER HERE TO READ NEXT CHARACTER TXI EVltlt-1 EV5 TSX SAVE, 4 AXC * + 2,7 TRA ORTRUE.3 BCCLOP MACHT,, , MACHT, , MACH9 BOOLOP MACH9, , CLEAR, ,,, ,BAR J7094C EV3 EV6 SXA IR-1+23,1 AXC * + 2,7 TRA ORTRUE,3 BCOLOP MACHT,, , MACHT, ,MACH9 EV7 BCOLOP **,, AND, MACHT, ,** **=S1,S2 INDEX TRANS, 7, 25 J7094C EV8 EV8 LXA IR-1+23,7 TXI MASTER, 7, -3 SAVE SXA IR-1+24,6 SXA IR-1+23,1 STQ IR-1+21 TRA 1,4 RESTOR LXA IR-1+24,6 LXA IR-H-23,1 LCQ IR-1+21 TRA 1,4 « « « SYMBOL DEFINITIONS AND BLOCK RESERVATIONS « COMMON BSS 150 IR BSS 25 BLK RESERVE SPACE FOR 25 INDEX RGTRS IWta BSS 200 CRCERM BSS 21 CRCERS BSS 14600 PATLBL BSS 14 PLANES BSS 144*51 TPLANE BSS 144*11 MACHO EQU 0*144+TPLANE MACH1 ECU 1*144+TPLANE NACH2 EQU 2*144+TPLANE KACH3 ECU 3*144+TPLANE KACH4 EQU 4*144+TPLANE MACH5 ECU 5*144+TPLANE MACH6 EQU 6*144+TPLANE MACH7 EQU 7*144+TPLANE MACH8 EQU 8* 144+TPLANE MACH9 ECU 9*144+TPLANE MACHT EQU 1440+TPLANE 43- NO ECU PLANES Nl ECU 01*144+PLANES N2 EGU 02«144+PLANES K3 ECU 03»144+PLANES N4 ECU 04*144+PLANES M5 ECU 05*144+PLANES N6 ECU 06*144+PLANES *7 ECU 07*144+PLANES N8 EGU 08*144+PLANES M9 ECU 09*144+PLANES MIO ECU 10«144+PLAN£S Mil ECU U»144 + PLANES H12 ECU 12«144+PLANES M13 ECU 13»144^PLANES M14 ECU 14»144+PLANES H15 ECU 15*144+PLANES H16 ECU 16*144+PLANES M17 ECU 17*144+PLANES HIS ECU 18*144+PLANES N19 ECU 19»144+PLANES N20 ECU 20«144+PLANES N21 ECU 21*144+PLANES K22 ECU 22*144+PLANES N23 ECU 23«144+PLANES N24 ECU 24*144+PLANES N25 ECU 25*144+PLANES P26 ECU 26«144+PLANES M27 ECU 27*144+PLANES N28 ECU 28*144+PLANES N29 ECU 29*144*PLANES N30 ECU 30*144+PLANES N31 ECU 31«144+PLANES K32 ECU 32»144+PLANES N33 ECU 33«144+PLANES M34 ECU 3A*144+PLANES V35 ECU 35«144+PLANES N36 ECU 36^144+PLANES M37 ECU 37»144+PLANES M38 ECU 38»144+PLANES M39 ECU 39«144+PLANES N40 ECU 40*144+PLANES M41 ECU 41*144+PLANES N42 ECU 42*144+PLANES M4 3 ECU 43*144+PLANES N44 ECU 44*144+PLANES N45 ECU 45»144+PLANES M46 ECU 46*144+PLANES y47 ECU 47*144*PLANES M48 ECU 48M44 + PLANES M49 ECU 49*144+PLANES M5C ECU 50»144+PLANES SET ECU SETIR INCR ECU INCREM CECR ECU OECREM BAR ECU 2 CLEAR ECU SETNUL EQUAL ECU SETTRU ■kk- AND ECU ANDTRU CR ECU ORTRUE EXOR ECU XORTRU UC EGU JUMPUC NULL ECU JUMPNL NONULl . ECU JUMPNN ZERO ECU JUMPZE NOZERO ECU JUMPNZ LESS EGU JUMPLT EXACT ECU JUMPET MORE EGU JUMPGT LINK EGU JUMP RETURN 1 EQU JUMPRS DUMP ECU I LT 8ECU 02 LE 8EQU 42 EQ 8ECU 71 GE 8ECU 23 GT 8ECU 53 * * END MASTER-2 APPENDIX III The following scheme may be used to incorporate a trace routine into PAX for the purpose of code checking PAU programs. This addition to PAX causes the location of every PAU instruction to be printed just before it is executed. The x following SCAT "program" is placed at the end of the Order Deck (see Appendix 1.1, Report No. 1^7): TRACE PXA , 7 PAC ,7 TXL TRACF,7,0RDERS-1 TXH TRACF,7,MO-15 * THE ABOVE TWj6 0RDERS TRANSFER IF THE PAX INSTRUCTION * IS 0UTSIDE THE REGION RESERVED FOR USER'S PAX 0RDERS SXA TRACG, 7 TRACF TRACG CALL . PRINT STR TRACG+1 STR TRACG STR PXA ,7 PAC a TRA* ,7 PZE B0. ! *,1H Jl* 0RG PAX TRA TRACE The above program refers to these locations within the PAX program symbolically, i.e., 0RDERS-1, PAX, and MO-15 . The test which determines whether the value of XP.7 lies within the range 0RDERS < V(XR7) < MO-14 is necessary because execution of macro orders (see Section 5) causes PAX to execute internal coding which lies outside this region. -1*5- APPEND7X IV The orders SETTRA, SETTRC, SETTRB, and SETSET described in Section 7 may be used in PAX provided the user defines them by placing the following macro definitions in the Order Deck prior to the first occurrence of the orders therein: SETTRA MACR0 VFD END SETTRC MACR0 VFD END SETTRB MACR$ VFD SETSET MACR0 VFD VFD END D^NAME 36/D1ALL+2, 18/NAME, 18/D D.NAME 36/DLALL+^l, 18/NAME, 18/D K.NAME 36/DLALL+22, 18/K, 18/NAME DL, K, NAME1, NAME2 , NAME3 18/NAME1, I8/DLALL+U9, 18/NAME2, 3/K, 15/DL i8/name3,i8/JUMP-31, 36/0 46- APPENDIX V STRUCTURE OF THE BINARY PAX DECK $ SCATRE $ GO $ DUMP UNLIST ENDPGM BINARY (Binary Deck containing symbol definitions and program) (Macro definitions, as given in Appendix l) N0CRS PMC 0rg Orders list EJECT (Order Deck goes here) 620708END 47-