return to main page
Return to 1401 Software Development
Big Print 2013
from version by Ed Thelen December 9, 2007
adapted by Stan Paddock January 24, 2013
The attached code BigPrint 14.0 is golden.
descriptive file printed for each guest is removed
... can detect if it has been loaded by the pc loader.
If it was loaded by the pc loader, it will return back to the loader.
the language is AutocoderSeveral files are presented:
- the Source file - the Listing file - the Object file - the Test file - the Test Result file
The source file
JOB BIGPRINT CTL 6611 * BIGPRINT * PROGRAM BY ED THELEN * MODIFIED BY STAN PADDOCK * CRDBUF EQU 001 PUNBUF EQU 101 INBUF DS 1 * ORG 87 X1 DSA 0 * INDEX REGISTER 1 ORG 92 X2 DSA 0 * INDEX REGISTER 2 ORG 97 X3 DSA 0 * INDEX REGISTER 3 * ORG 201 * START PRINT OUTPUT AREA PRNTA DC 1 * * ------------------------------------------------------------- ORG 335 * START PROGRAM AREA * X DCW @X@ XCNT DCW @00000@ XCNT2 DCW @00000@ X4K DSA 4000 SPCNT DCW 00 REV DCW @THIS IS REVISION 14.0 GENERATED ON 01/23/2013@ * * FIXED USE OF HIGH MEMORY * ADDED THE CAPABILITY TO SEE IF THE 'LOADER' IS THERE * TO RETURN TO AT END * START CS 80 * CLEAR WORD MARKS FROM CARD READ CS 180 * CLEAR PUNCH AREA SW 001 * SET WORD MARK SW 101 * SET WORD MARK ZA NZERO,NZERO * SET SIGN BITS * * SPECIAL CODE TO SETUP THE ZONE SELECT CODES * MZ @A@,ZONE MCW ZONE,CKAB&7 MZ @J@,ZONE MCW ZONE,CKB&7 MZ @Z@,ZONE MCW ZONE,CKA&7 * * * ****************************************************************** * READ IN AND STORE THE DATE CARD ****************************************************************** * R * READ DATE CARD C @(EOF)@,005 * IS THIS THE EOF CARD BE NEND * YES, STOP MCW 025,DATE25 * PUT IT IN A SAFE PLACE * * SEE WHERE THE END OF THE TEXT IS AND ADD A # * MA @000@,X1 * INITIALIZE X1 DATECK BCE DATECA,DATE25-24&X1, B DATECC * NOT A SPACE DATECA BCE DATECX,DATE25-23&X1, DATECC MA @001@,X1 * GO TO TRY AGAIN B DATECK DATECX MCW @#@,DATE25-24&X1 * ****************************************************************** * READ IN AND PROCESS GUEST CARDS ****************************************************************** * PROGRAMS ARE PERFECT * INPUT BY USERS CAN CONTAIN MANY ERRORS * THE FOLLOWING CODE TRIES TO FIX MANY ERRORS SEEN IN THE 1401 RESTORATION ROOM * LEADING SPACES ARE ELIMINATED * MULTIPLE SPACES BETWEEN THE FIRST AND LAST NAME ARE ELIMINATED * IF ONLY ONE MANE IS GIVEN, THAT IS ALL THAT IS PRINTED * IF THE USER GIVES A NAME LIKE EL AL JARAED * IT WILL BE PRINTED WITH EL AS THE FIRST NAME AND * AL JARAED AS THE SECOND NAME * THE FIRST NAME WILL BE TRUNCSTED TO 11 CHARACTERS AND * THE SECOND NAME TRUNCATED TO 10 CHARACTERS * READG R * READ GUEST CARD C @(EOF)@,005 * IS THIS THE EOF CARD BE NEND * YES, STOP * SS 1 * SELECT READ STACKER 2 MCW @?@,075 * PUT SOMETHING IN THE CARD MCW @000@,X1 * INITIALIZE X1 MCW @000@,X2 * INITIALIZE X2 MCW @01@,SPCNT * TRICK TO SAY A SPACE HAS BEEN SEEN READH BCE FDSP,CRDBUF&X1, * IS IT A SPACE? MCW @00@,SPCNT * THIS IS NOT A SPACE B TAKIT * WE ARE GOING TO TAKE IT FDSP A @1@,SPCNT * COUNT THE NUMBER OF SPACES C SPCNT,@01@ BL NOTAKE * IF WE ALREADY HAD A SPACE, SKIP THIS ONE * TAKIT MN CRDBUF&X1,PUNBUF&X2 * MOVE THE NUMERIC PART MZ CRDBUF&X1,PUNBUF&X2 * MOVE THE ZONE PART MA @001@,X2 * INCREMENT DESTINATION NOTAKE MA @001@,X1 * INCREMENT SOURCE C X1,@079@ * ARE WE AT THE END? BU READH * GO GET SOME MORE MCW PUNBUF&80,CRDBUF&80 * MOVE THE DATA BACK CS PUNBUF&80 * CLEAR THE PUN BUFFER * * NOW WE ARE GOING LOOKING FOR THREE NAMES * MCW @000@,X1 * INITIALIZE X1 MCW @00@,SPCNT * INITIALIZE SPACE COUNT SPCK2 BCE SP2,CRDBUF&X1, * FIND A SPACE? B SPNXT * GO TO THE NEXT SP2 BCE SPX,CRDBUF&1&X1, * IS THE NEXT A SPACE ALSO? A @01@,SPCNT * ADD ONE TO SPACE COUNT BCE SPNXT,SPCNT,1 * IF THIS IS THE FIRST, LOOK FOR THE SECOND MCW @?@,CRDBUF&X1 * PUT A NON PRINTABLE IN PLACE OF SPACE B SPX * WE HAVE DONE OUR JOB * SPNXT MA @001@,X1 * INCREMENT X1 C @079@,X1 * ARE WE AT THE END? BE SPX * LETS GET OUT OF HERE B SPCK2 * TRY NEXT COLUM SPX NOP * SKIPPU B BIGPRT * CALL SUBROUTINE TO PROCESS GUEST CARD MCW @S@,DOUBLE * SET FOR SINGLE SIZE BIG PRINT MCW LINE3,WORK * "VISITED THE COMPUTER# " B PRINTS * SUBROUTINE CALL MCW LINE4,WORK * "HISTORY MUSEUM ON# " B PRINTS * SUBROUTINE CALL MCW DATE25,WORK * PRINT DATE LINE B PRINTS * SUBROUTINE CALL CC 1 * TOP OF FORM * ******************************************************************* * SKIPTX B READG * GO AND GET THE NEXT GUEST CARD * * ******************************************************************* * NEND CC 1 * TOP OF FORM NOP 999,999 * LOAD THE A AND B REGISTERS H * HALT OR I WILL SHOOT * * GET READY TO BOOT FROM THE FOLLOWING DECK * CS 332 * CLEAR PRINT STORAGE CS * CLEAR PRINT STORAGE CS * CLEAR PUNCH STORAGE CS * CLEAR READ STORAGE SW 001 * SET WORDMARK IN LOCATION 1 C @SHAY@,14004 * WERE WE LOADED WITH THE LOADER? BE 14000 * YES WE WERE. tURN CONTROL BACK TO THE LOADER NREAD R * READ FIRST CARD OF NEXT OBJECT DECK BCE 001,001,, * IS IT A COMMA? BRANCH TO THE FIRST INSTRUCTION B NREAD * CHECK THE NEXT ONE NOP * ****************************************************************** * BIG PRINT SUBROUTINE ****************************************************************** * BIGPRT SBR BIGPTX&3 * SET RETURN ADDRESS MCW @D@,DOUBLE * SET SIZE TO DOUBLE MCW BLANKS,WORK * BLANK WORK AREA, FOR 1ST NAME MCW @000@,PICKUP * INITIALIZE PICKUP MCW PICKUP,X1 * START SCAN MCW @000@,X2 * START PUTAWAY * BIGPTA MCW 1&X1,PCHAR * MOVE CHAR OF 1ST NAME TO PCHAR MA @001@,X1 * INCREMENT X1 (GET) BCE BIGPTB,PCHAR, * IS THE CHARACTER A BLANK? MCW PCHAR,WORK-24&X2 * MOVE PCHAR TO WORK SPACE A @001@,X2 * INCREMENT X2 (PUT) C @012@,X2 * TOO MANY? BE BIGPTB * YES, FIX IT B BIGPTA * GO GET ANOTHER BIGPTB MCW @#@,WORK-24&X2 * MOVE # TO END OF TEXT IN WORK SPACE B PRINTS * SUBROUTINE CALL TO PRINT WHAT IS IN WORK * ************************************************************* * LOOKING FOR FIRST SPACE IN THE NAME CARD ************************************************************* * MCW @000@,X1 * INITIALIZE X1 AT START OF CARD FS1 BCE FC1,1&X1, * IT IS A SPACE MA @001@,X1 * INCREMENT X1 C @070@,X1 * COMPARE SIZE OF X1 BE BIGSN * GIVE UP B FS1 * TRY NEXT * FC1 MA @001@,X1 * INCREMENT X1 C @070@,X1 * COMPARE SIZE OF X1 BE BIGSN * GIVE UP BCE FC1,1&X1, * IT IS A SPACE MCW X1,PICKUP * STORE X1 IN PICKUP * * ************ PROCESS SECOND NAME ************************** * BIGSN MCW BLANKS,WORK * BLANK WORK AREA, FOR 2ND NAME MCW @ @,BIGLST * SHOW NO CHARS IN LAST NAME MCW PICKUP,X1 * START SCAN MCW @001@,X2 * START PUTAWAY (OVER ONE COLUMN) BIGPTC MCW 1&X1,PCHAR * MOVE 1ST CHAR OF LAST NAME TO PCHAR MA @001@,X1 * INCREMENT X1 (GET) BCE BIGPTD,PCHAR, * IS IT A SPACE? MCW PCHAR,WORK-24&X2 * MOVE PCHAR TO WORK SPACE A @001@,X2 * INCREMENT X2 (PUT) C @011@,X2 * TOO MANY? BE BIGPTD * YES, PRINT B BIGPTC * NO, GO GET ANOTHER * BIGPTD MCW @#@,WORK-24&X2 * MOVE # TO END OF TEXT IN WORK SPACE MCW X1,PICKUP * STORE X1 IN PICKUP (WHY) B PRINTS * SUBROUTINE CALL TO PRINT LAST NAME * BIGPTX B 000 * SUBROUTINE RETURN NOP * BACKUP TO BRANCH INSTRUCTION * ******************************************************************** * PRINTS SUBROUTINE ******************************************************************** * PRINTS SBR PRINTX&3 * SET RETURN ADDRESS MCW @000@,WROW * INITIALIZE PRINT ROW COUNTER PRINT1 MCW @000@,WCOL * INITIALIZE WORK CHARACTER PICK UP MCW @000@,PCOL * INITIALIZE OUTPUT INDEX CS 332 * CLEAR PRINTER AREA CS SW 201 * PRINT2 MCW WCOL,X1 * PREPARE TO PICK UP NEXT CHAR TO PROCESS MCW WORK-24&X1,PCHAR * AND GET IT MCW WORK-23&X1,PCHAR2 * STORE OFF THE NEXT CHARACTER A @001@,WCOL * INCREMENT COLUMN COUNT MCW @000@,SUM * INITIALIZE SUM C @000@,WROW * ARE WE ON THE FIRST ROW? BU PC4 * GO GET IT FROM TABLE * ***************************************************************** * THE DATA FOR EACH CHARACTER IS STORED IN A TABLE TITLED CODEA * AN INDEX TO THIS TABLE IS TITLED CINDX * THE FOLLOWING CODE WILL FIND THE CHARCTER IN CINDX AND SET SUM * TO THAT POSITION * THE ROUTING CHECKS THE ZONE BITS FIRST AND SETS A BASE OF 0,16,32 OR 48 * THEN IT USES THE NUMERICAL PORTION TO ADD IN TO THE INDEX * THIS DOES NOT WORK WITH SPECIAL CHARACTERS * SO THEY ALONG WITH THE ZERO HAVE TO BE PROCESSED SPECIAL * THIS ONLY WORKS IF THE NUMBERIAL PORTION IS 0-9 * A TEST FOR SPECIAL CASES IS DONE ON THE NUMERICAL PORTION * FOR OTHER SPECIAL CHARACTERS ****************************************************************** * MN PCHAR,NUM * MOVE THE NUMERIC PORTION MZ PCHAR,ZONE * MOVE THE ZONE C @0@,NUM * CHECK THE NUMERIC PORTION BH CKA * GOOD STUFF * * CHECK FOR SPECIAL CHARACTERS * BCE AZERO,PCHAR,0 * IT IS A ZERO BCE ACOLON,PCHAR,: * IT IS A COLON BCE ADASH,PCHAR,- * IT IS A DASH BCE ACOMMA,PCHAR,, * IT IS A COMMA MCW @000@,SUM * MAKE IT A SPACE B PC3 * CKA BCE ZA,ZONE,A CKB BCE ZB,ZONE,B CKAB BCE ZAB,ZONE,C B NUMA ZA A @32@,SUM B NUMA ZB A @16@,SUM B NUMA ZAB A @48@,SUM * ADD THE NUMERIC PORTION TO THE SUM NUMA A NUM,SUM * END MZ @0@,SUM B PC3 * ************************************************************ AZERO ZA @10@,SUM B PC3 ACOLON ZA @13@,SUM B PC3 ADASH ZA @16@,SUM B PC3 ACOMMA ZA @43@,SUM B PC3 ************************************************************ PC3 MCW X1,X1HOLD * STORE OFF THE CURRENT VALUE OF X1 MCW @002@,X1 * INITIALIZE X1 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 ZA @0@,BL * START MPY BY 14 ZA @14@,BH * LOAD MULTIPLIER (14) TO HIGH B M SUM,BL * MULTIPLY BY SUM ZA BL,SUM * BACK INTO POSITION MZ @0@,SUM * CLEAR THE ZONE BITS MCW SUM,PATERN * STORE THE NUMBER FOR THIS COLUMN MCW X1HOLD,X1 * RESTORE X1 B PC5 * GET ON WITH IT ************************************************************ PC4 MCW X1,X1HOLD * STORE OFF THE CURRENT VALUE OF X1 MCW @002@,X1 * INITIALIZE X1 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 MCW PATERN,SUM * RETRIVE THE NUMBER FOR THIS COLUMN MCW X1HOLD,X1 * RESTORE X1 B PC5 * GET ON WITH IT * * AT THIS POINT WE HAVE THE TABLE ENTRY FOR THE PATTERN TO PRINT * PC5 MZ @0@,SUM * CLEAR THE ZONE BITS * A WROW,SUM * MAKE INDEX+(2*WROW) A WROW,SUM * MAKE INDEX+(2*WROW) A @002@,SUM * ADD ELEMENT SIZE * * PREPARE TO OUTPUT MCW PCOL,X3 * OUTPUT COLUMN MCW SUM,X1 * PICKUP PROPER MASK MCW CODEA&X1,MASK2 * * MCW @000@,X2 * SET UP BIT SELECT INDEX LOOP1 C BITSEL&X2,MASK2 * DO COMPARE BL L2 MCW PCHAR,WCHAR * YES, PRINT SPECIAL S BITSEL&X2,MASK2 * FIX MASK MN MASK2,NOZONE MCW NOZONE,MASK2 B L3 L2 MCW @ @,WCHAR L3 A @002@,X2 * GO TO NEXT BIT MCW WCHAR,PRNTA&X3 * PRINT PROPER CHARACTER A @001@,X3 BCE L4,DOUBLE,S * ARE WE GOING SINGLE? MCW WCHAR,PRNTA&X3 * PRINT PROPER CHARACTER A @001@,X3 L4 C @009@,X2 BL LOOP1 A @001@,X3 BCE L5,DOUBLE,S * ARE WE DOING SINGLE? A @001@,X3 L5 MCW X3,PCOL * SAVE COLUMN POINTER BCE L55,PCHAR2,# * IF #, LAST CHARACTER IN ROW C @132@,X3 * BL PRINT2 L55 BCE L555,DOUBLE,S * ARE WE DOING SINGLE? * W * WRITE THE PRINT AREA TO THE PRINTER NO SPACE * DC @S@ L555 W * WRITE THE PRINT AREA TO THE PRINTER BCE L6,DOUBLE,S * ARE WE DOING SINGLE? W * WRITE THE PRINT AREA TO THE PRINTER NO SPACE DC @S@ W * WRITE THE PRINT AREA TO THE PRINTER L6 A @001@,WROW * INCREMENT ROW COUNTER C @007@,WROW BL PRINT1 * DO ANOTHER ROW CS 332 * CLEAR PRINTER AREA CS SW 201 W * WRITE THE PRINT AREA TO THE PRINTER - PRINTX B 0 * RETURN TO CALL NOP * BACK UP BRANCH * * THE FOLLOWING ROUTINE IS DESIGNED TO TERMINATE THE PROCESSING * OF THE PRINT LINE IF THE # WAS FOUND IN THE PRINT STRING * PRTX W * WRITE THE PRINT AREA TO THE PRINTER - BCE L7,DOUBLE,S * ARE WE DOING SINGLE? W * WRITE THE PRINT AREA TO THE PRINTER L7 CS 332 * CLEAR PRINTER AREA CS SW 201 W * WRITE THE PRINT AREA TO THE PRINTER - B PRINTX * *********************************************************************** * LTORG ZONE DCW @1@ NUM DCW 0 SUM DCW 000 BITSUM DCW 000 CHRCNT DCW 000 * CHARACTER COUNTER X1HOLD DCW 000 * PLACE TO HOLD X1 BIGLST DCW 1 LMINUS DCW @- @ * END OF FILE CARD BH DCW @00@ BL DC @0000@ * WHERE THE ANSWER APPEARS * NZERO DCW 000 * A NUMERICAL ZERO NONE DCW 001 * A NUMERICAL ONE TXLIM DCW 000 * TEXT INDEX LIMIT TXLCNT DCW 000 * TEMP LINE COUNT DOUBLE DCW @S@ * S PRINTS SINGLE SIZE * * WORK AREAS FOR PRINTS WCOL DCW 000 * PICKUP INDEX FROM INPUT AREA WROW DCW 000 PCHAR DCW 0 PCHAR2 DCW 0 WCHAR DCW 0 MASK2 DCW @00@ * 2 CHARACTER MASK WORK3 DCW 000 PCOL DCW 000 DCW @@000@@ ONE2 DCW 01 NOZONE DCW 0 DOLSW DCW 0 BITSEL DCW 16 DCW 08 DCW 04 DCW 02 DCW 01 DCW 00 * DATE25 DCW @0000000000000000000000000@ * SAVE DATE 25 LONG * WORK DCW @0000000000000000000000000@ * WORK AREA FOR STRING 25 LONG * BLANKS DCW @ @ * SET WORK TO BLANKS LINE3 DCW @VISITED THE COMPUTER# @ LINE4 DCW @HISTORY MUSEUM ON# @ * * MASK IS 14 CHR * * THINK 5X7 MATRIX * FOR REFERENCE/CLARIFICATION HERE IS A "1" * DC @04120404040414@ * 04 000100 * 12 001100 (4 + 8) * 04 000100 * 04 000100 * 04 000100 * 04 000100 * 14 001110 (2 + 4 + 8) * * FOR REFERENCE/CLARIFICATION HERE IS A "2" * DC @14170102020431@ * 14 01110 * 17 10001 * 01 00001 * 02 00010 * 02 00010 * 04 00100 * 31 11111 CODEA DS 0 DC @00000000000000@ * BLANK DC @04120404040414@ * 1 DC @14170101020431@ * 2 DC @31020402010114@ * 3 DC @02061018310202@ * 4 DC @31163001011714@ * 5 DC @06081630171714@ * 6 DC @31010204080808@ * 7 DC @14171714171714@ * 8 DC @14171715010212@ * 9 DC @14171921251714@ * 0 DC @00000000000000@ * # DC @00000000000000@ * (at sign) DC @30303000303030@ * : DC @00000000000000@ * > DC @00000000000000@ * (tape mark) * 0 to 15 above DC @00000031000000@ * - DC @07020202021812@ * J DC @17182224221817@ * K DC @16161616161631@ * L DC @17272121171717@ * M DC @17172521191717@ * N DC @14171717171714@ * O DC @30171730161616@ * P DC @14171717212213@ * Q DC @30171730201817@ * R DC @00000000000000@ * ! DC @00000000000000@ * $ DC @00000000000000@ * * DC @00000000000000@ * ) DC @00000000000000@ * ; DC @00000000000000@ * (delta) * 16 to 31 above DC @00000000000000@ * (cent) DC @00010204081600@ * / DC @15161614010130@ * S DC @31040404040404@ * T DC @17171717171714@ * U DC @17171717171004@ * V DC @17171721212110@ * W DC @17171004101717@ * X DC @17171710040404@ * Y DC @31010204081631@ * Z DC @00000000000000@ * (rec mrk) DC @00000000120408@ * , DC @00000000000000@ * % DC @00000000000000@ * = DC @00000000000000@ * ' DC @00000000000000@ * " * 32 to 47 above DC @00000000000000@ * & DC @14171717311717@ * A DC @30171730171730@ * B DC @14171616161714@ * C DC @24181717171824@ * D DC @31161630161631@ * E DC @31161630161616@ * F DC @14171623171715@ * G DC @17171731171717@ * H DC @14040404040414@ * I DC @00000000000000@ * ? DC @00000000000000@ * . DC @00000000000000@ * (lozgen) DC @00000000000000@ * ( DC @00000000000000@ * < DC @00000000000000@ * (grp mark) * 48 to 63 above DCW @123456789012345678901234567890@ PICKUP DCW 000 DCW @START@ PATERN DA 25x3,X1 * STOREAGE FOR CHARACTER INDEX NUMBERS DCW @END@ * * END START * LAST CARD IN DECK, TRANSFER ADDRESS
and the listing file
CLEAR STORAGE 1 ,008015,022026,030037,044,049,053053N000000N00001026 1 CLEAR STORAGE 2 L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0? 2 BOOTSTRAP ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 0 BIGPRINT PAGE 1 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB BIGPRINT 102 CTL 6611 103 * BIGPRINT 104 * PROGRAM BY ED THELEN 105 * MODIFIED BY STAN PADDOCK 106 * 107 CRDBUF EQU 001 0001 108 PUNBUF EQU 101 0101 109 INBUF DS 1 0333 110 * 111 ORG 87 0087 112 X1 DSA 0 * INDEX REGISTER 1 3 0089 000 4 113 ORG 92 0092 114 X2 DSA 0 * INDEX REGISTER 2 3 0094 000 5 115 ORG 97 0097 116 X3 DSA 0 * INDEX REGISTER 3 3 0099 000 6 117 * 118 ORG 201 * START PRINT OUTPUT AREA 0201 119 PRNTA DC 1 1 0201 7 120 * 121 * ------------------------------------------------------------- 122 ORG 335 * START PROGRAM AREA 0335 123 * 124 X DCW @X@ 1 0335 8 125 XCNT DCW @00000@ 5 0340 8 126 XCNT2 DCW @00000@ 5 0345 8 127 X4K DSA 4000 3 0348 00' 8 128 SPCNT DCW 00 2 0350 8 129 REV DCW @THIS IS REVISION 14.0 GENERATED ON 01/23/2013@ 45 0395 10 130 * 131 * FIXED USE OF HIGH MEMORY 132 * ADDED THE CAPABILITY TO SEE IF THE 'LOADER' IS THERE 133 * TO RETURN TO AT END 134 * 135 START CS 80 * CLEAR WORD MARKS FROM CARD READ 4 0396 / 080 10 136 CS 180 * CLEAR PUNCH AREA 4 0400 / 180 10 137 SW 001 * SET WORD MARK 4 0404 , 001 10 138 SW 101 * SET WORD MARK 4 0408 , 101 10 139 ZA NZERO,NZERO * SET SIGN BITS 7 0412 ? Z14 Z14 11 140 * 141 * SPECIAL CODE TO SETUP THE ZONE SELECT CODES 142 * 143 MZ @A@,ZONE 7 0419 Y Y15 Y87 11 144 MCW ZONE,CKAB&7 7 0426 M Y87 S89 11 145 MZ @J@,ZONE 7 0433 Y Y16 Y87 11 146 MCW ZONE,CKB&7 7 0440 M Y87 S81 11 147 MZ @Z@,ZONE 7 0447 Y Y17 Y87 12 1 BIGPRINT PAGE 2 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 MCW ZONE,CKA&7 7 0454 M Y87 S73 12 149 * 150 * 151 * 152 ****************************************************************** 153 * READ IN AND STORE THE DATE CARD 154 ****************************************************************** 155 * 156 R * READ DATE CARD 1 0461 1 12 157 C @(EOF)@,005 * IS THIS THE EOF CARD 7 0462 C Y22 005 12 158 BE NEND * YES, STOP 5 0469 B 792 S 12 159 MCW 025,DATE25 * PUT IT IN A SAFE PLACE 7 0474 M 025 Z87 12 160 * 161 * SEE WHERE THE END OF THE TEXT IS AND ADD A # 162 * 163 MA @000@,X1 * INITIALIZE X1 7 0481 # Y25 089 13 164 DATECK BCE DATECA,DATE25-24&X1, 8 0488 B 500 ZW3 13 165 B DATECC * NOT A SPACE 4 0496 B 508 13 166 DATECA BCE DATECX,DATE25-23&X1, 8 0500 B 519 ZW4 13 167 DATECC MA @001@,X1 * GO TO TRY AGAIN 7 0508 # Y28 089 13 168 B DATECK 4 0515 B 488 13 169 DATECX MCW @#@,DATE25-24&X1 7 0519 M Y29 ZW3 14 170 * 171 ****************************************************************** 172 * READ IN AND PROCESS GUEST CARDS 173 ****************************************************************** 174 * PROGRAMS ARE PERFECT 175 * INPUT BY USERS CAN CONTAIN MANY ERRORS 176 * THE FOLLOWING CODE TRIES TO FIX MANY ERRORS SEEN IN THE 1401 RESTORATIO 177 * LEADING SPACES ARE ELIMINATED 178 * MULTIPLE SPACES BETWEEN THE FIRST AND LAST NAME ARE ELIMINATED 179 * IF ONLY ONE MANE IS GIVEN, THAT IS ALL THAT IS PRINTED 180 * IF THE USER GIVES A NAME LIKE EL AL JARAED 181 * IT WILL BE PRINTED WITH EL AS THE FIRST NAME AND 182 * AL JARAED AS THE SECOND NAME 183 * THE FIRST NAME WILL BE TRUNCSTED TO 11 CHARACTERS AND 184 * THE SECOND NAME TRUNCATED TO 10 CHARACTERS 185 * 186 READG R * READ GUEST CARD 1 0526 1 14 187 C @(EOF)@,005 * IS THIS THE EOF CARD 7 0527 C Y34 005 14 188 BE NEND * YES, STOP 5 0534 B 792 S 14 189 * 190 SS 1 * SELECT READ STACKER 2 2 0539 K 1 14 191 MCW @?@,075 * PUT SOMETHING IN THE CARD 7 0541 M Y35 075 14 192 MCW @000@,X1 * INITIALIZE X1 7 0548 M Y25 089 14 193 MCW @000@,X2 * INITIALIZE X2 7 0555 M Y25 094 15 194 MCW @01@,SPCNT * TRICK TO SAY A SPACE HAS BEE 7 0562 M Y37 350 15 195 READH BCE FDSP,CRDBUF&X1, * IS IT A SPACE? 8 0569 B 588 0'1 15 196 MCW @00@,SPCNT * THIS IS NOT A SPACE 7 0577 M Y39 350 15 197 B TAKIT * WE ARE GOING TO TAKE IT 4 0584 B 607 15 1 BIGPRINT PAGE 3 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 FDSP A @1@,SPCNT * COUNT THE NUMBER OF SPACES 7 0588 A Y40 350 16 199 C SPCNT,@01@ 7 0595 C 350 Y37 16 200 BL NOTAKE * IF WE ALREADY HAD A SPACE, S 5 0602 B 628 T 16 201 * 202 TAKIT MN CRDBUF&X1,PUNBUF&X2 * MOVE THE NUMERIC PART 7 0607 D 0'1 1!1 16 203 MZ CRDBUF&X1,PUNBUF&X2 * MOVE THE ZONE PART 7 0614 Y 0'1 1!1 16 204 MA @001@,X2 * INCREMENT DESTINATION 7 0621 # Y28 094 17 205 NOTAKE MA @001@,X1 * INCREMENT SOURCE 7 0628 # Y28 089 17 206 C X1,@079@ * ARE WE AT THE END? 7 0635 C 089 Y43 17 207 BU READH * GO GET SOME MORE 5 0642 B 569 / 17 208 MCW PUNBUF&80,CRDBUF&80 * MOVE THE DATA BACK 7 0647 M 181 081 17 209 CS PUNBUF&80 * CLEAR THE PUN BUFFER 4 0654 / 181 17 210 * 211 * NOW WE ARE GOING LOOKING FOR THREE NAMES 212 * 213 MCW @000@,X1 * INITIALIZE X1 7 0658 M Y25 089 18 214 MCW @00@,SPCNT * INITIALIZE SPACE COUNT 7 0665 M Y39 350 18 215 SPCK2 BCE SP2,CRDBUF&X1, * FIND A SPACE? 8 0672 B 684 0'1 18 216 B SPNXT * GO TO THE NEXT 4 0680 B 718 18 217 SP2 BCE SPX,CRDBUF&1&X1, * IS THE NEXT A SPACE ALSO? 8 0684 B 741 0'2 18 218 A @01@,SPCNT * ADD ONE TO SPACE COUNT 7 0692 A Y37 350 19 219 BCE SPNXT,SPCNT,1 * IF THIS IS THE FIRST, LOOK F 8 0699 B 718 350 1 19 220 MCW @?@,CRDBUF&X1 * PUT A NON PRINTABLE IN PLACE 7 0707 M Y35 0'1 19 221 B SPX * WE HAVE DONE OUR JOB 4 0714 B 741 19 222 * 223 SPNXT MA @001@,X1 * INCREMENT X1 7 0718 # Y28 089 19 224 C @079@,X1 * ARE WE AT THE END? 7 0725 C Y43 089 20 225 BE SPX * LETS GET OUT OF HERE 5 0732 B 741 S 20 226 B SPCK2 * TRY NEXT COLUM 4 0737 B 672 20 227 SPX NOP 1 0741 N 20 228 * 229 SKIPPU B BIGPRT * CALL SUBROUTINE TO PROCESS GUEST C 4 0742 B 839 20 230 MCW @S@,DOUBLE * SET FOR SINGLE SIZE BIG PRINT 7 0746 M Y44 Z24 20 231 MCW LINE3,WORK * "VISITED THE COMPUTER# " 7 0753 M !62 !12 20 232 B PRINTS * SUBROUTINE CALL 4 0760 B /16 21 233 MCW LINE4,WORK * "HISTORY MUSEUM ON# " 7 0764 M !87 !12 21 234 B PRINTS * SUBROUTINE CALL 4 0771 B /16 21 235 MCW DATE25,WORK * PRINT DATE LINE 7 0775 M Z87 !12 21 236 B PRINTS * SUBROUTINE CALL 4 0782 B /16 21 237 CC 1 * TOP OF FORM 2 0786 F 1 21 238 * 239 ******************************************************************* 240 * 241 SKIPTX B READG * GO AND GET THE NEXT GUEST CARD 4 0788 B 526 21 242 * 243 * 244 ******************************************************************* 245 * 246 NEND CC 1 * TOP OF FORM 2 0792 F 1 22 247 NOP 999,999 * LOAD THE A AND B REGISTERS 7 0794 N 999 999 22 1 BIGPRINT PAGE 4 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 248 H * HALT OR I WILL SHOOT 1 0801 . 22 249 * 250 * GET READY TO BOOT FROM THE FOLLOWING DECK 251 * 252 CS 332 * CLEAR PRINT STORAGE 4 0802 / 332 22 253 CS * CLEAR PRINT STORAGE 1 0806 / 22 254 CS * CLEAR PUNCH STORAGE 1 0807 / 22 255 CS * CLEAR READ STORAGE 1 0808 / 22 256 SW 001 * SET WORDMARK IN LOCATION 1 4 0809 , 001 23 257 C @SHAY@,14004 * WERE WE LOADED WITH THE LOADER? 7 0813 C Y48 !0D 23 258 BE 14000 * YES WE WERE. TURN CONTROL BACK TO 5 0820 B !0? S 23 259 NREAD R * READ FIRST CARD OF NEXT OBJECT DEC 1 0825 1 23 260 BCE 001,001,, * IS IT A COMMA? BRANCH TO THE FIRST 8 0826 B 001 001 , 23 261 B NREAD * CHECK THE NEXT ONE 4 0834 B 825 23 262 NOP 1 0838 N 23 263 * 264 ****************************************************************** 265 * BIG PRINT SUBROUTINE 266 ****************************************************************** 267 * 268 BIGPRT SBR BIGPTX&3 * SET RETURN ADDRESS 4 0839 H /14 24 269 MCW @D@,DOUBLE * SET SIZE TO DOUBLE 7 0843 M Y49 Z24 24 270 MCW BLANKS,WORK * BLANK WORK AREA, FOR 1ST NAME 7 0850 M !37 !12 24 271 MCW @000@,PICKUP * INITIALIZE PICKUP 7 0857 M Y25 ?16 24 272 MCW PICKUP,X1 * START SCAN 7 0864 M ?16 089 24 273 MCW @000@,X2 * START PUTAWAY 7 0871 M Y25 094 24 274 * 275 BIGPTA MCW 1&X1,PCHAR * MOVE CHAR OF 1ST NAME TO PCHAR 7 0878 M 0'1 Z31 25 276 MA @001@,X1 * INCREMENT X1 (GET) 7 0885 # Y28 089 25 277 BCE BIGPTB,PCHAR, * IS THE CHARACTER A BLANK? 8 0892 B 930 Z31 25 278 MCW PCHAR,WORK-24&X2 * MOVE PCHAR TO WORK SPACE 7 0900 M Z31 ZQ8 25 279 A @001@,X2 * INCREMENT X2 (PUT) 7 0907 A Y28 094 25 280 C @012@,X2 * TOO MANY? 7 0914 C Y52 094 26 281 BE BIGPTB * YES, FIX IT 5 0921 B 930 S 26 282 B BIGPTA * GO GET ANOTHER 4 0926 B 878 26 283 BIGPTB MCW @#@,WORK-24&X2 * MOVE # TO END OF TEXT IN WORK SPAC 7 0930 M Y29 ZQ8 26 284 B PRINTS * SUBROUTINE CALL TO PRINT WHAT IS I 4 0937 B /16 26 285 * 286 ************************************************************* 287 * LOOKING FOR FIRST SPACE IN THE NAME CARD 288 ************************************************************* 289 * 290 MCW @000@,X1 * INITIALIZE X1 AT START OF CARD 7 0941 M Y25 089 26 291 FS1 BCE FC1,1&X1, * IT IS A SPACE 8 0948 B 979 0'1 27 292 MA @001@,X1 * INCREMENT X1 7 0956 # Y28 089 27 293 C @070@,X1 * COMPARE SIZE OF X1 7 0963 C Y55 089 27 294 BE BIGSN * GIVE UP 5 0970 B '13 S 27 295 B FS1 * TRY NEXT 4 0975 B 948 27 296 * 297 FC1 MA @001@,X1 * INCREMENT X1 7 0979 # Y28 089 27 1 BIGPRINT PAGE 5 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 298 C @070@,X1 * COMPARE SIZE OF X1 7 0986 C Y55 089 28 299 BE BIGSN * GIVE UP 5 0993 B '13 S 28 300 BCE FC1,1&X1, * IT IS A SPACE 8 0998 B 979 0'1 28 301 MCW X1,PICKUP * STORE X1 IN PICKUP 7 1006 M 089 ?16 28 302 * 303 * 304 ************ PROCESS SECOND NAME ************************** 305 * 306 BIGSN MCW BLANKS,WORK * BLANK WORK AREA, FOR 2ND NAME 7 1013 M !37 !12 28 307 MCW @ @,BIGLST * SHOW NO CHARS IN LAST NAME 7 1020 M Y56 Z01 29 308 MCW PICKUP,X1 * START SCAN 7 1027 M ?16 089 29 309 MCW @001@,X2 * START PUTAWAY (OVER ONE COLUMN) 7 1034 M Y28 094 29 310 BIGPTC MCW 1&X1,PCHAR * MOVE 1ST CHAR OF LAST NAME TO PCHA 7 1041 M 0'1 Z31 29 311 MA @001@,X1 * INCREMENT X1 (GET) 7 1048 # Y28 089 29 312 BCE BIGPTD,PCHAR, * IS IT A SPACE? 8 1055 B '93 Z31 30 313 MCW PCHAR,WORK-24&X2 * MOVE PCHAR TO WORK SPACE 7 1063 M Z31 ZQ8 30 314 A @001@,X2 * INCREMENT X2 (PUT) 7 1070 A Y28 094 30 315 C @011@,X2 * TOO MANY? 7 1077 C Y59 094 30 316 BE BIGPTD * YES, PRINT 5 1084 B '93 S 30 317 B BIGPTC * NO, GO GET ANOTHER 4 1089 B '41 30 318 * 319 BIGPTD MCW @#@,WORK-24&X2 * MOVE # TO END OF TEXT IN WORK SPAC 7 1093 M Y29 ZQ8 31 320 MCW X1,PICKUP * STORE X1 IN PICKUP (WHY) 7 1100 M 089 ?16 31 321 B PRINTS * SUBROUTINE CALL TO PRINT LAST NAME 4 1107 B /16 31 322 * 323 BIGPTX B 000 * SUBROUTINE RETURN 4 1111 B 000 31 324 NOP * BACKUP TO BRANCH INSTRUCTION 1 1115 N 31 325 * 326 ******************************************************************** 327 * PRINTS SUBROUTINE 328 ******************************************************************** 329 * 330 PRINTS SBR PRINTX&3 * SET RETURN ADDRESS 4 1116 H X89 31 331 MCW @000@,WROW * INITIALIZE PRINT ROW COUNTER 7 1120 M Y25 Z30 31 332 PRINT1 MCW @000@,WCOL * INITIALIZE WORK CHARACTER PICK UP 7 1127 M Y25 Z27 32 333 MCW @000@,PCOL * INITIALIZE OUTPUT INDEX 7 1134 M Y25 Z41 32 334 CS 332 * CLEAR PRINTER AREA 4 1141 / 332 32 335 CS 1 1145 / 32 336 SW 201 4 1146 , 201 32 337 * 338 PRINT2 MCW WCOL,X1 * PREPARE TO PICK UP NEXT CHAR TO 7 1150 M Z27 089 32 339 MCW WORK-24&X1,PCHAR * AND GET IT 7 1157 M ZY8 Z31 32 340 MCW WORK-23&X1,PCHAR2 * STORE OFF THE NEXT CHARACTER 7 1164 M ZY9 Z32 33 341 A @001@,WCOL * INCREMENT COLUMN COUNT 7 1171 A Y28 Z27 33 342 MCW @000@,SUM * INITIALIZE SUM 7 1178 M Y25 Y91 33 343 C @000@,WROW * ARE WE ON THE FIRST ROW? 7 1185 C Y25 Z30 33 344 BU PC4 * GO GET IT FROM TABLE 5 1192 B U73 / 33 345 * 346 ***************************************************************** 347 * THE DATA FOR EACH CHARACTER IS STORED IN A TABLE TITLED CODEA 1 BIGPRINT PAGE 6 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 348 * AN INDEX TO THIS TABLE IS TITLED CINDX 349 * THE FOLLOWING CODE WILL FIND THE CHARCTER IN CINDX AND SET SUM 350 * TO THAT POSITION 351 * THE ROUTING CHECKS THE ZONE BITS FIRST AND SETS A BASE OF 0,16,32 OR 48 352 * THEN IT USES THE NUMERICAL PORTION TO ADD IN TO THE INDEX 353 * THIS DOES NOT WORK WITH SPECIAL CHARACTERS 354 * SO THEY ALONG WITH THE ZERO HAVE TO BE PROCESSED SPECIAL 355 * THIS ONLY WORKS IF THE NUMBERIAL PORTION IS 0-9 356 * A TEST FOR SPECIAL CASES IS DONE ON THE NUMERICAL PORTION 357 * FOR OTHER SPECIAL CHARACTERS 358 ****************************************************************** 359 * 360 MN PCHAR,NUM * MOVE THE NUMERIC PORTION 7 1197 D Z31 Y88 34 361 MZ PCHAR,ZONE * MOVE THE ZONE 7 1204 Y Z31 Y87 34 362 C @0@,NUM * CHECK THE NUMERIC PORTION 7 1211 C Y60 Y88 34 363 BH CKA * GOOD STUFF 5 1218 B S66 U 34 364 * 365 * CHECK FOR SPECIAL CHARACTERS 366 * 367 BCE AZERO,PCHAR,0 * IT IS A ZERO 8 1223 B T41 Z31 0 34 368 BCE ACOLON,PCHAR,: * IT IS A COLON 8 1231 B T52 Z31 : 35 369 BCE ADASH,PCHAR,- * IT IS A DASH 8 1239 B T63 Z31 - 35 370 BCE ACOMMA,PCHAR,, * IT IS A COMMA 8 1247 B T74 Z31 , 35 371 MCW @000@,SUM * MAKE IT A SPACE 7 1255 M Y25 Y91 35 372 B PC3 4 1262 B T85 35 373 * 374 CKA BCE ZA,ZONE,A 8 1266 B S94 Y87 A 36 375 CKB BCE ZB,ZONE,B 8 1274 B T05 Y87 B 36 376 CKAB BCE ZAB,ZONE,C 8 1282 B T16 Y87 C 36 377 B NUMA 4 1290 B T23 36 378 ZA A @32@,SUM 7 1294 A Y62 Y91 36 379 B NUMA 4 1301 B T23 36 380 ZB A @16@,SUM 7 1305 A Y64 Y91 37 381 B NUMA 4 1312 B T23 37 382 ZAB A @48@,SUM 7 1316 A Y66 Y91 37 383 * ADD THE NUMERIC PORTION TO THE SUM 384 NUMA A NUM,SUM 7 1323 A Y88 Y91 37 385 * 386 END MZ @0@,SUM 7 1330 Y Y60 Y91 37 387 B PC3 4 1337 B T85 37 388 * 389 ************************************************************ 390 AZERO ZA @10@,SUM 7 1341 ? Y68 Y91 38 391 B PC3 4 1348 B T85 38 392 ACOLON ZA @13@,SUM 7 1352 ? Y70 Y91 38 393 B PC3 4 1359 B T85 38 394 ADASH ZA @16@,SUM 7 1363 ? Y64 Y91 38 395 B PC3 4 1370 B T85 38 396 ACOMMA ZA @43@,SUM 7 1374 ? Y72 Y91 39 397 B PC3 4 1381 B T85 39 1 BIGPRINT PAGE 7 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 398 ************************************************************ 399 PC3 MCW X1,X1HOLD * STORE OFF THE CURRENT VALUE OF X1 7 1385 M 089 Z00 39 400 MCW @002@,X1 * INITIALIZE X1 7 1392 M Y75 089 39 401 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 7 1399 # Z27 089 39 402 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 7 1406 # Z27 089 39 403 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 7 1413 # Z27 089 40 404 ZA @0@,BL * START MPY BY 14 7 1420 ? Y60 Z11 40 405 ZA @14@,BH * LOAD MULTIPLIER (14) TO HIGH B 7 1427 ? Y77 Z07 40 406 M SUM,BL * MULTIPLY BY SUM 7 1434 @ Y91 Z11 40 407 ZA BL,SUM * BACK INTO POSITION 7 1441 ? Z11 Y91 40 408 MZ @0@,SUM * CLEAR THE ZONE BITS 7 1448 Y Y60 Y91 41 409 MCW SUM,PATERN * STORE THE NUMBER FOR THIS COLUMN 7 1455 M Y91 ?S2 41 410 MCW X1HOLD,X1 * RESTORE X1 7 1462 M Z00 089 41 411 B PC5 * GET ON WITH IT 4 1469 B V26 41 412 ************************************************************ 413 PC4 MCW X1,X1HOLD * STORE OFF THE CURRENT VALUE OF X1 7 1473 M 089 Z00 41 414 MCW @002@,X1 * INITIALIZE X1 7 1480 M Y75 089 41 415 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 7 1487 # Z27 089 42 416 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 7 1494 # Z27 089 42 417 MA WCOL,X1 * PUT IN THE COLUMN INTO X1 7 1501 # Z27 089 42 418 MCW PATERN,SUM * RETRIVE THE NUMBER FOR THIS COLUMN 7 1508 M ?S2 Y91 42 419 MCW X1HOLD,X1 * RESTORE X1 7 1515 M Z00 089 42 420 B PC5 * GET ON WITH IT 4 1522 B V26 42 421 * 422 * AT THIS POINT WE HAVE THE TABLE ENTRY FOR THE PATTERN TO PRINT 423 * 424 PC5 MZ @0@,SUM * CLEAR THE ZONE BITS 7 1526 Y Y60 Y91 43 425 * 426 A WROW,SUM * MAKE INDEX+(2*WROW) 7 1533 A Z30 Y91 43 427 A WROW,SUM * MAKE INDEX+(2*WROW) 7 1540 A Z30 Y91 43 428 A @002@,SUM * ADD ELEMENT SIZE 7 1547 A Y75 Y91 43 429 * * PREPARE TO OUTPUT 430 MCW PCOL,X3 * OUTPUT COLUMN 7 1554 M Z41 099 43 431 MCW SUM,X1 * PICKUP PROPER MASK 7 1561 M Y91 089 44 432 MCW CODEA&X1,MASK2 * 7 1568 M !Y7 Z35 44 433 * 434 MCW @000@,X2 * SET UP BIT SELECT INDEX 7 1575 M Y25 094 44 435 LOOP1 C BITSEL&X2,MASK2 * DO COMPARE 7 1582 C ZN2 Z35 44 436 BL L2 5 1589 B W26 T 44 437 MCW PCHAR,WCHAR * YES, PRINT SPECIAL 7 1594 M Z31 Z33 45 438 S BITSEL&X2,MASK2 * FIX MASK 7 1601 S ZN2 Z35 45 439 MN MASK2,NOZONE 7 1608 D Z35 Z49 45 440 MCW NOZONE,MASK2 7 1615 M Z49 Z35 45 441 B L3 4 1622 B W33 45 442 L2 MCW @ @,WCHAR 7 1626 M Y56 Z33 45 443 L3 A @002@,X2 * GO TO NEXT BIT 7 1633 A Y75 094 46 444 MCW WCHAR,PRNTA&X3 * PRINT PROPER CHARACTER 7 1640 M Z33 2?1 46 445 A @001@,X3 7 1647 A Y28 099 46 446 BCE L4,DOUBLE,S * ARE WE GOING SINGLE? 8 1654 B W76 Z24 S 46 447 MCW WCHAR,PRNTA&X3 * PRINT PROPER CHARACTER 7 1662 M Z33 2?1 46 1 BIGPRINT PAGE 8 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 448 A @001@,X3 7 1669 A Y28 099 47 449 L4 C @009@,X2 7 1676 C Y80 094 47 450 BL LOOP1 5 1683 B V82 T 47 451 A @001@,X3 7 1688 A Y28 099 47 452 BCE L5,DOUBLE,S * ARE WE DOING SINGLE? 8 1695 B X10 Z24 S 47 453 A @001@,X3 7 1703 A Y28 099 48 454 L5 MCW X3,PCOL * SAVE COLUMN POINTER 7 1710 M 099 Z41 48 455 BCE L55,PCHAR2,# * IF #, LAST CHARACTER IN ROW 8 1717 B X37 Z32 # 48 456 C @132@,X3 * 7 1725 C Y83 099 48 457 BL PRINT2 5 1732 B /50 T 48 458 L55 BCE L555,DOUBLE,S * ARE WE DOING SINGLE? 8 1737 B X45 Z24 S 49 459 * W * WRITE THE PRINT AREA TO THE PRINTER NO SP 460 * DC @S@ 461 L555 W * WRITE THE PRINT AREA TO THE PRINTE 1 1745 2 49 462 BCE L6,DOUBLE,S * ARE WE DOING SINGLE? 8 1746 B X57 Z24 S 49 463 W * WRITE THE PRINT AREA TO THE PRINTE 1 1754 2 49 464 DC @S@ 1 1755 49 465 W * WRITE THE PRINT AREA TO THE PRINTE 1 1756 2 49 466 L6 A @001@,WROW * INCREMENT ROW COUNTER 7 1757 A Y28 Z30 49 467 C @007@,WROW 7 1764 C Y86 Z30 49 468 BL PRINT1 * DO ANOTHER ROW 5 1771 B /27 T 50 469 CS 332 * CLEAR PRINTER AREA 4 1776 / 332 50 470 CS 1 1780 / 50 471 SW 201 4 1781 , 201 50 472 W * WRITE THE PRINT AREA TO THE PRINTE 1 1785 2 50 473 PRINTX B 0 * RETURN TO CALL 4 1786 B 000 50 474 NOP * BACK UP BRANCH 1 1790 N 50 475 * 476 * THE FOLLOWING ROUTINE IS DESIGNED TO TERMINATE THE PROCESSING 477 * OF THE PRINT LINE IF THE # WAS FOUND IN THE PRINT STRING 478 * 479 PRTX W * WRITE THE PRINT AREA TO THE PRINTE 1 1791 2 51 480 BCE L7,DOUBLE,S * ARE WE DOING SINGLE? 8 1792 B Y01 Z24 S 51 481 W * WRITE THE PRINT AREA TO THE PRINTE 1 1800 2 51 482 L7 CS 332 * CLEAR PRINTER AREA 4 1801 / 332 51 483 CS 1 1805 / 51 484 SW 201 4 1806 , 201 51 485 W * WRITE THE PRINT AREA TO THE PRINTE 1 1810 2 51 486 B PRINTX 4 1811 B X86 52 487 * 488 *********************************************************************** 489 * 490 LTORG 1815 DCW @A@ 1 1815 LIT 52 DCW @J@ 1 1816 LIT 52 DCW @Z@ 1 1817 LIT 52 DCW @(EOF)@ 5 1822 LIT 52 DCW @000@ 3 1825 LIT 52 DCW @001@ 3 1828 LIT 52 DCW @#@ 1 1829 LIT 53 1 BIGPRINT PAGE 9 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD DCW @(EOF)@ 5 1834 LIT 53 DCW @?@ 1 1835 LIT 53 DCW @01@ 2 1837 LIT 53 DCW @00@ 2 1839 LIT 53 DCW @1@ 1 1840 LIT 53 DCW @079@ 3 1843 LIT 53 DCW @S@ 1 1844 LIT 54 DCW @SHAY@ 4 1848 LIT 54 DCW @D@ 1 1849 LIT 54 DCW @012@ 3 1852 LIT 54 DCW @070@ 3 1855 LIT 54 DCW @ @ 1 1856 LIT 54 DCW @011@ 3 1859 LIT 54 DCW @0@ 1 1860 LIT 55 DCW @32@ 2 1862 LIT 55 DCW @16@ 2 1864 LIT 55 DCW @48@ 2 1866 LIT 55 DCW @10@ 2 1868 LIT 55 DCW @13@ 2 1870 LIT 55 DCW @43@ 2 1872 LIT 55 DCW @002@ 3 1875 LIT 56 DCW @14@ 2 1877 LIT 56 DCW @009@ 3 1880 LIT 56 DCW @132@ 3 1883 LIT 56 DCW @007@ 3 1886 LIT 56 491 ZONE DCW @1@ 1 1887 56 492 NUM DCW 0 1 1888 56 493 SUM DCW 000 3 1891 57 494 BITSUM DCW 000 3 1894 57 495 CHRCNT DCW 000 * CHARACTER COUNTER 3 1897 57 496 X1HOLD DCW 000 * PLACE TO HOLD X1 3 1900 57 497 BIGLST DCW 1 1 1901 57 498 LMINUS DCW @- @ * END OF FILE CARD 4 1905 57 499 BH DCW @00@ 2 1907 57 500 BL DC @0000@ * WHERE THE ANSWER APPEARS 4 1911 57 501 * 502 NZERO DCW 000 * A NUMERICAL ZERO 3 1914 58 503 NONE DCW 001 * A NUMERICAL ONE 3 1917 58 504 TXLIM DCW 000 * TEXT INDEX LIMIT 3 1920 58 505 TXLCNT DCW 000 * TEMP LINE COUNT 3 1923 58 506 DOUBLE DCW @S@ * S PRINTS SINGLE SIZE 1 1924 58 507 * * WORK AREAS FOR PRINTS 508 WCOL DCW 000 * PICKUP INDEX FROM INPUT AREA 3 1927 58 509 WROW DCW 000 3 1930 58 510 PCHAR DCW 0 1 1931 59 511 PCHAR2 DCW 0 1 1932 59 512 WCHAR DCW 0 1 1933 59 513 MASK2 DCW @00@ * 2 CHARACTER MASK 2 1935 59 514 WORK3 DCW 000 3 1938 59 515 PCOL DCW 000 3 1941 59 1 BIGPRINT PAGE 10 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 516 DCW @@000@@ 5 1946 59 517 ONE2 DCW 01 2 1948 60 518 NOZONE DCW 0 1 1949 60 519 DOLSW DCW 0 1 1950 60 520 BITSEL DCW 16 2 1952 60 521 DCW 08 2 1954 60 522 DCW 04 2 1956 60 523 DCW 02 2 1958 60 524 DCW 01 2 1960 61 525 DCW 00 2 1962 61 526 * 527 DATE25 DCW @0000000000000000000000000@ * SAVE DATE 25 LONG 25 1987 61 528 * 529 WORK DCW @0000000000000000000000000@ * WORK AREA FOR STRIN 25 2012 62 530 * 531 BLANKS DCW @ @ * SET WORK TO BLANKS 25 2037 63 532 LINE3 DCW @VISITED THE COMPUTER# @ 25 2062 64 533 LINE4 DCW @HISTORY MUSEUM ON# @ 25 2087 65 534 * 535 * MASK IS 14 CHR 536 * 537 * THINK 5X7 MATRIX 538 * FOR REFERENCE/CLARIFICATION HERE IS A "1" 539 * DC @04120404040414@ 540 * 04 000100 541 * 12 001100 (4 + 8) 542 * 04 000100 543 * 04 000100 544 * 04 000100 545 * 04 000100 546 * 14 001110 (2 + 4 + 8) 547 * 548 * FOR REFERENCE/CLARIFICATION HERE IS A "2" 549 * DC @14170102020431@ 550 * 14 01110 551 * 17 10001 552 * 01 00001 553 * 02 00010 554 * 02 00010 555 * 04 00100 556 * 31 11111 557 CODEA DS 0 2087 558 DC @00000000000000@ * BLANK 14 2101 65 559 DC @04120404040414@ * 1 14 2115 66 560 DC @14170101020431@ * 2 14 2129 66 561 DC @31020402010114@ * 3 14 2143 67 562 DC @02061018310202@ * 4 14 2157 67 563 DC @31163001011714@ * 5 14 2171 68 564 DC @06081630171714@ * 6 14 2185 68 565 DC @31010204080808@ * 7 14 2199 69 1 BIGPRINT PAGE 11 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 566 DC @14171714171714@ * 8 14 2213 69 567 DC @14171715010212@ * 9 14 2227 70 568 DC @14171921251714@ * 0 14 2241 70 569 DC @00000000000000@ * # 14 2255 71 570 DC @00000000000000@ * (AT SIGN) 14 2269 71 571 DC @30303000303030@ * : 14 2283 72 572 DC @00000000000000@ * > 14 2297 72 573 DC @00000000000000@ * (TAPE MARK) 14 2311 73 574 * 0 TO 15 ABOVE 575 DC @00000031000000@ * - 14 2325 73 576 DC @07020202021812@ * J 14 2339 74 577 DC @17182224221817@ * K 14 2353 74 578 DC @16161616161631@ * L 14 2367 75 579 DC @17272121171717@ * M 14 2381 75 580 DC @17172521191717@ * N 14 2395 76 581 DC @14171717171714@ * O 14 2409 76 582 DC @30171730161616@ * P 14 2423 77 583 DC @14171717212213@ * Q 14 2437 77 584 DC @30171730201817@ * R 14 2451 78 585 DC @00000000000000@ * ! 14 2465 78 586 DC @00000000000000@ * $ 14 2479 79 587 DC @00000000000000@ * * 14 2493 79 588 DC @00000000000000@ * ) 14 2507 80 589 DC @00000000000000@ * ; 14 2521 80 590 DC @00000000000000@ * (DELTA) 14 2535 81 591 * 16 TO 31 ABOVE 592 DC @00000000000000@ * (CENT) 14 2549 81 593 DC @00010204081600@ * / 14 2563 82 594 DC @15161614010130@ * S 14 2577 82 595 DC @31040404040404@ * T 14 2591 83 596 DC @17171717171714@ * U 14 2605 83 597 DC @17171717171004@ * V 14 2619 84 598 DC @17171721212110@ * W 14 2633 84 599 DC @17171004101717@ * X 14 2647 85 600 DC @17171710040404@ * Y 14 2661 85 601 DC @31010204081631@ * Z 14 2675 86 602 DC @00000000000000@ * (REC MRK) 14 2689 86 603 DC @00000000120408@ * , 14 2703 87 604 DC @00000000000000@ * % 14 2717 87 605 DC @00000000000000@ * = 14 2731 88 606 DC @00000000000000@ * ' 14 2745 88 607 DC @00000000000000@ * " 14 2759 89 608 * 32 TO 47 ABOVE 609 DC @00000000000000@ * & 14 2773 89 610 DC @14171717311717@ * A 14 2787 90 611 DC @30171730171730@ * B 14 2801 90 612 DC @14171616161714@ * C 14 2815 91 613 DC @24181717171824@ * D 14 2829 91 614 DC @31161630161631@ * E 14 2843 92 615 DC @31161630161616@ * F 14 2857 92 1 BIGPRINT PAGE 12 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 616 DC @14171623171715@ * G 14 2871 93 617 DC @17171731171717@ * H 14 2885 93 618 DC @14040404040414@ * I 14 2899 94 619 DC @00000000000000@ * ? 14 2913 94 620 DC @00000000000000@ * . 14 2927 95 621 DC @00000000000000@ * (LOZGEN) 14 2941 95 622 DC @00000000000000@ * ( 14 2955 96 623 DC @00000000000000@ * < 14 2969 96 624 DC @00000000000000@ * (GRP MARK) 14 2983 97 625 * 48 TO 63 ABOVE 626 DCW @123456789012345678901234567890@ 30 3013 98 627 PICKUP DCW 000 3 3016 98 628 DCW @START@ 5 3021 98 629 PATERN DA 25X3,X1 * STOREAGE FOR CHARACTER INDEX NUMBERS 3022 3096 630 DCW @END@ 3 3099 102 631 * 632 * 633 END START * LAST CARD IN DECK, TRANSFER ADDRESS / 396 080 1 BIGPRINT PAGE 13 0SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS ACOLON 1352 ACOMMA 1374 ADASH 1363 AZERO 1341 BH 1907 BIGLST 1901 BIGPRT 839 BIGPTA 878 BIGPTB 930 BIGPTC 1041 BIGPTD 1093 BIGPTX 1111 BIGSN 1013 BITSEL 1952 BITSUM 1894 BL 1911 BLANKS 2037 CHRCNT 1897 CKA 1266 CKAB 1282 CKB 1274 CODEA 2087 CRDBUF 1 DATE25 1987 DATECA 500 DATECC 508 DATECK 488 DATECX 519 DOLSW 1950 DOUBLE 1924 END 1330 FC1 979 FDSP 588 FS1 948 INBUF 333 L2 1626 L3 1633 L4 1676 L5 1710 L55 1737 L555 1745 L6 1757 L7 1801 LINE3 2062 LINE4 2087 LMINUS 1905 LOOP1 1582 MASK2 1935 NEND 792 NONE 1917 NOTAKE 628 NOZONE 1949 NREAD 825 NUM 1888 NUMA 1323 NZERO 1914 ONE2 1948 PATERN 3022+X1 PC3 1385 PC4 1473 PC5 1526 PCHAR 1931 PCHAR2 1932 PCOL 1941 PICKUP 3016 PRINT1 1127 PRINT2 1150 PRINTS 1116 PRINTX 1786 PRNTA 201 PRTX 1791 PUNBUF 101 READG 526 READH 569 REV 395 SKIPPU 742 SKIPTX 788 SP2 684 SPCK2 672 SPCNT 350 SPNXT 718 SPX 741 START 396 SUM 1891 TAKIT 607 TXLCNT 1923 TXLIM 1920 WCHAR 1933 WCOL 1927 WORK 2012 WORK3 1938 WROW 1930 X 335 X1 89 X1HOLD 1900 X2 94 X3 99 X4K 348 XCNT 340 XCNT2 345 ZA 1294 ZAB 1316 ZB 1305 ZONE 1887
and the Object file
,008015,022026,030037,044,049,053053N000000N00001026 0001 L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0?0002 ,008015,022029,036040,047054,061068,072/061039 ,00100110400003 000 L003089,040040,040040,04004010400004 000 L003094,040040,040040,04004010400005 000 L003099,040040,040040,04004010400006 1 L001201)201201,040040,04004010400007 X000000000000'00 L016350,336341,346349,04004010400008 THIS IS REVISION 14.0 GENERATED ON 01/2L039389,040040,040040,04004010400009 3/2013/080/180,001,101 L022411)390390,396400,40440810400010 ?Z14Z14YY15Y87MY87S89YY16Y87MY87S81 L035446,419426,433440,04004010400011 YY17Y87MY87S731CY22005B792SM025Z87 L034480,454461,462469,47404010400012 #Y25089B500ZW3 B508B519ZW4 #Y28089B488 L038518,488496,500508,51504010400013 MY29ZW31CY34005B792SK1MY35075MY25089 L036554,526527,534539,54154810400014 MY25094MY37350B5880'1 MY39350B607 L033587,562569,577584,04004010400015 AY40350C350Y37B628TD0'11!1Y0'11!1 L033620,595602,607614,04004010400016 #Y28094#Y28089C089Y43B569/M181081/181 L037657,628635,642647,65404010400017 MY25089MY39350B6840'1 B718B7410'2 L034691,665672,680684,04004010400018 AY37350B7183501MY350'1B741#Y28089 L033724,699707,714718,04004010400019 CY43089B741SB672NB839MY44Z24M!62!12 L035759,732737,741742,74675310400020 B/16M!87!12B/16MZ87!12B/16F1B526 L032791,764771,775782,78678810400021 F1N999999./332/// L017808,794801,802806,80780810400022 ,001CY48!0DB!0?S1B001001,B825N L030838,813820,825826,83483810400023 H/14MY49Z24M!37!12MY25?16M?16089MY25094L039877,843850,857864,87104010400024 M0'1Z31#Y28089B930Z31 MZ31ZQ8AY28094 L036913,885892,900907,04004010400025 CY52094B930SB878MY29ZQ8B/16MY25089 L034947,921926,930937,94104010400026 B9790'1 #Y28089CY55089B'13SB948#Y28089 L038985,956963,970975,97904010400027 CY55089B'13SB9790'1 M089?16M!37!12 L034'19,993998,'06'13,04004010400028 MY56Z01M?16089MY28094M0'1Z31#Y28089 L035'54,'27'34,'41'48,04004010400029 B'93Z31 MZ31ZQ8AY28094CY59094B'93SB'41 L038'92,'63'70,'77'84,'8904010400030 MY29ZQ8M089?16B/16B000NHX89MY25Z30 L034/26,/00/07,/11/15,/16/2010400031 MY25Z27MY25Z41/332/,201MZ27089MZY8Z31 L037/63,/34/41,/45/46,/50/5710400032 MZY9Z32AY28Z27MY25Y91CY25Z30BU73/ L033/96,/71/78,/85/92,04004010400033 DZ31Y88YZ31Y87CY60Y88BS66UBT41Z310 L034S30,S04S11,S18S23,04004010400034 BT52Z31:BT63Z31-BT74Z31,MY25Y91BT85 L035S65,S39S47,S55S62,04004010400035 BS94Y87ABT05Y87BBT16Y87CBT23AY62Y91BT23L039T04,S74S82,S90S94,T0104010400036 AY64Y91BT23AY66Y91AY88Y91YY60Y91BT85 L036T40,T12T16,T23T30,T3704010400037 ?Y68Y91BT85?Y70Y91BT85?Y64Y91BT85 L033T73,T48T52,T59T63,T7004010400038 ?Y72Y91BT85M089Z00MY75089#Z27089#Z27089L039U12,T81T85,T92T99,U0604010400039 #Z27089?Y60Z11?Y77Z07@Y91Z11?Z11Y91 L035U47,U20U27,U34U41,04004010400040 YY60Y91MY91?S2MZ00089BV26M089Z00MY75089L039U86,U55U62,U69U73,U8004010400041 #Z27089#Z27089#Z27089M?S2Y91MZ00089BV26L039V25,U94V01,V08V15,V2204010400042 YY60Y91AZ30Y91AZ30Y91AY75Y91MZ41099 L035V60,V33V40,V47V54,04004010400043 MY91089M!Y7Z35MY25094CZN2Z35BW26T L033V93,V68V75,V82V89,04004010400044 MZ31Z33SZN2Z35DZ35Z49MZ49Z35BW33MY56Z33L039W32,W01W08,W15W22,W2604010400045 AY75094MZ332?1AY28099BW76Z24SMZ332?1 L036W68,W40W47,W54W62,04004010400046 AY28099CY80094BV82TAY28099BX10Z24S L034X02,W76W83,W88W95,04004010400047 AY28099M099Z41BX37Z32#CY83099B/50T L034X36,X10X17,X25X32,04004010400048 BX45Z24S2BX57Z24S2S2AY28Z30CY86Z30 L034X70,X45X46,X54X56,X57X6410400049 B/27T/332/,2012B000N L020X90,X76X80,X81X85,X86X9010400050 2BY01Z24S2/332/,2012 L020Y10,X92Y00,Y01Y05,Y06Y1010400051 BX86AJZ(EOF)000001 L018Y28,Y15Y16,Y17Y18,Y23Y2610400052 #(EOF)?01001079 L015Y43,Y30Y35,Y36Y38,Y40Y4110400053 SSHAYD012070 011 L016Y59,Y45Y49,Y50Y53,Y56Y5710400054 0321648101343 L013Y72,Y61Y63,Y65Y67,Y69Y7110400055 0021400913200710 L016Y88,Y76Y78,Y81Y84,Y87Y8810400056 0000000000001- 000000 L023Z11,Y92Y95,Y98Z01,Z02Z0610400057 000001000000S000000 L019Z30,Z15Z18,Z21Z24,Z25Z2810400058 00000000000@000@ L016Z46,Z32Z33,Z34Z36,Z39Z4210400059 010016080402 L012Z58,Z49Z50,Z51Z53,Z55Z5710400060 01000000000000000000000000000 L029Z87,Z61Z63,040040,04004010400061 0000000000000000000000000 L025!12,040040,040040,04004010400062 L025!37,040040,040040,04004010400063 VISITED THE COMPUTER# L025!62,040040,040040,04004010400064 HISTORY MUSEUM ON# 00000000000000L039J01,040040,040040,04004010400065 0412040404041414170101020431 L028J29)J02J02,040040,04004010400066 3102040201011402061018310202 L028J57)J30J30,040040,04004010400067 3116300101171406081630171714 L028J85)J58J58,040040,04004010400068 3101020408080814171714171714 L028K13)J86J86,040040,04004010400069 1417171501021214171921251714 L028K41)K14K14,040040,04004010400070 0000000000000000000000000000 L028K69)K42K42,040040,04004010400071 3030300030303000000000000000 L028K97)K70K70,040040,04004010400072 0000000000000000000031000000 L028L25)K98K98,040040,04004010400073 0702020202181217182224221817 L028L53)L26L26,040040,04004010400074 1616161616163117272121171717 L028L81)L54L54,040040,04004010400075 1717252119171714171717171714 L028M09)L82L82,040040,04004010400076 3017173016161614171717212213 L028M37)M10M10,040040,04004010400077 3017173020181700000000000000 L028M65)M38M38,040040,04004010400078 0000000000000000000000000000 L028M93)M66M66,040040,04004010400079 0000000000000000000000000000 L028N21)M94M94,040040,04004010400080 0000000000000000000000000000 L028N49)N22N22,040040,04004010400081 0001020408160015161614010130 L028N77)N50N50,040040,04004010400082 3104040404040417171717171714 L028O05)N78N78,040040,04004010400083 1717171717100417171721212110 L028O33)O06O06,040040,04004010400084 1717100410171717171710040404 L028O61)O34O34,040040,04004010400085 3101020408163100000000000000 L028O89)O62O62,040040,04004010400086 0000000012040800000000000000 L028P17)O90O90,040040,04004010400087 0000000000000000000000000000 L028P45)P18P18,040040,04004010400088 0000000000000000000000000000 L028P73)P46P46,040040,04004010400089 1417171731171730171730171730 L028Q01)P74P74,040040,04004010400090 1417161616171424181717171824 L028Q29)Q02Q02,040040,04004010400091 3116163016163131161630161616 L028Q57)Q30Q30,040040,04004010400092 1417162317171517171731171717 L028Q85)Q58Q58,040040,04004010400093 1404040404041400000000000000 L028R13)Q86Q86,040040,04004010400094 0000000000000000000000000000 L028R41)R14R14,040040,04004010400095 0000000000000000000000000000 L028R69)R42R42,040040,04004010400096 00000000000000 L014R83)R70R70,040040,04004010400097 123456789012345678901234567890000START L038?21,?14?17,?22?25,?28?3110400098 L001001,?34?37,?40?43,?46?4910400099 L001001,?52?55,?58?61,?64?6710400100 L001001,?70?73,?76?79,?82?8510400101 END L003?99,?88?91,?94040,04004010400102 /396080 0103
and the Test file
September 11, 2011 1122334455 6677889900 (EOF)
and the Test Result file
11 11 222222 222222 3333333333 3333333333 44 44 5555555555 5555555555 11 11 222222 222222 3333333333 3333333333 44 44 5555555555 5555555555 11 11 222222 222222 3333333333 3333333333 44 44 5555555555 5555555555 1111 1111 22 22 22 22 33 33 4444 4444 55 55 1111 1111 22 22 22 22 33 33 4444 4444 55 55 1111 1111 22 22 22 22 33 33 4444 4444 55 55 11 11 22 22 33 33 44 44 44 44 55555555 55555555 11 11 22 22 33 33 44 44 44 44 55555555 55555555 11 11 22 22 33 33 44 44 44 44 55555555 55555555 11 11 22 22 33 33 44 44 44 44 55 55 11 11 22 22 33 33 44 44 44 44 55 55 11 11 22 22 33 33 44 44 44 44 55 55 11 11 22 22 33 33 4444444444 4444444444 55 55 11 11 22 22 33 33 4444444444 4444444444 55 55 11 11 22 22 33 33 4444444444 4444444444 55 55 11 11 22 22 33 33 44 44 55 55 55 55 11 11 22 22 33 33 44 44 55 55 55 55 11 11 22 22 33 33 44 44 55 55 55 55 111111 111111 2222222222 2222222222 333333 333333 44 44 555555 555555 111111 111111 2222222222 2222222222 333333 333333 44 44 555555 555555 111111 111111 2222222222 2222222222 333333 333333 44 44 555555 555555 6666 6666 7777777777 7777777777 888888 888888 999999 999999 000000 000000 6666 6666 7777777777 7777777777 888888 888888 999999 999999 000000 000000 6666 6666 7777777777 7777777777 888888 888888 999999 999999 000000 000000 66 66 77 77 88 88 88 88 99 99 99 99 00 00 00 00 66 66 77 77 88 88 88 88 99 99 99 99 00 00 00 00 66 66 77 77 88 88 88 88 99 99 99 99 00 00 00 00 66 66 77 77 88 88 88 88 99 99 99 99 00 0000 00 0000 66 66 77 77 88 88 88 88 99 99 99 99 00 0000 00 0000 66 66 77 77 88 88 88 88 99 99 99 99 00 0000 00 0000 66666666 66666666 77 77 888888 888888 99999999 99999999 00 00 00 00 00 00 66666666 66666666 77 77 888888 888888 99999999 99999999 00 00 00 00 00 00 66666666 66666666 77 77 888888 888888 99999999 99999999 00 00 00 00 00 00 66 66 66 66 77 77 88 88 88 88 99 99 0000 00 0000 00 66 66 66 66 77 77 88 88 88 88 99 99 0000 00 0000 00 66 66 66 66 77 77 88 88 88 88 99 99 0000 00 0000 00 66 66 66 66 77 77 88 88 88 88 99 99 00 00 00 00 66 66 66 66 77 77 88 88 88 88 99 99 00 00 00 00 66 66 66 66 77 77 88 88 88 88 99 99 00 00 00 00 666666 666666 77 77 888888 888888 9999 9999 000000 000000 666666 666666 77 77 888888 888888 9999 9999 000000 000000 666666 666666 77 77 888888 888888 9999 9999 000000 000000 V V III SSSS III TTTTT EEEEE DD TTTTT H H EEEEE CCC OOO M M PPPP U U TTTTT EEEEE RRRR V V I S I T E D D T H H E C C O O MM MM P P U U T E R R V V I S I T E D D T H H E C O O M M M P P U U T E R R V V I SSS I T EEEE D D T HHHHH EEEE C O O M M M PPPP U U T EEEE RRRR V V I S I T E D D T H H E C O O M M P U U T E R R V V I S I T E D D T H H E C C O O M M P U U T E R R V III SSSS III T EEEEE DD T H H EEEEE CCC OOO M M P UUU T EEEEE R R H H III SSSS TTTTT OOO RRRR Y Y M M U U SSSS EEEEE U U M M OOO N N H H I S T O O R R Y Y MM MM U U S E U U MM MM O O N N H H I S T O O R R Y Y M M M U U S E U U M M M O O NN N HHHHH I SSS T O O RRRR Y Y M M M U U SSS EEEE U U M M M O O N N N H H I S T O O R R Y M M U U S E U U M M O O N NN H H I S T O O R R Y M M U U S E U U M M O O N N H H III SSSS T OOO R R Y M M UUU SSSS EEEEE UUU M M OOO N N SSSS EEEEE PPPP TTTTT EEEEE M M BBBB EEEEE RRRR 1 1 222 000 1 1 S E P P T E MM MM B B E R R 11 11 2 2 0 0 11 11 S E P P T E M M M B B E R R 1 1 2 0 00 1 1 SSS EEEE PPPP T EEEE M M M BBBB EEEE RRRR 1 1 2 0 0 0 1 1 S E P T E M M B B E R R 1 1 ,, 2 00 0 1 1 S E P T E M M B B E R R 1 1 , 2 0 0 1 1 SSSS EEEEE P T EEEEE M M BBBB EEEEE R R 111 111 , 22222 000 111 111