Return to Home

Demo Programs

Table of Contents


VOBJ (Verify Object Programs) - by Jack Ghiselli - July 16, 2022
Discussed here -
Operating Instructions
Source deck
List deck
Object deck

Message from Stan - Dec 2015

Trojan protection cards
Beside function changes in some of the programs the boot loader for all programs has changed.
The new boot loader allows one or more 'Trojan' cards to be placed in the front of each deck.
All of these 'Trojan' cards are the same.
They are read into the machine and then cause the next card to be read and processed.
The first card of most deck takes a beating and has to be copied and replaced.
With the 'Trojan' card, you can just toss it and replace it with another 'Trojan' card.

README file for Big Print
Friday, August 28, 2015
Author           Ed Thelen
Modifications    Stan Paddock

BigPrint is a demonstration program run on the IBM 1401
The input is a series of cards:

The first card is a date card.
Whatever is in the first 25 columns of this card is considered the date.
January 23, 1987 is as good as 1/23/87

The second card and all following cards are name cards.
The first name can be up to 11 characters.
If the first name is longer than 11 characters, it will be truncated to 11 characters.

The second name can be up to 10 characters.
The second name starts after the space between the first name and the start of the second name.
The next 10 characters will be displayed as the second name.
There can be three names like Juan el Capitan
The program will print Juan on the first line and El Capitan on the second line.
Except that there must be a space between names, the rest of the spacing does not matter.
All extra spaces will be ignored.

There is no limit to the number of name cards that can be used.

The last card is the End Of File card.
If the three characters EOF are found in Columns 1-5 the program will terminate with a halt.

If you want to run it again with a new set of cards, set sense switch G on, clear the card reader,
 place the second date, name and EOF cards in the reader and press start.

If you don't want to run it again, leave sense switch  G off and when you press start,
it will look for and read in the next program.

A new feature has been added to BigPrint rev 16.2.
It is called BANNER.
If the first 6 characters of the date card are BANNER, BigPrint shifts into BANNER mode.

Each following card will print a line on the printer.
CC 1:If it is a D, the Double print will be used and the characters from column 3-13
	will be printed. (11 characters)
    :If it is a S, the Single print will be used and the characters from column 3-24
	will be printed.(22 characters)

CC 2:If CC 2 is a D, the line will be double printed as in Dark.
    :If CC 2 is a L, the line will be single printed as in light.

The last card is the End Of File card.
If the three characters EOF are found in Columns 1-5 the program will terminate with a halt.

End of Document


README file for Lincoln
Friday, March 06, 2015
Author  Ron Mak
******************************************************************
     *  LINCOLN'S BIRTHDAY PROGRAM
     *      BY RONALD MAK
     *
     *  ORIGINAL VERSION: FEBRUARY 1969
     *  RESURRECTED:      FEBRUARY 2005
     *  CONDENSED:        NOVEMBER 2010
******************************************************************
This program was written by a very young Ronald Mak.

It prints out the head of lincoln using the words from the Gettysberg address.

The program will terminate with a halt.
If you want to run it again with a new set of cards, set sense switch G on,
clear the card reader, place the second date, name and EOF cards in the reader and press start.

If you don?t want to run it again, leave sense switch  G off and when you press start,
it will look for and read in the next program.

End of Document


README file for Mandelbrot
Saturday, March 07, 2015
Author    Ken Shirriff

Benoit B. Mandelbrot was a Polish-born, French and American mathematician, noted for
developing the field of fractal geometry , which included coining the word "fractal".
 He later discovered the Mandelbrot set of intricate, never-ending fractal shapes,
named in his honor.

This program generated the most famous Mandelbrot figure on a machine developed
20 years before Fractals were identified.

The IBM 1401 does not have the ability to work with floating point numbers so all of the
math  has to be done with  integer math.
The program is CPU time intensive but fun to watch if you know what is going on in the program.

The program will terminate with a halt.
If you want to run it again, set sense switch G on, and press start.

If you don?t want to run it again, leave sense switch G off and when you press start,
it will look for and read in the next program.

End of Document


README file for Powers of two
Saturday, March 07, 2015
Author Stan Paddock

Powers Of 2 is a demonstration program run on the IBM 1401 computer.

The IBM 1401 stores one digit per memory location.
The IBM 1401 has 16,000 locations of memory.
With this amount of memory, the IBM 1401 can add together two 8,000 digit numbers.!

Modern computers perform integer arithmetic using binary values.
For the IBM PC, the largest value is 64 bits.
The largest value that can be expressed in 64 bits is  18,446,744,073,709,551,616.
That is 20 digits long.

The Powers Of Two program demonstrates the ability of the IBM 1401 to handle
large numbers by starting with a single digit of 2 and then double it until
it fills a single print line on the IBM 1403 printer.

In addition of that, the program prints out how you pronounce the resultant number.

The program will terminate with a halt.
If you want to run it again, set sense switch G on, and press start.

If you don?t want to run it again, leave sense switch G off and when you press start,
it will look for and read in the next program.

End of Document


README file for prime_demo
Friday, March 06, 2015
Author Ken Shirriff

prime_demo is a demonstration program run on the IBM 1401
It uses the sieve of Eratosthenes an ancient algorithm for finding all prime numbers
up to any given limit.

For this program, the given limit is 25,000 due to the memory limitation of the computer.

The program will terminate with a halt.
If you want to run it again with a new set of cards, set sense switch G on,
clear the card reader, place the second date, name and EOF cards in the reader
and press start.

If you don?t want to run it again, leave sense switch  G off and when you press start,
 it will look for and read in the next program.

End of Document


README file for Tape Demo
Saturday, June 20, 2015
Author Stan Paddock

Tape Demo is a demonstration program run on the IBM 1401 computer.

The IBM 1401 uses tapes to store large amounts of data.
When processing that data, the each active tape drive would randomly be selected
and read or write data.

This program makes the tape drives appear to be working very hard.
The program supports the use of one, two, three or four tape drives.
When a tape drive is selected, 1 to 9 records are written to the drive.
After a half a reel of tape has been written to the tape drives, the tape drives
go into high-speed rewind. (*)

The program uses the IBM 1401 sense switches to control the actions of the program.
SENSE SWITCH A  = (NOT USED)
SENSE SWITCH B  = TAPE DRIVE  1 ONLY
SENSE SWITCH C  = TAPE DRIVES 1 & 2
SENSE SWITCH BC = TAPE DRIVES 1 & 2 & 3
SENSE SWITCH D  = TAPE DRIVES 1 & 2 & 3 & 4
SENSE SWITCH E  = LOOP TEST PROGRAM
SENSE SWITCH F  = TERMINATE PROGRAM
SENSE SWITCH G  = RERUN PROGRAM FROM START

The program will terminate with a halt.
If you want to run it again, set sense switch G on, and press start.
(*) If sense switch G is on while the program is running, it will not do the final rewind.
The next time the program runs, all active tape drives will go into high speed rewind.

If you don?t want to run it again, leave sense switch G off and when you press start,
it will look for and read in the next program.

End of Document

--------------------------------------------------------------------
BigPrint15.4 , Aug 2015

"Big Print" now has two modes, original "Guest" mode and the new "Banner" mode
     - .README (operator instructions, comments, ...)
     - .s (source - code )
     - .lst (assembly listing)
     - .cd ("object deck - the program into the card reader)

     - Sample Guest Mode Input Deck
     - Sample Guest Mode Printed Output

     - Sample Banner Mode Card Input
     - Sample Banner Mode Printed Output

BigPrint15.4.README (operator instructions, comments, ...) - Aug 2015

 README file for Big Print
Friday, August 28, 2015
Author           Ed Thelen
Modifications    Stan Paddock

BigPrint is a demonstration program run on the IBM 1401
The input is a series of cards:

The first card is a date card.
Whatever is in the first 25 columns of this card is considered the date.
January 23, 1987 is as good as 1/23/87

The second card and all following cards are name cards.
The first name can be up to 11 characters.
If the first name is longer than 11 characters, it will be truncated to 11 characters.

The second name can be up to 10 characters.
The second name starts after the space between the first name and the start of the second name.
The next 10 characters will be displayed as the second name.
There can be three names like Juan el Capitan
The program will print Juan on the first line and El Capitan on the second line.
Except that there must be a space between names, the rest of the spacing does not matter.
All extra spaces will be ignored.

There is no limit to the number of name cards that can be used.

The last card is the End Of File card.
If the three characters EOF are found in Columns 1-5 the program will terminate with a halt.

If you want to run it again with a new set of cards, set sense switch G on,
clear the card reader, place the second date, name and EOF cards in the reader and press start.

If you don't want to run it again, leave sense switch  G off and when you press start,
it will look for and read in the next program.

A new feature has been added to BigPrint rev 16.2.
It is called BANNER.
If the first 6 characters of the date card are BANNER, BigPrint shifts into BANNER mode.

Each following card will print a line on the printer.
CC 1:If it is a D, the Double print will be used and the characters from column 3-13 will be printed.
	(11 characters)
    :If it is a S, the Single print will be used and the characters from column 3-24 will be printed.
	(22 characters)

CC 2:If CC 2 is a D, the line will be double printed as in Dark.
    :If CC 2 is a L, the line will be single printed as in light.

The last card is the End Of File card.
If the three characters EOF are found in Columns 1-5 the program will terminate with a halt.

End of Document

BigPrint15.4.s Aug 2015

               HEAD
     *         BIGPRINT
     *  PROGRAM BY ED THELEN
     *  MODIFIED BY STAN PADDOCK
     *
     WORK1     EQU   WORK-79
     REV       DCW  @BIGPRINT REV 16.2 GENERATED ON 08/26/2015@
     *
     *
     START     CS   .READ&79      * CLEAR WORD MARKS FROM CARD READ
               CS   .PUNCH&79     * CLEAR PUNCH AREA
               SW   .READ         * SET WORD MARK
               ZA   NZERO,NZERO   * SET SIGN BITS
               MCW  @000@,X1      * CLEAR X1
               MCW  X1,X2         * CLEAR X2
               MCW  X1,X3         * CLEAR X3
               MCW  REV,140       * MOVE REV TO PUNCH BUFFER
     *
     * 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
               MCW  .READ+24,DATE25     * PUT IT IN A SAFE PLACE
     *                                  * JUST TO KEEP IT CLEAN
               C    .READ+5,@BANNER@    * ARE WE DOING A BANNER?
               BU   BNEXIT              * IF NOT, GO AROUND
               MCW  @Y@,BNMODE          * YES SET IT
     BNEXIT    NOP
     *
     ******************************************************************
     *     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 TRUNCATED TO 11 CHARACTERS AND
     *   THE SECOND NAME TRUNCATED TO 10 CHARACTERS
     *
     READG     R                          * READ GUEST CARD
     *
     * NOW CHECK FOR EOF IN THE FIRST 5 COLUMNS
     *
               MCW  @000@,X1              * SETUP X1
     EOFC1     BCE  EOFC2,.READ+X1,E      * IS IT THE LEADING OF EOF
               B    EOFC4                 * NO IT IS NOT
     EOFC2     BCE  EOFC3,.READ+1+X1,O    * IS THIS THE O IN EOF
               B    EOFC4                 * NO IT IS NOT
     EOFC3     BCE  EXIT,.READ+2+X1,F     * IS THIS THE FINAL F
     *
     EOFC4     MA   @001@,X1              * KICK UP X1
               C    @005@,X1              * ARE WE DONE?
               BL   EOFC1                 * TRY IT AGAIN
     *
     *         ELSE IT IS A REAL NAME CARD
     *         SEND IT TO THE STACKER
     *
               SS   1                     * SELECT READ STACKER 2
     *
               BCE  BANNER,BNMODE,Y       * ARE WE IN BANNER MODE?
               MCW  @000@,X1              * INITIALIZE X1
               MCW  @000@,X2              * INITIALIZE X2
               MCW  @ @,LAST              * START WITH THE LAST .NE. SPACE
               MCW  BLANKS,LINE1          * CLEAR IT OUT
               MCW  BLANKS,LINE2          * AND THIS ALSO
     *
     *         THE FOLLOWING CODE MAKES A PASS DOWN THE INPUT CARD AND REMOVE EXTRA SPACES
     *
     LOOP1     BCE  LOOP3,.READ+X1,       * WAS IT A SPACE ?
     LOOP2     MN   .READ+X1,.READ+X2     * MOVE NUMERIC PART
               MZ   .READ+X1,.READ+X2     * MOVE ZONE PART
               MN   .READ+X1,LAST         * NEED TO SET LAST
               MZ   .READ+X1,LAST         * NEED TO SET LAST
               C    X1,X2                 * SAME LOCATION?
               BE   LOOP4                 * DON'T CLEAR
               MCW  @ @,.READ+X1          * CLEAR WHAT WE MOVED
               B    LOOP4

     LOOP3     BCE  LOOP5,LAST,           * WAS THE LAST CHARACTER A SPACE?
               B    LOOP2                 * FIRST INTERMEDIATE SPACE

     LOOP4     MA   @001@,X2              * INCREMENT X2
     LOOP5     MA   @001@,X1              * INCREMENT X1
               C    @080@,X1              * DID WE GO PAST END?
               BL   LOOP1                 * NOT YET
     *
     *         NOW THAT ALL OF THE LEADING AND MULTIPLE SPACES ARE REMOVED
     *         IT IS A GOOD TIME TO FINE THE FIRST SPACE
     *
               MCW  @000@,FSTSP           * RESET FIRST SPACE
               MCW  @000@,X1              * RESET X1
     LOOPA     BCE  LOOPB,.READ+X1,       * IS IT A SPACE?
               MA   @001@,X1              * INCREMENT X1
               C    @080@,X1              * ARE WE AT THE END?
               BL   LOOPA                 * TRY AGAIN
     LOOPB     MCW  X1,FSTSP              * FOUND IT
     *
     *         NOW THAT WE KNOW WHERE THE FIRST SPACE IS,
     *         WE CAN LOAD LINE 1 AND LINE 2
     *
               MCW  @000@,X1               * RESET X1
     LIN1      BCE  LIN1A,.READ+X1,        * DID WE FIND THE SPACE
               MZ   .READ+X1,LINE1-10+X1   * MOVE THE DATA
               MN   .READ+X1,LINE1-10+X1   * MOVE THE DATA
               MA   @001@,X1               * INCREMENT X1
               C    @011@,X1               * SEE IF WE ARE FULL
               BL   LIN1                   * DO IT AGAIN
     LIN1A     NOP                         * FULL LINE OR SPACE
     *
     *         NOW TO DO LINE 2
     *
               MCW  FSTSP,X1               * RESET X1 TO SPACE ON .READ
               MA   @001@,X1               * INCREMENT X1 TO NON-SPACE
               MCW  @000@,X2               * INITIALIZE X2
     LIN2      MZ   .READ+X1,LINE2-9+X2    * MOVE THE DATA
               MN   .READ+X1,LINE2-9+X2    * MOVE THE DATA
               MA   @001@,X1               * INCREMENT X1
               MA   @001@,X2               * INCREMENT X2
               C    @010@,X2               * SEE IF WE ARE FULL
               BL   LIN2                   * DO IT AGAIN
     LIN2A     NOP                         * FULL LINE OR SPACE
     *
     *         LINE1 AND LINE 2 HAVE BEEN LOADED
     *         ALL WE HAVE TO DO IS PRINT THEM
     *
               MCW  @D@,DOUBLE      * SET FOR DOUBLE SIZE BIG PRINT
               MCW  @D@,LTDRK       * SET FOR DARK PRINT
               MCW  BLANKS, WXX     * CLEAR THE FIELD
               BCE  NODATA,LINE1-10,   *IS IT BLANK
               B    LIN11           * JUMP OVER VOID CODE
     NODATA    MCW  @NOBODY     @,LINE1   * PUT IN NOBODY
     LIN11     MCW  LINE1,WXX-14    * PRINT LINE 1
               B    PRINTS          * PRINT IT
               MCW  BLANKS, WXX     * CLEAR THE FIELD
               BCE  LIN22,LINE2-9,   *IS IT BLANK
               MCW  LINE2,WXX-14    * MOVE LINE 2
               B    PRINTS          * PRINT IT
     LIN22     MCW  @S@,DOUBLE      * SET FOR SINGLE SIZE BIG PRINT
               MCW  @L@,LTDRK       * SET FOR LIGHT PRINT
               MCW  LINE3,WXX       * "VISITED THE COMPUTER#     "
               B    PRINTS          * SUBROUTINE CALL
               MCW  LINE4,WXX       * "HISTORY MUSEUM ON#        "
               B    PRINTS          * SUBROUTINE CALL
               MCW  DATE25,WXX      * PRINT DATE LINE
               B    PRINTS          * SUBROUTINE CALL
               W                    * BLANK LINE
               MCW  CREDIT,310      * PRINT CREDIT
               W
               CC   1               * TOP OF FORM
     SKIPTX    B    READG           * GO AND GET THE NEXT GUEST CARD
     *
     ************************************************************
     *   BANNER PROCESSING
     ************************************************************
     *
     BANNER    MZ   .READ,DOUBLE     * SET THE SIZE
               MN   .READ,DOUBLE     * SET THE SIZE
               MZ   .READ+1,LTDRK    * SET THE LIGHT / DARK
               MN   .READ+1,LTDRK    * SET THE LIGHT / DARK
               MCW  .READ+26,WXX     * SET THE BUFFER
               B    PRINTS           * PRINT AS REQUESTED
               B    READG            * NEXT CARD

     *
     ************************************************************
     *   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  WXX-24&X1,PCHAR     * AND GET IT
               MCW  WXX-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  @000@,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  @000@,SUM2      * INITALIZE SUM2
               A    SUM,SUM2        * ADD IN PLACE OF MULTIPLY
               A    SUM,SUM2        * ADD IN PLACE OF MULTIPLY
               A    SUM,SUM2        * ADD IN PLACE OF MULTIPLY
               A    SUM,SUM2        * ADD IN PLACE OF MULTIPLY
               A    SUM,SUM2-1      * ADD IN PLACE OF MULTIPLY X 10
     *
               MCW  SUM2,SUM
               MZ   @0@,SUM         * CLEAR THE ZONE BITS
               MCW  SUM,PATNUM&X1   * 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  @000@,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  PATNUM&X1,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
     L1        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,.PRINT&X3  * PRINT PROPER CHARACTER
               A    @001@,X3
               BCE  L4,DOUBLE,S     * ARE WE GOING SINGLE?
               MCW  WCHAR,.PRINT&X3  * PRINT PROPER CHARACTER
               A    @001@,X3
     L4        C    @009@,X2
               BL   L1
               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,LTDRK,L      * ARE WE DOING LIGHT PRINT?
               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
     *
     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
     *
     *******************************************************
     *
               EXIT
     *               1234567890123456789012345678901234567890
               DCW  @THIS PRINTOUT WAS GENERATED ON AN IBM 1401 @
               DC   @COMPUTER AT THE COMPUTER HISTORY MUSEUM, @
     CREDIT    DC   @ MOUNTAIN VIEW, CALIFORNIA@
     BNMODE    DCW  @N@                    * ARE WE IN BANNER MODE?
     LTDRK     DCW  @L@                    *LIGHT OR DARK
     X         DCW  @X@
     LAST      DCW  0
               DCW  @1@
     LINE1     DCW  @           @
               DCW  @12345678902@
     LINE2     DCW  @          @
               DCW  @3@
     FSTSP     DCW  000
     MIN1      DSA  16000-1
               DCW  #40
     WORK      DC   #40
     XCNT      DCW  @00000@
     XCNT2     DCW  @00000@
     X4K       DSA  4000
     SPACE     DCW  0
     ZONE      DCW  @1@
     NUM       DCW  0
     SUM       DCW  000
     SUM2      DCW  000             * SED TO ADD SUM INSTEAD OF
     *                              * MULTIPLYING SUM
     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
     SPCNT     DCW  0
     SP20      DCW  @                    @

     BITSEL    DCW  16
               DCW  08
               DCW  04
               DCW  02
               DCW  01
               DCW  00
     *
     DATE25    DCW  @0000000000000000000000000@    * SAVE DATE  25 LONG
     *
     WXX       DCW  @0000000000000000000000000@
     * WORK AREA FOR STRING  25 LONG
     *
     BLANKS    DCW  @                         @    * SET WORK TO BLANKS
     LINE3     DCW  @VISITED THE COMPUTER#    @
                     1234567890123456789012345678901234567890
     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
     * STOREAGE FOR CHARACTER INDEX NUMBERS
     PATNUM         1,3           * ELEMENT IN PATTERN ARRAY
               DCW  @END@
               END  START   * LAST CARD IN DECK, TRANSFER ADDRESS

BigPrint15.4.cd

-

BigPrint15.4.lst Aug 2015

 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                                                                                                         PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  101                HEAD                                                                                MACRO
              *>>>>>>>>>                                                                                 GEN
  102         .READ  EQU   001                                                         0001              GEN
  103         .PUNCH EQU   101                                                         0101              GEN
  104         .PRINT EQU   201                                                         0201              GEN
  105                ORG   85                                                                 0085
  106                DCW   @X1@      *IDENTIFING FILLER                             2  0086              GEN      4
  107         X1     DCW   000       *INDEX REGISTER 1                              3  0089              GEN      4
  108                DCW   @X2@      *IDENTIFING FILLER                             2  0091              GEN      4
  109         X2     DCW   000       *INDEX REGISTER 2                              3  0094              GEN      4
  110                DCW   @X3@      *IDENTIFING FILLER                             2  0096              GEN      4
  111         X3     DCW   000       *INDEX REGISTER 3                              3  0099              GEN      4
  112                ORG   181       *JUST AFTER PUNCH LOCATIOM                               0181
  113                B     START     *UNIVERSIAL START LOCATION                     4  0181  B 381       GEN      5   381
  114                NOP             *TERMINATING WORDMARK                          1  0185  N           GEN      5
  115                ORG   340       *ORG JUST AFTER PRINT BUFFER                             0340
              *<<<<<<<<<                                                                                 GEN
  116         *         BIGPRINT
  117         *  PROGRAM BY ED THELEN
  118         *  MODIFIED BY STAN PADDOCK
  119         *
  120         WORK1  EQU    WORK-79                                                    1966
  121         REV    DCW   @BIGPRINT REV 16.2 GENERATED ON 08/26/2015@             41  0380                       7
  122         *
  123         *
  124         START  CS    .READ&79      * CLEAR WORD MARKS FROM CARD READ          4  0381  / 080                7   080
  125                CS    .PUNCH&79     * CLEAR PUNCH AREA                         4  0385  / 180                7   180
  126                SW    .READ         * SET WORD MARK                            4  0389  , 001                7   001
  127                ZA    NZERO,NZERO   * SET SIGN BITS                            7  0393  ? !90 !90            7  2090    2090
  128                MCW   @000@,X1      * CLEAR X1                                 7  0400  M B99 089            8  3299     089
  129                MCW   X1,X2         * CLEAR X2                                 7  0407  M 089 094            8   089     094
  130                MCW   X1,X3         * CLEAR X3                                 7  0414  M 089 099            8   089     099
  131                MCW   REV,140       * MOVE REV TO PUNCH BUFFER                 7  0421  M 380 140            8   380     140
  132         *
  133         * SPECIAL CODE TO SETUP THE ZONE SELECT CODES
  134         *
  135                MZ    @A@,ZONE                                                 7  0428  Y C00 !60            8  3300    2060
  136                MCW   ZONE,CKAB&7                                              7  0435  M !60 S13            9  2060    1213
  137                MZ    @J@,ZONE                                                 7  0442  Y C01 !60            9  3301    2060
  138                MCW   ZONE,CKB&7                                               7  0449  M !60 S05            9  2060    1205
  139                MZ    @Z@,ZONE                                                 7  0456  Y C02 !60            9  3302    2060
  140                MCW   ZONE,CKA&7                                               7  0463  M !60 /97            9  2060    1197
  141         *
  142         ******************************************************************
  143         *     READ IN AND STORE THE DATE CARD
  144         ******************************************************************
  145         *
1                                                                                                         PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  146                R                         * READ DATE CARD                     1  0470  1                    9
  147                MCW   .READ&24,DATE25     * PUT IT IN A SAFE PLACE             7  0471  M 025 J84           10   025    2184
  148         *                                  * JUST TO KEEP IT CLEAN
  149                C     .READ&5,@BANNER@    * ARE WE DOING A BANNER?             7  0478  C 006 C08           10   006    3308
  150                BU    BNEXIT              * IF NOT, GO AROUND                  5  0485  B 497 /             10   497
  151                MCW   @Y@,BNMODE          * YES SET IT                         7  0490  M C09 Z22           10  3309    1922
  152         BNEXIT NOP                                                            1  0497  N                   10
  153         *
  154         ******************************************************************
  155         *     READ IN AND PROCESS GUEST CARDS
  156         ******************************************************************
  157         *   PROGRAMS ARE PERFECT
  158         *   INPUT BY USERS CAN CONTAIN MANY ERRORS
  159         *   THE FOLLOWING CODE TRIES TO FIX MANY ERRORS SEEN
  160         *   IN THE 1401 RESTORATION ROOM
  161         *   LEADING SPACES ARE ELIMINATED
  162         *   MULTIPLE SPACES BETWEEN THE FIRST AND LAST NAME ARE ELIMINATED
  163         *   IF ONLY ONE MANE IS GIVEN, THAT IS ALL THAT IS PRINTED
  164         *   IF THE USER GIVES A NAME LIKE EL AL JARAED
  165         *   IT WILL BE PRINTED WITH EL AS THE FIRST NAME AND
  166         *   AL JARAED AS THE SECOND NAME
  167         *   THE FIRST NAME WILL BE TRUNCATED TO 11 CHARACTERS AND
  168         *   THE SECOND NAME TRUNCATED TO 10 CHARACTERS
  169         *
  170         READG  R                           * READ GUEST CARD                  1  0498  1                   10
  171         *
  172         * NOW CHECK FOR EOF IN THE FIRST 5 COLUMNS
  173         *
  174                MCW   @000@,X1              * SETUP X1                         7  0499  M B99 089           10  3299     089
  175         EOFC1  BCE   EOFC2,.READ&X1,E      * IS IT THE LEADING OF EOF         8  0506  B 518 0'1 E         11   518     001+1
  176                B     EOFC4                 * NO IT IS NOT                     4  0514  B 538               11   538
  177         EOFC2  BCE   EOFC3,.READ&1&X1,O    * IS THIS THE O IN EOF             8  0518  B 530 0'2 O         11   530     002+1
  178                B     EOFC4                 * NO IT IS NOT                     4  0526  B 538               11   538
  179         EOFC3  BCE   EXIT,.READ&2&X1,F     * IS THIS THE FINAL F              8  0530  B X62 0'3 F         11  1762     003+1
  180         *
  181         EOFC4  MA    @001@,X1              * KICK UP X1                       7  0538  # C12 089           11  3312     089
  182                C     @005@,X1              * ARE WE DONE?                     7  0545  C C15 089           12  3315     089
  183                BL    EOFC1                 * TRY IT AGAIN                     5  0552  B 506 T             12   506
  184         *
  185         *         ELSE IT IS A REAL NAME CARD
  186         *         SEND IT TO THE STACKER
  187         *
  188                SS    1                     * SELECT READ STACKER 2            2  0557  K 1                 12
  189         *
  190                BCE   BANNER,BNMODE,Y       * ARE WE IN BANNER MODE?           8  0559  B 997 Z22 Y         12   997    1922
  191                MCW   @000@,X1              * INITIALIZE X1                    7  0567  M B99 089           12  3299     089
  192                MCW   @000@,X2              * INITIALIZE X2                    7  0574  M B99 094           12  3299     094
  193                MCW   @ @,LAST              * START WITH THE LAST .NE. SPA     7  0581  M C16 Z25           13  3316    1925
  194                MCW   BLANKS,LINE1          * CLEAR IT OUT                     7  0588  M K34 Z37           13  2234    1937
  195                MCW   BLANKS,LINE2          * AND THIS ALSO                    7  0595  M K34 Z58           13  2234    1958
1                                                                                                         PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  196         *
  197         *         THE FOLLOWING CODE MAKES A PASS DOWN THE INPUT CARD AND REMOVE EX
  198         *
  199         LOOP1  BCE   LOOP3,.READ&X1,       * WAS IT A SPACE ?                 8  0602  B 661 0'1           13   661     001+1
  200         LOOP2  MN    .READ&X1,.READ&X2     * MOVE NUMERIC PART                7  0610  D 0'1 0!1           13   001+1   001+2
  201                MZ    .READ&X1,.READ&X2     * MOVE ZONE PART                   7  0617  Y 0'1 0!1           14   001+1   001+2
  202                MN    .READ&X1,LAST         * NEED TO SET LAST                 7  0624  D 0'1 Z25           14   001+1  1925
  203                MZ    .READ&X1,LAST         * NEED TO SET LAST                 7  0631  Y 0'1 Z25           14   001+1  1925
  204                C     X1,X2                 * SAME LOCATION?                   7  0638  C 089 094           14   089     094
  205                BE    LOOP4                 * DON'T CLEAR                      5  0645  B 673 S             14   673
  206                MCW   @ @,.READ&X1          * CLEAR WHAT WE MOVED              7  0650  M C16 0'1           15  3316     001+1
  207                B     LOOP4                                                    4  0657  B 673               15   673
  208         *
  209         LOOP3  BCE   LOOP5,LAST,           * WAS THE LAST CHARACTER A SPA     8  0661  B 680 Z25           15   680    1925
  210                B     LOOP2                 * FIRST INTERMEDIATE SPACE         4  0669  B 610               15   610
  211         *
  212         LOOP4  MA    @001@,X2              * INCREMENT X2                     7  0673  # C12 094           15  3312     094
  213         LOOP5  MA    @001@,X1              * INCREMENT X1                     7  0680  # C12 089           15  3312     089
  214                C     @080@,X1              * DID WE GO PAST END?              7  0687  C C19 089           16  3319     089
  215                BL    LOOP1                 * NOT YET                          5  0694  B 602 T             16   602
  216         *
  217         *         NOW THAT ALL OF THE LEADING AND MULTIPLE SPACES ARE REMOVED
  218         *         IT IS A GOOD TIME TO FINE THE FIRST SPACE
  219         *
  220                MCW   @000@,FSTSP           * RESET FIRST SPACE                7  0699  M B99 Z62           16  3299    1962
  221                MCW   @000@,X1              * RESET X1                         7  0706  M B99 089           16  3299     089
  222         LOOPA  BCE   LOOPB,.READ&X1,       * IS IT A SPACE?                   8  0713  B 740 0'1           16   740     001+1
  223                MA    @001@,X1              * INCREMENT X1                     7  0721  # C12 089           17  3312     089
  224                C     @080@,X1              * ARE WE AT THE END?               7  0728  C C19 089           17  3319     089
  225                BL    LOOPA                 * TRY AGAIN                        5  0735  B 713 T             17   713
  226         LOOPB  MCW   X1,FSTSP              * FOUND IT                         7  0740  M 089 Z62           17   089    1962
  227         *
  228         *         NOW THAT WE KNOW WHERE THE FIRST SPACE IS,
  229         *         WE CAN LOAD LINE 1 AND LINE 2
  230         *
  231                MCW   @000@,X1               * RESET X1                        7  0747  M B99 089           17  3299     089
  232         LIN1   BCE   LIN1A,.READ&X1,        * DID WE FIND THE SPACE           8  0754  B 795 0'1           18   795     001+1
  233                MZ    .READ&X1,LINE1-10&X1   * MOVE THE DATA                   7  0762  Y 0'1 ZS7           18   001+1  1927+1
  234                MN    .READ&X1,LINE1-10&X1   * MOVE THE DATA                   7  0769  D 0'1 ZS7           18   001+1  1927+1
  235                MA    @001@,X1               * INCREMENT X1                    7  0776  # C12 089           18  3312     089
  236                C     @011@,X1               * SEE IF WE ARE FULL              7  0783  C C22 089           18  3322     089
  237                BL    LIN1                   * DO IT AGAIN                     5  0790  B 754 T             19   754
  238         LIN1A  NOP                          * FULL LINE OR SPACE              1  0795  N                   19
  239         *
  240         *         NOW TO DO LINE 2
  241         *
  242                MCW   FSTSP,X1               * RESET X1 TO SPACE ON .READ      7  0796  M Z62 089           19  1962     089
  243                MA    @001@,X1               * INCREMENT X1 TO NON-SPACE       7  0803  # C12 089           19  3312     089
  244                MCW   @000@,X2               * INITIALIZE X2                   7  0810  M B99 094           19  3299     094
  245         LIN2   MZ    .READ&X1,LINE2-9&X2    * MOVE THE DATA                   7  0817  Y 0'1 ZM9           19   001+1  1949+2
1                                                                                                         PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  246                MN    .READ&X1,LINE2-9&X2    * MOVE THE DATA                   7  0824  D 0'1 ZM9           20   001+1  1949+2
  247                MA    @001@,X1               * INCREMENT X1                    7  0831  # C12 089           20  3312     089
  248                MA    @001@,X2               * INCREMENT X2                    7  0838  # C12 094           20  3312     094
  249                C     @010@,X2               * SEE IF WE ARE FULL              7  0845  C C25 094           20  3325     094
  250                BL    LIN2                   * DO IT AGAIN                     5  0852  B 817 T             20   817
  251         LIN2A  NOP                          * FULL LINE OR SPACE              1  0857  N                   20
  252         *
  253         *         LINE1 AND LINE 2 HAVE BEEN LOADED
  254         *         ALL WE HAVE TO DO IS PRINT THEM
  255         *
  256                MCW   @D@,DOUBLE      * SET FOR DOUBLE SIZE BIG PRINT          7  0858  M C26 J00           21  3326    2100
  257                MCW   @D@,LTDRK       * SET FOR DARK PRINT                     7  0865  M C26 Z23           21  3326    1923
  258                MCW   BLANKS, WXX     * CLEAR THE FIELD                        7  0872  M K34 K09           21  2234    2209
  259                BCE   NODATA,LINE1-10,   *IS IT BLANK                          8  0879  B 891 Z27           21   891    1927
  260                B     LIN11           * JUMP OVER VOID CODE                    4  0887  B 898               21   898
  261         NODATA MCW   @NOBODY     @,LINE1   * PUT IN NOBODY                    7  0891  M C37 Z37           22  3337    1937
  262         LIN11  MCW   LINE1,WXX-14    * PRINT LINE 1                           7  0898  M Z37 J95           22  1937    2195
  263                B     PRINTS          * PRINT IT                               4  0905  B '40               22  1040
  264                MCW   BLANKS, WXX     * CLEAR THE FIELD                        7  0909  M K34 K09           22  2234    2209
  265                BCE   LIN22,LINE2-9,   *IS IT BLANK                            8  0916  B 935 Z49           22   935    1949
  266                MCW   LINE2,WXX-14    * MOVE LINE 2                            7  0924  M Z58 J95           23  1958    2195
  267                B     PRINTS          * PRINT IT                               4  0931  B '40               23  1040
  268         LIN22  MCW   @S@,DOUBLE      * SET FOR SINGLE SIZE BIG PRINT          7  0935  M C38 J00           23  3338    2100
  269                MCW   @L@,LTDRK       * SET FOR LIGHT PRINT                    7  0942  M C39 Z23           23  3339    1923
  270                MCW   LINE3,WXX       * "VISITED THE COMPUTER#     "           7  0949  M K59 K09           23  2259    2209
  271                B     PRINTS          * SUBROUTINE CALL                        4  0956  B '40               23  1040
  272                MCW   LINE4,WXX       * "HISTORY MUSEUM ON#        "           7  0960  M K84 K09           24  2284    2209
  273                B     PRINTS          * SUBROUTINE CALL                        4  0967  B '40               24  1040
  274                MCW   DATE25,WXX      * PRINT DATE LINE                        7  0971  M J84 K09           24  2184    2209
  275                B     PRINTS          * SUBROUTINE CALL                        4  0978  B '40               24  1040
  276                W                     * BLANK LINE                             1  0982  2                   24
  277                MCW   CREDIT,310      * PRINT CREDIT                           7  0983  M Z21 310           24  1921     310
  278                W                                                              1  0990  2                   24
  279                CC    1               * TOP OF FORM                            2  0991  F 1                 25
  280         SKIPTX B     READG           * GO AND GET THE NEXT GUEST CARD         4  0993  B 498               25   498
  281         *
  282         ************************************************************
  283         *   BANNER PROCESSING
  284         ************************************************************
  285         *
  286         BANNER MZ    .READ,DOUBLE     * SET THE SIZE                          7  0997  Y 001 J00           25   001    2100
  287                MN    .READ,DOUBLE     * SET THE SIZE                          7  1004  D 001 J00           25   001    2100
  288                MZ    .READ&1,LTDRK    * SET THE LIGHT / DARK                  7  1011  Y 002 Z23           25   002    1923
  289                MN    .READ&1,LTDRK    * SET THE LIGHT / DARK                  7  1018  D 002 Z23           25   002    1923
  290                MCW   .READ&26,WXX     * SET THE BUFFER                        7  1025  M 027 K09           26   027    2209
  291                B     PRINTS           * PRINT AS REQUESTED                    4  1032  B '40               26  1040
  292                B     READG            * NEXT CARD                             4  1036  B 498               26   498
  293         *
  294         *
  295         ************************************************************
1                                                                                                         PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  296         *   PRINTS SUBROUTINE
  297         ***********************************************************
  298         *
  299         PRINTS SBR   PRINTX&3        * SET RETURN ADDRESS                     4  1040  H X36               26  1736
  300                MCW   @000@,WROW      * INITIALIZE PRINT ROW COUNTER           7  1044  M B99 J06           26  3299    2106
  301         PRINT1 MCW   @000@,WCOL      * INITIALIZE WORK CHARACTER PICK UP      7  1051  M B99 J03           26  3299    2103
  302                MCW   @000@,PCOL      * INITIALIZE OUTPUT INDEX                7  1058  M B99 J17           27  3299    2117
  303                CS    332             * CLEAR PRINTER AREA                     4  1065  / 332               27   332
  304                CS                                                             1  1069  /                   27
  305                SW    201                                                      4  1070  , 201               27   201
  306         *
  307         PRINT2 MCW   WCOL,X1             * PREPARE TO PICK UP NEXT CHAR       7  1074  M J03 089           27  2103     089
  308         *                                  * TO PROCESS
  309                MCW   WXX-24&X1,PCHAR     * AND GET IT                         7  1081  M JY5 J07           27  2185+1  2107
  310                MCW   WXX-23&X1,PCHAR2    * STORE OFF THE NEXT CHARACTER       7  1088  M JY6 J08           27  2186+1  2108
  311                A     @001@,WCOL          * INCREMENT COLUMN COUNT             7  1095  A C12 J03           28  3312    2103
  312                MCW   @000@,SUM           * INITIALIZE SUM                     7  1102  M B99 !64           28  3299    2064
  313                C     @000@,WROW          * ARE WE ON THE FIRST ROW?           7  1109  C B99 J06           28  3299    2106
  314                BU    PC4                 * GO GET IT FROM TABLE               5  1116  B U18 /             28  1418
  315         *
  316         *****************************************************************
  317         * THE DATA FOR EACH CHARACTER IS STORED IN A TABLE TITLED CODEA
  318         * AN INDEX TO THIS TABLE IS TITLED CINDX
  319         * THE FOLLOWING CODE WILL FIND THE CHARCTER IN CINDX AND SET SUM
  320         * TO THAT POSITION
  321         * THE ROUTING CHECKS THE ZONE BITS FIRST AND SETS A
  322         * BASE OF 0,16,32 OR 48
  323         * THEN IT USES THE NUMERICAL PORTION TO ADD IN TO THE INDEX
  324         * THIS DOES NOT WORK WITH SPECIAL CHARACTERS
  325         * SO THEY ALONG WITH THE ZERO HAVE TO BE PROCESSED SPECIAL
  326         * THIS ONLY WORKS IF THE NUMBERIAL PORTION IS 0-9
  327         * A TEST FOR SPECIAL CASES IS DONE ON THE NUMERICAL PORTION
  328         * FOR OTHER SPECIAL CHARACTERS
  329         ******************************************************************
  330         *
  331                MN    PCHAR,NUM       * MOVE THE NUMERIC PORTION               7  1121  D J07 !61           28  2107    2061
  332                MZ    PCHAR,ZONE      * MOVE THE ZONE                          7  1128  Y J07 !60           29  2107    2060
  333                C     @0@,NUM         * CHECK THE NUMERIC PORTION              7  1135  C C40 !61           29  3340    2061
  334                BH    CKA             * GOOD STUFF                             5  1142  B /90 U             29  1190
  335         *
  336         * CHECK FOR SPECIAL CHARACTERS
  337         *
  338                BCE   AZERO,PCHAR,0   * IT IS A ZERO                           8  1147  B S65 J07 0         29  1265    2107
  339                BCE   ACOLON,PCHAR,:  * IT IS A COLON                          8  1155  B S76 J07 :         29  1276    2107
  340                BCE   ADASH,PCHAR,-   * IT IS A DASH                           8  1163  B S87 J07 -         30  1287    2107
  341                BCE   ACOMMA,PCHAR,,  * IT IS A COMMA                          8  1171  B S98 J07 ,         30  1298    2107
  342                MCW   @000@,SUM       * MAKE IT A SPACE                        7  1179  M B99 !64           30  3299    2064
  343                B     PC3                                                      4  1186  B T09               30  1309
  344         *
  345         CKA    BCE   ZA,ZONE,A                                                8  1190  B S18 !60 A         30  1218    2060
1                                                                                                         PAGE    6
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  346         CKB    BCE   ZB,ZONE,B                                                8  1198  B S29 !60 B         31  1229    2060
  347         CKAB   BCE   ZAB,ZONE,C                                               8  1206  B S40 !60 C         31  1240    2060
  348                B     NUMA                                                     4  1214  B S47               31  1247
  349         ZA     A     @32@,SUM                                                 7  1218  A C42 !64           31  3342    2064
  350                B     NUMA                                                     4  1225  B S47               31  1247
  351         ZB     A     @16@,SUM                                                 7  1229  A C44 !64           31  3344    2064
  352                B     NUMA                                                     4  1236  B S47               32  1247
  353         ZAB    A     @48@,SUM                                                 7  1240  A C46 !64           32  3346    2064
  354         *                       ADD THE NUMERIC PORTION TO THE SUM
  355         NUMA   A     NUM,SUM                                                  7  1247  A !61 !64           32  2061    2064
  356         *
  357         END    MZ    @0@,SUM                                                  7  1254  Y C40 !64           32  3340    2064
  358                B     PC3                                                      4  1261  B T09               32  1309
  359         *
  360         ************************************************************
  361         AZERO  ZA    @10@,SUM                                                 7  1265  ? C48 !64           32  3348    2064
  362                B     PC3                                                      4  1272  B T09               33  1309
  363         ACOLON ZA    @13@,SUM                                                 7  1276  ? C50 !64           33  3350    2064
  364                B     PC3                                                      4  1283  B T09               33  1309
  365         ADASH  ZA    @16@,SUM                                                 7  1287  ? C44 !64           33  3344    2064
  366                B     PC3                                                      4  1294  B T09               33  1309
  367         ACOMMA ZA    @43@,SUM                                                 7  1298  ? C52 !64           33  3352    2064
  368                B     PC3                                                      4  1305  B T09               33  1309
  369         ************************************************************
  370         PC3    MCW   X1,X1HOLD       * STORE OFF THE CURRENT VALUE OF X1      7  1309  M 089 !76           34   089    2076
  371                MCW   @000@,X1        * INITIALIZE X1                          7  1316  M B99 089           34  3299     089
  372                MA    WCOL,X1         * PUT IN THE COLUMN INTO X1              7  1323  # J03 089           34  2103     089
  373                MA    WCOL,X1         * PUT IN THE COLUMN INTO X1              7  1330  # J03 089           34  2103     089
  374                MA    WCOL,X1         * PUT IN THE COLUMN INTO X1              7  1337  # J03 089           34  2103     089
  375                MCW   @000@,SUM2      * INITALIZE SUM2                         7  1344  M B99 !67           35  3299    2067
  376                A     SUM,SUM2        * ADD IN PLACE OF MULTIPLY               7  1351  A !64 !67           35  2064    2067
  377                A     SUM,SUM2        * ADD IN PLACE OF MULTIPLY               7  1358  A !64 !67           35  2064    2067
  378                A     SUM,SUM2        * ADD IN PLACE OF MULTIPLY               7  1365  A !64 !67           35  2064    2067
  379                A     SUM,SUM2        * ADD IN PLACE OF MULTIPLY               7  1372  A !64 !67           35  2064    2067
  380                A     SUM,SUM2-1      * ADD IN PLACE OF MULTIPLY X 10          7  1379  A !64 !66           36  2064    2066
  381         *
  382                MCW   SUM2,SUM                                                 7  1386  M !67 !64           36  2067    2064
  383                MZ    @0@,SUM         * CLEAR THE ZONE BITS                    7  1393  Y C40 !64           36  3340    2064
  384                MCW   SUM,PATNUM&X1   * STORE THE NUMBER FOR THIS COLUMN       7  1400  M !64 BS1           36  2064    3221+1
  385                MCW   X1HOLD,X1       * RESTORE X1                             7  1407  M !76 089           36  2076     089
  386                B     PC5             * GET ON WITH IT                         4  1414  B U71               36  1471
  387         ************************************************************
  388         PC4    MCW   X1,X1HOLD       * STORE OFF THE CURRENT VALUE OF X1      7  1418  M 089 !76           37   089    2076
  389                MCW   @000@,X1        * INITIALIZE X1                          7  1425  M B99 089           37  3299     089
  390                MA    WCOL,X1         * PUT IN THE COLUMN INTO X1              7  1432  # J03 089           37  2103     089
  391                MA    WCOL,X1         * PUT IN THE COLUMN INTO X1              7  1439  # J03 089           37  2103     089
  392                MA    WCOL,X1         * PUT IN THE COLUMN INTO X1              7  1446  # J03 089           37  2103     089
  393                MCW   PATNUM&X1,SUM   * RETRIVE THE NUMBER FOR                 7  1453  M BS1 !64           38  3221+1  2064
  394         *                              * THIS COLUMN
  395                MCW   X1HOLD,X1       * RESTORE X1                             7  1460  M !76 089           38  2076     089
1                                                                                                         PAGE    7
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  396                B     PC5             * GET ON WITH IT                         4  1467  B U71               38  1471
  397         *
  398         * AT THIS POINT WE HAVE THE TABLE ENTRY FOR THE PATTERN TO PRINT
  399         *
  400         PC5    MZ    @0@,SUM         * CLEAR THE ZONE BITS                    7  1471  Y C40 !64           38  3340    2064
  401         *
  402                A     WROW,SUM        * MAKE INDEX&(2*WROW)                    7  1478  A J06 !64           38  2106    2064
  403                A     WROW,SUM        * MAKE INDEX&(2*WROW)                    7  1485  A J06 !64           38  2106    2064
  404                A     @002@,SUM       * ADD ELEMENT SIZE                       7  1492  A C55 !64           39  3355    2064
  405         *                              * PREPARE TO OUTPUT
  406                MCW   PCOL,X3         * OUTPUT COLUMN                          7  1499  M J17 099           39  2117     099
  407                MCW   SUM,X1          * PICKUP PROPER MASK                     7  1506  M !64 089           39  2064     089
  408                MCW   CODEA&X1,MASK2  *                                        7  1513  M KY4 J11           39  2284+1  2111
  409         *
  410                MCW   @000@,X2          * SET UP BIT SELECT INDEX              7  1520  M B99 094           39  3299     094
  411         L1     C     BITSEL&X2,MASK2   * DO COMPARE                           7  1527  C JM9 J11           40  2149+2  2111
  412                BL    L2                                                       5  1534  B V71 T             40  1571
  413                MCW   PCHAR,WCHAR       * YES, PRINT SPECIAL                   7  1539  M J07 J09           40  2107    2109
  414                S     BITSEL&X2,MASK2   * FIX MASK                             7  1546  S JM9 J11           40  2149+2  2111
  415                MN    MASK2,NOZONE                                             7  1553  D J11 J25           40  2111    2125
  416                MCW   NOZONE,MASK2                                             7  1560  M J25 J11           41  2125    2111
  417                B     L3                                                       4  1567  B V78               41  1578
  418         L2     MCW   @ @,WCHAR                                                7  1571  M C16 J09           41  3316    2109
  419         L3     A     @002@,X2        * GO TO NEXT BIT                         7  1578  A C55 094           41  3355     094
  420                MCW   WCHAR,.PRINT&X3  * PRINT PROPER CHARACTER                7  1585  M J09 2?1           41  2109     201+3
  421                A     @001@,X3                                                 7  1592  A C12 099           41  3312     099
  422                BCE   L4,DOUBLE,S     * ARE WE GOING SINGLE?                   8  1599  B W21 J00 S         42  1621    2100
  423                MCW   WCHAR,.PRINT&X3  * PRINT PROPER CHARACTER                7  1607  M J09 2?1           42  2109     201+3
  424                A     @001@,X3                                                 7  1614  A C12 099           42  3312     099
  425         L4     C     @009@,X2                                                 7  1621  C C58 094           42  3358     094
  426                BL    L1                                                       5  1628  B V27 T             42  1527
  427                A     @001@,X3                                                 7  1633  A C12 099           43  3312     099
  428                BCE   L5,DOUBLE,S     * ARE WE DOING SINGLE?                   8  1640  B W55 J00 S         43  1655    2100
  429                A     @001@,X3                                                 7  1648  A C12 099           43  3312     099
  430         L5     MCW   X3,PCOL         * SAVE COLUMN POINTER                    7  1655  M 099 J17           43   099    2117
  431                BCE   L55,PCHAR2,#    * IF #, LAST CHARACTER IN ROW            8  1662  B W82 J08 #         43  1682    2108
  432                C     @132@,X3        *                                        7  1670  C C61 099           44  3361     099
  433                BL    PRINT2                                                   5  1677  B '74 T             44  1074
  434         L55    BCE   L555,DOUBLE,S   * ARE WE DOING SINGLE?                   8  1682  B W92 J00 S         44  1692    2100
  435                W                     * WRITE THE PRINT AREA TO                1  1690  2                   44
  436         *                              * THE PRINTER NO SPACE
  437                DC    @S@                                                      1  1691                      44
  438         L555   W                     * WRITE THE PRINT AREA TO                1  1692  2                   44
  439         *                              * THE PRINTER
  440                BCE   L6,LTDRK,L      * ARE WE DOING LIGHT PRINT?              8  1693  B X04 Z23 L         44  1704    1923
  441                W                     * WRITE THE PRINT AREA TO                1  1701  2                   44
  442         *                              * THE PRINTER NO SPACE
  443                DC    @S@                                                      1  1702                      44
  444                W                     * WRITE THE PRINT AREA TO                1  1703  2                   45
  445         *                              * THE PRINTER
1                                                                                                         PAGE    8
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  446         L6     A     @001@,WROW      * INCREMENT ROW COUNTER                  7  1704  A C12 J06           45  3312    2106
  447                C     @007@,WROW                                               7  1711  C C64 J06           45  3364    2106
  448                BL    PRINT1          * DO ANOTHER ROW                         5  1718  B '51 T             45  1051
  449                CS    332             * CLEAR PRINTER AREA                     4  1723  / 332               45   332
  450                CS                                                             1  1727  /                   45
  451                SW    201                                                      4  1728  , 201               45   201
  452                W                     * WRITE THE PRINT AREA TO                1  1732  2                   46
  453         *                              * THE PRINTER -
  454         PRINTX B     0               * RETURN TO CALL                         4  1733  B 000               46   000
  455                NOP                   * BACK UP BRANCH                         1  1737  N                   46
  456         *
  457         *         THE FOLLOWING ROUTINE IS DESIGNED TO TERMINATE
  458         *          THE PROCESSING
  459         *         OF THE PRINT LINE IF THE # WAS FOUND
  460         *
  461         PRTX   W                     * WRITE THE PRINT AREA TO                1  1738  2                   46
  462         *                              * THE PRINTER -
  463                BCE   L7,DOUBLE,S     * ARE WE DOING SINGLE?                   8  1739  B X48 J00 S         46  1748    2100
  464                W                     * WRITE THE PRINT AREA TO                1  1747  2                   46
  465         *                              * THE PRINTER
  466         L7     CS    332             * CLEAR PRINTER AREA                     4  1748  / 332               46   332
  467                CS                                                             1  1752  /                   47
  468                SW    201                                                      4  1753  , 201               47   201
  469                W                     * WRITE THE PRINT AREA TO                1  1757  2                   47
  470         *                              * THE PRINTER -
  471                B     PRINTX                                                   4  1758  B X33               47  1733
  472         *
  473         *******************************************************
  474         *
  475                EXIT                                                                                MACRO
              *>>>>>>>>>                                                                                 GEN
  476         EXIT   NOP   999,999         *LOAD THE A AND B REGISTERS              7  1762  N 999 999   GEN     47   999     999
  477                H                     *HALT OR I WILL SHOOT                    1  1769  .           GEN     47
  478                B     START,G         *IF G IS ON, RETURN TO START             5  1770  B 381 G     GEN     47   381
  479                CS    332             *CLEAR PRINT STORAGE                     4  1775  / 332       GEN     48   332
  480                CS                    *CLEAR PRINT STORAGE                     1  1779  /           GEN     48
  481                CS                    *CLEAR PUNCH STORAGE                     1  1780  /           GEN     48
  482                CS                    *CLEAR READ STORAGE                      1  1781  /           GEN     48
  483                C     @SHAY@,14007    *WERE WE LOADED WITH THE LOADER?         7  1782  C C68 !0G   GEN     48  3368   14007
  484                BE    14000           *YES WE WERE. TURN CONTROL               5  1789  B !0? S     GEN     48 14000
  485                SW    001             *SET WORDMARK IN LOCATION 1              4  1794  , 001       GEN     48   001
  486         EXRED  R                     *READ FIRST CARD OF NEXT  DECK           1  1798  1           GEN     49
  487                BCE   001,001,,       *IS IT A COMMA?                          8  1799  B 001 001 , GEN     49   001     001
  488                B     EXRED           *CHECK THE NEXT ONE                      4  1807  B X98       GEN     49  1798
  489                NOP                                                            1  1811  N           GEN     49
              *<<<<<<<<<                                                                                 GEN
              *                                                                                          GEN
  490         *               1234567890123456789012345678901234567890
  491                DCW   @THIS PRINTOUT WAS GENERATED ON AN IBM 1401 @           43  1854                      51
  492                DC    @COMPUTER AT THE COMPUTER HISTORY MUSEUM, @             41  1895                      53
1                                                                                                         PAGE    9
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  493         CREDIT DC    @ MOUNTAIN VIEW, CALIFORNIA@                            26  1921                      53
  494         BNMODE DCW   @N@                    * ARE WE IN BANNER MODE?          1  1922                      53
  495         LTDRK  DCW   @L@                    *LIGHT OR DARK                    1  1923                      53
  496         X      DCW   @X@                                                      1  1924                      53
  497         LAST   DCW   0                                                        1  1925                      53
  498                DCW   @1@                                                      1  1926                      54
  499         LINE1  DCW   @           @                                           11  1937                      54
  500                DCW   @12345678902@                                           11  1948                      54
  501         LINE2  DCW   @          @                                            10  1958                      54
  502                DCW   @3@                                                      1  1959                      54
  503         FSTSP  DCW   000                                                      3  1962                      54
  504         MIN1   DSA   16000-1                                                  3  1965  I9I                 55 15999
  505                DCW   #40                                                     40  2005                      57
  506         WORK   DC    #40                                                     40  2045                      59
  507         XCNT   DCW   @00000@                                                  5  2050                      59
  508         XCNT2  DCW   @00000@                                                  5  2055                      59
  509         X4K    DSA   4000                                                     3  2058  00'                 59  4000
  510         SPACE  DCW   0                                                        1  2059                      59
  511         ZONE   DCW   @1@                                                      1  2060                      60
  512         NUM    DCW   0                                                        1  2061                      60
  513         SUM    DCW   000                                                      3  2064                      60
  514         SUM2   DCW   000             * SED TO ADD SUM INSTEAD OF              3  2067                      60
  515         *                              * MULTIPLYING SUM
  516         BITSUM DCW   000                                                      3  2070                      60
  517         CHRCNT DCW   000             * CHARACTER COUNTER                      3  2073                      60
  518         X1HOLD DCW   000             * PLACE TO HOLD X1                       3  2076                      60
  519         BIGLST DCW   1                                                        1  2077                      61
  520         LMINUS DCW   @-   @          * END OF FILE CARD                       4  2081                      61
  521         BH     DCW   @00@                                                     2  2083                      61
  522         BL     DC    @0000@          * WHERE THE ANSWER APPEARS               4  2087                      61
  523         *
  524         NZERO  DCW   000             * A NUMERICAL ZERO                       3  2090                      61
  525         NONE   DCW   001             * A NUMERICAL ONE                        3  2093                      61
  526         TXLIM  DCW   000             * TEXT INDEX LIMIT                       3  2096                      61
  527         TXLCNT DCW   000             * TEMP LINE COUNT                        3  2099                      61
  528         DOUBLE DCW   @S@             * S PRINTS SINGLE SIZE                   1  2100                      62
  529         *                              * WORK AREAS FOR PRINTS
  530         WCOL   DCW   000             * PICKUP INDEX FROM INPUT AREA           3  2103                      62
  531         WROW   DCW   000                                                      3  2106                      62
  532         PCHAR  DCW   0                                                        1  2107                      62
  533         PCHAR2 DCW   0                                                        1  2108                      62
  534         WCHAR  DCW   0                                                        1  2109                      62
  535         MASK2  DCW   @00@            * 2 CHARACTER MASK                       2  2111                      62
  536         WORK3  DCW   000                                                      3  2114                      63
  537         PCOL   DCW   000                                                      3  2117                      63
  538                DCW   @@000@@                                                  5  2122                      63
  539         ONE2   DCW   01                                                       2  2124                      63
  540         NOZONE DCW   0                                                        1  2125                      63
  541         DOLSW  DCW   0                                                        1  2126                      63
  542         SPCNT  DCW   0                                                        1  2127                      63
1                                                                                                         PAGE   10
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  543         SP20   DCW   @                    @                                  20  2147                      64
  544         *
  545         BITSEL DCW   16                                                       2  2149                      64
  546                DCW   08                                                       2  2151                      64
  547                DCW   04                                                       2  2153                      64
  548                DCW   02                                                       2  2155                      64
  549                DCW   01                                                       2  2157                      64
  550                DCW   00                                                       2  2159                      64
  551         *
  552         DATE25 DCW   @0000000000000000000000000@    * SAVE DATE  25 LONG     25  2184                      65
  553         *
  554         WXX    DCW   @0000000000000000000000000@                             25  2209                      66
  555         * WORK AREA FOR STRING  25 LONG
  556         *
  557         BLANKS DCW   @                         @    * SET WORK TO BLANKS     25  2234                      67
  558         LINE3  DCW   @VISITED THE COMPUTER#    @                             25  2259                      68
  559         LINE4  DCW   @HISTORY MUSEUM ON#       @                             25  2284                      69
  560         *
  561         *  MASK IS 14 CHR
  562         *
  563         * THINK 5X7 MATRIX
  564         * FOR REFERENCE/CLARIFICATION HERE IS A "1"
  565         * DC @04120404040414@
  566         * 04 000100
  567         * 12 001100 (4 + 8)
  568         * 04 000100
  569         * 04 000100
  570         * 04 000100
  571         * 04 000100
  572         * 14 001110   (2 + 4 + 8)
  573         *
  574         * FOR REFERENCE/CLARIFICATION HERE IS A "2"
  575         * DC @14170102020431@
  576         * 14 01110
  577         * 17 10001
  578         * 01 00001
  579         * 02 00010
  580         * 02 00010
  581         * 04 00100
  582         * 31 11111
  583         CODEA  DS    0                                                           2284
  584                DC    @00000000000000@   *  BLANK                             14  2298                      69
  585                DC    @04120404040414@   *  1                                 14  2312                      70
  586                DC    @14170101020431@   *  2                                 14  2326                      70
  587                DC    @31020402010114@   *  3                                 14  2340                      71
  588                DC    @02061018310202@   *  4                                 14  2354                      71
  589                DC    @31163001011714@   *  5                                 14  2368                      72
  590                DC    @06081630171714@   *  6                                 14  2382                      72
  591                DC    @31010204080808@   *  7                                 14  2396                      73
  592                DC    @14171714171714@   *  8                                 14  2410                      73
1                                                                                                         PAGE   11
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  593                DC    @14171715010212@   *  9                                 14  2424                      74
  594                DC    @14171921251714@   *  0                                 14  2438                      74
  595                DC    @00000000000000@   *  #                                 14  2452                      75
  596                DC    @00000000000000@   *  (AT SIGN)                         14  2466                      75
  597                DC    @30303000303030@   *  :                                 14  2480                      76
  598                DC    @00000000000000@   *  >                                 14  2494                      76
  599                DC    @00000000000000@   *  (TAPE MARK)                       14  2508                      77
  600         * 0 TO 15 ABOVE
  601                DC    @00000031000000@   *  -                                 14  2522                      77
  602                DC    @07020202021812@   *  J                                 14  2536                      78
  603                DC    @17182224221817@   *  K                                 14  2550                      78
  604                DC    @16161616161631@   *  L                                 14  2564                      79
  605                DC    @17272121171717@   *  M                                 14  2578                      79
  606                DC    @17172521191717@   *  N                                 14  2592                      80
  607                DC    @14171717171714@   *  O                                 14  2606                      80
  608                DC    @30171730161616@   *  P                                 14  2620                      81
  609                DC    @14171717212213@   *  Q                                 14  2634                      81
  610                DC    @30171730201817@   *  R                                 14  2648                      82
  611                DC    @00000000000000@   *  !                                 14  2662                      82
  612                DC    @00000000000000@   *  $                                 14  2676                      83
  613                DC    @00000000000000@   *  *                                 14  2690                      83
  614                DC    @00000000000000@   *  )                                 14  2704                      84
  615                DC    @00000000000000@   *  ;                                 14  2718                      84
  616                DC    @00000000000000@   *  (DELTA)                           14  2732                      85
  617         * 16 TO 31 ABOVE
  618                DC    @00000000000000@   *  (CENT)                            14  2746                      85
  619                DC    @00010204081600@   *  /                                 14  2760                      86
  620                DC    @15161614010130@   *  S                                 14  2774                      86
  621                DC    @31040404040404@   *  T                                 14  2788                      87
  622                DC    @17171717171714@   *  U                                 14  2802                      87
  623                DC    @17171717171004@   *  V                                 14  2816                      88
  624                DC    @17171721212110@   *  W                                 14  2830                      88
  625                DC    @17171004101717@   *  X                                 14  2844                      89
  626                DC    @17171710040404@   *  Y                                 14  2858                      89
  627                DC    @31010204081631@   *  Z                                 14  2872                      90
  628                DC    @00000000000000@   *  (REC MRK)                         14  2886                      90
  629                DC    @00000000120408@   *  ,                                 14  2900                      91
  630                DC    @00000000000000@   *  %                                 14  2914                      91
  631                DC    @00000000000000@   *  =                                 14  2928                      92
  632                DC    @00000000000000@   *  '                                 14  2942                      92
  633                DC    @00000000000000@   *  "                                 14  2956                      93
  634         * 32 TO 47 ABOVE
  635                DC    @00000000000000@   *  &                                 14  2970                      93
  636                DC    @14171717311717@   *  A                                 14  2984                      94
  637                DC    @30171730171730@   *  B                                 14  2998                      94
  638                DC    @14171616161714@   *  C                                 14  3012                      95
  639                DC    @24181717171824@   *  D                                 14  3026                      95
  640                DC    @31161630161631@   *  E                                 14  3040                      96
  641                DC    @31161630161616@   *  F                                 14  3054                      96
  642                DC    @14171623171715@   *  G                                 14  3068                      97
1                                                                                                         PAGE   12
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  643                DC    @17171731171717@   *  H                                 14  3082                      97
  644                DC    @14040404040414@   *  I                                 14  3096                      98
  645                DC    @00000000000000@   *  ?                                 14  3110                      98
  646                DC    @00000000000000@   *  .                                 14  3124                      99
  647                DC    @00000000000000@   *  (LOZGEN)                          14  3138                      99
  648                DC    @00000000000000@   *  (                                 14  3152                     100
  649                DC    @00000000000000@   *  <                                 14  3166                     100
  650                DC    @00000000000000@   *  (GRP MARK)                        14  3180                     101
  651         * 48 TO 63 ABOVE
  652                DCW   @123456789012345678901234567890@                        30  3210                     102
  653         PICKUP DCW   000                                                      3  3213                     102
  654                DCW   @START@                                                  5  3218                     102
  655         PATERN DA    25X3                                                        3219   3293              102
  656         * STOREAGE FOR CHARACTER INDEX NUMBERS
  681         PATNUM       1,3           * ELEMENT IN PATTERN ARRAY                    3221              FIELD
  682                DCW   @END@                                                    3  3296                     110
                     DCW   @000@                                                    3  3299              LIT    110
                     DCW   @A@                                                      1  3300              LIT    110
                     DCW   @J@                                                      1  3301              LIT    111
                     DCW   @Z@                                                      1  3302              LIT    111
                     DCW   @BANNER@                                                 6  3308              LIT    111
                     DCW   @Y@                                                      1  3309              LIT    111
                     DCW   @001@                                                    3  3312              LIT    111
                     DCW   @005@                                                    3  3315              LIT    111
                     DCW   @ @                                                      1  3316              LIT    111
                     DCW   @080@                                                    3  3319              LIT    112
                     DCW   @011@                                                    3  3322              LIT    112
                     DCW   @010@                                                    3  3325              LIT    112
                     DCW   @D@                                                      1  3326              LIT    112
                     DCW   @NOBODY     @                                           11  3337              LIT    112
                     DCW   @S@                                                      1  3338              LIT    112
                     DCW   @L@                                                      1  3339              LIT    112
                     DCW   @0@                                                      1  3340              LIT    113
                     DCW   @32@                                                     2  3342              LIT    113
                     DCW   @16@                                                     2  3344              LIT    113
                     DCW   @48@                                                     2  3346              LIT    113
                     DCW   @10@                                                     2  3348              LIT    113
                     DCW   @13@                                                     2  3350              LIT    113
                     DCW   @43@                                                     2  3352              LIT    113
                     DCW   @002@                                                    3  3355              LIT    114
                     DCW   @009@                                                    3  3358              LIT    114
                     DCW   @132@                                                    3  3361              LIT    114
                     DCW   @007@                                                    3  3364              LIT    114
                     DCW   @SHAY@                                                   4  3368              LIT    114
  683                END   START   * LAST CARD IN DECK, TRANSFER ADDRESS                     / 381 080                381
1                                                                                                         PAGE   13
0SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS

 .PRINT   0201: 0    .PUNCH   0101: 0    .READ    0001: 0    ACOLON   1276: 0    ACOMMA   1298: 0    ADASH    1287: 0
 AZERO    1265: 0    BANNER   0997: 0    BH       2083: 0    BIGLST   2077: 0    BITSEL   2149: 0    BITSUM   2070: 0
 BL       2087: 0    BLANKS   2234: 0    BNEXIT   0497: 0    BNMODE   1922: 0    CHRCNT   2073: 0    CKA      1190: 0
 CKAB     1206: 0    CKB      1198: 0    CODEA    2284: 0    CREDIT   1921: 0    DATE25   2184: 0    DOLSW    2126: 0
 DOUBLE   2100: 0    END      1254: 0    EOFC1    0506: 0    EOFC2    0518: 0    EOFC3    0530: 0    EOFC4    0538: 0
 EXIT     1762: 0    EXRED    1798: 0    FSTSP    1962: 0    L1       1527: 0    L2       1571: 0    L3       1578: 0
 L4       1621: 0    L5       1655: 0    L55      1682: 0    L555     1692: 0    L6       1704: 0    L7       1748: 0
 LAST     1925: 0    LIN1     0754: 0    LIN11    0898: 0    LIN1A    0795: 0    LIN2     0817: 0    LIN22    0935: 0
 LIN2A    0857: 0    LINE1    1937: 0    LINE2    1958: 0    LINE3    2259: 0    LINE4    2284: 0    LMINUS   2081: 0
 LOOP1    0602: 0    LOOP2    0610: 0    LOOP3    0661: 0    LOOP4    0673: 0    LOOP5    0680: 0    LOOPA    0713: 0
 LOOPB    0740: 0    LTDRK    1923: 0    MASK2    2111: 0    MIN1     1965: 0    NODATA   0891: 0    NONE     2093: 0
 NOZONE   2125: 0    NUM      2061: 0    NUMA     1247: 0    NZERO    2090: 0    ONE2     2124: 0    PATERN   3219: 0
 PATNUM   3221: 0    PC3      1309: 0    PC4      1418: 0    PC5      1471: 0    PCHAR    2107: 0    PCHAR2   2108: 0
 PCOL     2117: 0    PICKUP   3213: 0    PRINT1   1051: 0    PRINT2   1074: 0    PRINTS   1040: 0    PRINTX   1733: 0
 PRTX     1738: 0    READG    0498: 0    REV      0380: 0    SKIPTX   0993: 0    SP20     2147: 0    SPACE    2059: 0
 SPCNT    2127: 0    START    0381: 0    SUM      2064: 0    SUM2     2067: 0    TXLCNT   2099: 0    TXLIM    2096: 0
 WCHAR    2109: 0    WCOL     2103: 0    WORK     2045: 0    WORK1    1966: 0    WORK3    2114: 0    WROW     2106: 0
 WXX      2209: 0    X        1924: 0    X1       0089: 0    X1HOLD   2076: 0    X2       0094: 0    X3       0099: 0
 X4K      2058: 0    XCNT     2050: 0    XCNT2    2055: 0    ZA       1218: 0    ZAB      1240: 0    ZB       1229: 0
 ZONE     2060: 0

0UNREFERENCED SYMBOLS

 BH     BIGLST BITSUM BL     CHRCNT DOLSW  END    LIN2A  LMINUS MIN1   NONE   ONE2   PATERN PICKUP PRTX   SKIPTX SP20
 SPACE  SPCNT  TXLCNT TXLIM  WORK3  X      X4K    XCNT   XCNT2

Sample Guest Mode Input Deck

June 1, 2014
1234567890123 abcdefghijklmnop
 SHAY    IS       NICE
Shay EL Paddock
Stan Paddock
fRANK

jOE
Eof

Sample Guest Mode Printed Output


----------------------------

Sample Banner Mode Card Input

banner
DLABRAHAM
DLlINCOLN
SL
SLFour score and seven
SLyears ago our fathers
SLbrought forth on this
SLcontinent, a new
SLnation, conceived in
SLLiberty, and dedicated
SLto the proposition
SLthat all men are
SLcreated equal.
SL
SLNow we are engaged in
SLa great civil war,
SLtesting whether that
SLnation, or any nation
SLso conceived and so
SLdedicated, can long
SLendure. We are met on
SLa great battle-field
SLof that war. We have
SLcome to dedicate a
SLportion of that field,
SLas a final resting
SLplace for those who
SLhere gave their lives
SLthat that nation might
SLlive. It is altogether
SLfitting and proper
SLthat we should do
SLthis.
SL
SLBut, in a larger
SLsense, we can not
SLdedicate -- we can
SLnot consecrate --
SLwe can not hallow --
SLthis ground. The
SLbrave men, living and
SLdead, who struggled
SLhere, have consecrated
SLit, far above our poor
SLpower to add or
SLdetract.
SLThe world will little
SLnote, nor long
SLremember
SLwhat we say here, but
SLit can never forget
SLwhat they did here. It
SLis for us the living,
SLrather, to be
SLdedicated here to the
SLunfinished work which
SLthey who fought here
SLhave thus far so
SLnobly advanced. It is
SLrather for us to be
SLhere dedicated to the
SLgreat task remaining
SLbefore us -- that from
SLthese honored dead we
SLtake increased
SLdevotion to that cause
SLfor which they gave
SLthe last full measure
SLof devotion -- that we
SLhere highly resolve
SLthat these dead shall
SLnot have died in vain
SL-- that this nation,
SLunder God, shall have
SLa new birth of freedom
SL-- and that government
SLof the people, by the
SLpeople, for the
SLpeople, shall not
SLperish from the earth.
SL
SLAbraham Lincoln
SLNovember 19, 1863
SL
SL
SL
SL

Sample Banner Mode Printed Output


 AAA  BBBB  RRRR   AAA  H   H  AAA  M   M       L      III  N   N  CCC   OOO  L     N   N
A   A B   B R   R A   A H   H A   A MM MM       L       I   N   N C   C O   O L     N   N
A   A B   B R   R A   A H   H A   A M M M       L       I   NN  N C     O   O L     NN  N
A   A BBBB  RRRR  A   A HHHHH A   A M M M       L       I   N N N C     O   O L     N N N
AAAAA B   B R R   AAAAA H   H AAAAA M   M       L       I   N  NN C     O   O L     N  NN
A   A B   B R  R  A   A H   H A   A M   M       L       I   N   N C   C O   O L     N   N
A   A BBBB  R   R A   A H   H A   A M   M       LLLLL  III  N   N  CCC   OOO  LLLLL N   N

N   N  OOO  V   V EEEEE M   M BBBB  EEEEE RRRR          1    999                1    888    66  33333
N   N O   O V   V E     MM MM B   B E     R   R        11   9   9              11   8   8  6       3
NN  N O   O V   V E     M M M B   B E     R   R         1   9   9               1   8   8 6       3
N N N O   O V   V EEEE  M M M BBBB  EEEE  RRRR          1    9999               1    888  6666     3
N  NN O   O V   V E     M   M B   B E     R R           1       9  ,,           1   8   8 6   6     3
N   N O   O  V V  E     M   M B   B E     R  R          1      9    ,           1   8   8 6   6     3
N   N  OOO    V   EEEEE M   M BBBB  EEEEE R   R        111   99    ,           111   888   666   333




FFFFF  OOO  U   U RRRR         SSSS  CCC   OOO  RRRR  EEEEE        AAA  N   N DD           SSSS EEEEE V   V EEEEE N   N
F     O   O U   U R   R       S     C   C O   O R   R E           A   A N   N D  D        S     E     V   V E     N   N
F     O   O U   U R   R       S     C     O   O R   R E           A   A NN  N D   D       S     E     V   V E     NN  N
FFFF  O   O U   U RRRR         SSS  C     O   O RRRR  EEEE        A   A N N N D   D        SSS  EEEE  V   V EEEE  N N N
F     O   O U   U R R             S C     O   O R R   E           AAAAA N  NN D   D           S E     V   V E     N  NN
F     O   O U   U R  R            S C   C O   O R  R  E           A   A N   N D  D            S E      V V  E     N   N
F      OOO   UUU  R   R       SSSS   CCC   OOO  R   R EEEEE       A   A N   N DD          SSSS  EEEEE   V   EEEEE N   N

Y   Y EEEEE  AAA  RRRR   SSSS        AAA   GGG   OOO         OOO  U   U RRRR        FFFFF  AAA  TTTTT H   H EEEEE RRRR   SSSS
Y   Y E     A   A R   R S           A   A G   G O   O       O   O U   U R   R       F     A   A   T   H   H E     R   R S
Y   Y E     A   A R   R S           A   A G     O   O       O   O U   U R   R       F     A   A   T   H   H E     R   R S
 Y Y  EEEE  A   A RRRR   SSS        A   A G GGG O   O       O   O U   U RRRR        FFFF  A   A   T   HHHHH EEEE  RRRR   SSS
  Y   E     AAAAA R R       S       AAAAA G   G O   O       O   O U   U R R         F     AAAAA   T   H   H E     R R       S
  Y   E     A   A R  R      S       A   A G   G O   O       O   O U   U R  R        F     A   A   T   H   H E     R  R      S
  Y   EEEEE A   A R   R SSSS        A   A  GGGG  OOO         OOO   UUU  R   R       F     A   A   T   H   H EEEEE R   R SSSS

BBBB  RRRR   OOO  U   U  GGG  H   H TTTTT       FFFFF  OOO  RRRR  TTTTT H   H        OOO  N   N       TTTTT H   H  III   SSSS
B   B R   R O   O U   U G   G H   H   T         F     O   O R   R   T   H   H       O   O N   N         T   H   H   I   S
B   B R   R O   O U   U G     H   H   T         F     O   O R   R   T   H   H       O   O NN  N         T   H   H   I   S
BBBB  RRRR  O   O U   U G GGG HHHHH   T         FFFF  O   O RRRR    T   HHHHH       O   O N N N         T   HHHHH   I    SSS
B   B R R   O   O U   U G   G H   H   T         F     O   O R R     T   H   H       O   O N  NN         T   H   H   I       S
B   B R  R  O   O U   U G   G H   H   T         F     O   O R  R    T   H   H       O   O N   N         T   H   H   I       S
BBBB  R   R  OOO   UUU   GGGG H   H   T         F      OOO  R   R   T   H   H        OOO  N   N         T   H   H  III  SSSS

 CCC   OOO  N   N TTTTT  III  N   N EEEEE N   N TTTTT              AAA        N   N EEEEE W   W
C   C O   O N   N   T     I   N   N E     N   N   T               A   A       N   N E     W   W
C     O   O NN  N   T     I   NN  N E     NN  N   T               A   A       NN  N E     W   W
C     O   O N N N   T     I   N N N EEEE  N N N   T               A   A       N N N EEEE  W W W
C     O   O N  NN   T     I   N  NN E     N  NN   T    ,,         AAAAA       N  NN E     W W W
C   C O   O N   N   T     I   N   N E     N   N   T     ,         A   A       N   N E     W W W
 CCC   OOO  N   N   T    III  N   N EEEEE N   N   T    ,          A   A       N   N EEEEE  W W

N   N  AAA  TTTTT  III   OOO  N   N              CCC   OOO  N   N  CCC  EEEEE  III  V   V EEEEE DD           III  N   N
N   N A   A   T     I   O   O N   N             C   C O   O N   N C   C E       I   V   V E     D  D          I   N   N
NN  N A   A   T     I   O   O NN  N             C     O   O NN  N C     E       I   V   V E     D   D         I   NN  N
N N N A   A   T     I   O   O N N N             C     O   O N N N C     EEEE    I   V   V EEEE  D   D         I   N N N
N  NN AAAAA   T     I   O   O N  NN  ,,         C     O   O N  NN C     E       I   V   V E     D   D         I   N  NN
N   N A   A   T     I   O   O N   N   ,         C   C O   O N   N C   C E       I    V V  E     D  D          I   N   N
N   N A   A   T    III   OOO  N   N  ,           CCC   OOO  N   N  CCC  EEEEE  III    V   EEEEE DD           III  N   N

L      III  BBBB  EEEEE RRRR  TTTTT Y   Y              AAA  N   N DD          DD    EEEEE DD     III   CCC   AAA  TTTTT EEEEE DD
L       I   B   B E     R   R   T   Y   Y             A   A N   N D  D        D  D  E     D  D    I   C   C A   A   T   E     D  D
L       I   B   B E     R   R   T   Y   Y             A   A NN  N D   D       D   D E     D   D   I   C     A   A   T   E     D   D
L       I   BBBB  EEEE  RRRR    T    Y Y              A   A N N N D   D       D   D EEEE  D   D   I   C     A   A   T   EEEE  D   D
L       I   B   B E     R R     T     Y    ,,         AAAAA N  NN D   D       D   D E     D   D   I   C     AAAAA   T   E     D   D
L       I   B   B E     R  R    T     Y     ,         A   A N   N D  D        D  D  E     D  D    I   C   C A   A   T   E     D  D
LLLLL  III  BBBB  EEEEE R   R   T     Y    ,          A   A N   N DD          DD    EEEEE DD     III   CCC  A   A   T   EEEEE DD

TTTTT  OOO        TTTTT H   H EEEEE       PPPP  RRRR   OOO  PPPP   OOO   SSSS  III  TTTTT  III   OOO  N   N
  T   O   O         T   H   H E           P   P R   R O   O P   P O   O S       I     T     I   O   O N   N
  T   O   O         T   H   H E           P   P R   R O   O P   P O   O S       I     T     I   O   O NN  N
  T   O   O         T   HHHHH EEEE        PPPP  RRRR  O   O PPPP  O   O  SSS    I     T     I   O   O N N N
  T   O   O         T   H   H E           P     R R   O   O P     O   O     S   I     T     I   O   O N  NN
  T   O   O         T   H   H E           P     R  R  O   O P     O   O     S   I     T     I   O   O N   N
  T    OOO          T   H   H EEEEE       P     R   R  OOO  P      OOO  SSSS   III    T    III   OOO  N   N

TTTTT H   H  AAA  TTTTT        AAA  L     L           M   M EEEEE N   N        AAA  RRRR  EEEEE
  T   H   H A   A   T         A   A L     L           MM MM E     N   N       A   A R   R E
  T   H   H A   A   T         A   A L     L           M M M E     NN  N       A   A R   R E
  T   HHHHH A   A   T         A   A L     L           M M M EEEE  N N N       A   A RRRR  EEEE
  T   H   H AAAAA   T         AAAAA L     L           M   M E     N  NN       AAAAA R R   E
  T   H   H A   A   T         A   A L     L           M   M E     N   N       A   A R  R  E
  T   H   H A   A   T         A   A LLLLL LLLLL       M   M EEEEE N   N       A   A R   R EEEEE

 CCC  RRRR  EEEEE  AAA  TTTTT EEEEE DD          EEEEE  QQQ  U   U  AAA  L
C   C R   R E     A   A   T   E     D  D        E     Q   Q U   U A   A L
C     R   R E     A   A   T   E     D   D       E     Q   Q U   U A   A L
C     RRRR  EEEE  A   A   T   EEEE  D   D       EEEE  Q   Q U   U A   A L
C     R R   E     AAAAA   T   E     D   D       E     Q Q Q U   U AAAAA L
C   C R  R  E     A   A   T   E     D  D        E     Q QQ  U   U A   A L
 CCC  R   R EEEEE A   A   T   EEEEE DD          EEEEE  QQ Q  UUU  A   A LLLLL









N   N  OOO  W   W       W   W EEEEE        AAA  RRRR  EEEEE       EEEEE N   N  GGG   AAA   GGG  EEEEE DD           III  N   N
N   N O   O W   W       W   W E           A   A R   R E           E     N   N G   G A   A G   G E     D  D          I   N   N
NN  N O   O W   W       W   W E           A   A R   R E           E     NN  N G     A   A G     E     D   D         I   NN  N
N N N O   O W W W       W W W EEEE        A   A RRRR  EEEE        EEEE  N N N G GGG A   A G GGG EEEE  D   D         I   N N N
N  NN O   O W W W       W W W E           AAAAA R R   E           E     N  NN G   G AAAAA G   G E     D   D         I   N  NN
N   N O   O W W W       W W W E           A   A R  R  E           E     N   N G   G A   A G   G E     D  D          I   N   N
N   N  OOO   W W         W W  EEEEE       A   A R   R EEEEE       EEEEE N   N  GGGG A   A  GGGG EEEEE DD           III  N   N

 AAA         GGG  RRRR  EEEEE  AAA  TTTTT        CCC   III  V   V  III  L           W   W  AAA  RRRR
A   A       G   G R   R E     A   A   T         C   C   I   V   V   I   L           W   W A   A R   R
A   A       G     R   R E     A   A   T         C       I   V   V   I   L           W   W A   A R   R
A   A       G GGG RRRR  EEEE  A   A   T         C       I   V   V   I   L           W W W A   A RRRR
AAAAA       G   G R R   E     AAAAA   T         C       I   V   V   I   L           W W W AAAAA R R    ,,
A   A       G   G R  R  E     A   A   T         C   C   I    V V    I   L           W W W A   A R  R    ,
A   A        GGGG R   R EEEEE A   A   T          CCC   III    V    III  LLLLL        W W  A   A R   R  ,

TTTTT EEEEE  SSSS TTTTT  III  N   N  GGG        W   W H   H EEEEE TTTTT H   H EEEEE RRRR        TTTTT H   H  AAA  TTTTT
  T   E     S       T     I   N   N G   G       W   W H   H E       T   H   H E     R   R         T   H   H A   A   T
  T   E     S       T     I   NN  N G           W   W H   H E       T   H   H E     R   R         T   H   H A   A   T
  T   EEEE   SSS    T     I   N N N G GGG       W W W HHHHH EEEE    T   HHHHH EEEE  RRRR          T   HHHHH A   A   T
  T   E         S   T     I   N  NN G   G       W W W H   H E       T   H   H E     R R           T   H   H AAAAA   T
  T   E         S   T     I   N   N G   G       W W W H   H E       T   H   H E     R  R          T   H   H A   A   T
  T   EEEEE SSSS    T    III  N   N  GGGG        W W  H   H EEEEE   T   H   H EEEEE R   R         T   H   H A   A   T

N   N  AAA  TTTTT  III   OOO  N   N              OOO  RRRR         AAA  N   N Y   Y       N   N  AAA  TTTTT  III   OOO  N   N
N   N A   A   T     I   O   O N   N             O   O R   R       A   A N   N Y   Y       N   N A   A   T     I   O   O N   N
NN  N A   A   T     I   O   O NN  N             O   O R   R       A   A NN  N Y   Y       NN  N A   A   T     I   O   O NN  N
N N N A   A   T     I   O   O N N N             O   O RRRR        A   A N N N  Y Y        N N N A   A   T     I   O   O N N N
N  NN AAAAA   T     I   O   O N  NN  ,,         O   O R R         AAAAA N  NN   Y         N  NN AAAAA   T     I   O   O N  NN
N   N A   A   T     I   O   O N   N   ,         O   O R  R        A   A N   N   Y         N   N A   A   T     I   O   O N   N
N   N A   A   T    III   OOO  N   N  ,           OOO  R   R       A   A N   N   Y         N   N A   A   T    III   OOO  N   N

 SSSS  OOO         CCC   OOO  N   N  CCC  EEEEE  III  V   V EEEEE DD           AAA  N   N DD           SSSS  OOO
S     O   O       C   C O   O N   N C   C E       I   V   V E     D  D        A   A N   N D  D        S     O   O
S     O   O       C     O   O NN  N C     E       I   V   V E     D   D       A   A NN  N D   D       S     O   O
 SSS  O   O       C     O   O N N N C     EEEE    I   V   V EEEE  D   D       A   A N N N D   D        SSS  O   O
    S O   O       C     O   O N  NN C     E       I   V   V E     D   D       AAAAA N  NN D   D           S O   O
    S O   O       C   C O   O N   N C   C E       I    V V  E     D  D        A   A N   N D  D            S O   O
SSSS   OOO         CCC   OOO  N   N  CCC  EEEEE  III    V   EEEEE DD          A   A N   N DD          SSSS   OOO

DD    EEEEE DD     III   CCC   AAA  TTTTT EEEEE DD                 CCC   AAA  N   N       L      OOO  N   N  GGG
D  D  E     D  D    I   C   C A   A   T   E     D  D              C   C A   A N   N       L     O   O N   N G   G
D   D E     D   D   I   C     A   A   T   E     D   D             C     A   A NN  N       L     O   O NN  N G
D   D EEEE  D   D   I   C     A   A   T   EEEE  D   D             C     A   A N N N       L     O   O N N N G GGG
D   D E     D   D   I   C     AAAAA   T   E     D   D  ,,         C     AAAAA N  NN       L     O   O N  NN G   G
D  D  E     D  D    I   C   C A   A   T   E     D  D    ,         C   C A   A N   N       L     O   O N   N G   G
DD    EEEEE DD     III   CCC  A   A   T   EEEEE DD     ,           CCC  A   A N   N       LLLLL  OOO  N   N  GGGG

EEEEE N   N DD    U   U RRRR  EEEEE             W   W EEEEE        AAA  RRRR  EEEEE       M   M EEEEE TTTTT        OOO  N   N
E     N   N D  D  U   U R   R E                 W   W E           A   A R   R E           MM MM E       T         O   O N   N
E     NN  N D   D U   U R   R E                 W   W E           A   A R   R E           M M M E       T         O   O NN  N
EEEE  N N N D   D U   U RRRR  EEEE              W W W EEEE        A   A RRRR  EEEE        M M M EEEE    T         O   O N N N
E     N  NN D   D U   U R R   E                 W W W E           AAAAA R R   E           M   M E       T         O   O N  NN
E     N   N D  D  U   U R  R  E                 W W W E           A   A R  R  E           M   M E       T         O   O N   N
EEEEE N   N DD     UUU  R   R EEEEE              W W  EEEEE       A   A R   R EEEEE       M   M EEEEE   T          OOO  N   N

 AAA         GGG  RRRR  EEEEE  AAA  TTTTT       BBBB   AAA  TTTTT TTTTT L     EEEEE       FFFFF  III  EEEEE L     DD
A   A       G   G R   R E     A   A   T         B   B A   A   T     T   L     E           F       I   E     L     D  D
A   A       G     R   R E     A   A   T         B   B A   A   T     T   L     E           F       I   E     L     D   D
A   A       G GGG RRRR  EEEE  A   A   T         BBBB  A   A   T     T   L     EEEE  ----- FFFF    I   EEEE  L     D   D
AAAAA       G   G R R   E     AAAAA   T         B   B AAAAA   T     T   L     E           F       I   E     L     D   D
A   A       G   G R  R  E     A   A   T         B   B A   A   T     T   L     E           F       I   E     L     D  D
A   A        GGGG R   R EEEEE A   A   T         BBBB  A   A   T     T   LLLLL EEEEE       F      III  EEEEE LLLLL DD

 OOO  FFFFF       TTTTT H   H  AAA  TTTTT       W   W  AAA  RRRR              W   W EEEEE       H   H  AAA  V   V EEEEE
O   O F             T   H   H A   A   T         W   W A   A R   R             W   W E           H   H A   A V   V E
O   O F             T   H   H A   A   T         W   W A   A R   R             W   W E           H   H A   A V   V E
O   O FFFF          T   HHHHH A   A   T         W W W A   A RRRR              W W W EEEE        HHHHH A   A V   V EEEE
O   O F             T   H   H AAAAA   T         W W W AAAAA R R               W W W E           H   H AAAAA V   V E
O   O F             T   H   H A   A   T         W W W A   A R  R              W W W E           H   H A   A  V V  E
 OOO  F             T   H   H A   A   T          W W  A   A R   R              W W  EEEEE       H   H A   A   V   EEEEE

 CCC   OOO  M   M EEEEE       TTTTT  OOO        DD    EEEEE DD     III   CCC   AAA  TTTTT EEEEE        AAA
C   C O   O MM MM E             T   O   O       D  D  E     D  D    I   C   C A   A   T   E           A   A
C     O   O M M M E             T   O   O       D   D E     D   D   I   C     A   A   T   E           A   A
C     O   O M M M EEEE          T   O   O       D   D EEEE  D   D   I   C     A   A   T   EEEE        A   A
C     O   O M   M E             T   O   O       D   D E     D   D   I   C     AAAAA   T   E           AAAAA
C   C O   O M   M E             T   O   O       D  D  E     D  D    I   C   C A   A   T   E           A   A
 CCC   OOO  M   M EEEEE         T    OOO        DD    EEEEE DD     III   CCC  A   A   T   EEEEE       A   A

PPPP   OOO  RRRR  TTTTT  III   OOO  N   N        OOO  FFFFF       TTTTT H   H  AAA  TTTTT       FFFFF  III  EEEEE L     DD
P   P O   O R   R   T     I   O   O N   N       O   O F             T   H   H A   A   T         F       I   E     L     D  D
P   P O   O R   R   T     I   O   O NN  N       O   O F             T   H   H A   A   T         F       I   E     L     D   D
PPPP  O   O RRRR    T     I   O   O N N N       O   O FFFF          T   HHHHH A   A   T         FFFF    I   EEEE  L     D   D
P     O   O R R     T     I   O   O N  NN       O   O F             T   H   H AAAAA   T         F       I   E     L     D   D  ,,
P     O   O R  R    T     I   O   O N   N       O   O F             T   H   H A   A   T         F       I   E     L     D  D    ,
P      OOO  R   R   T    III   OOO  N   N        OOO  F             T   H   H A   A   T         F      III  EEEEE LLLLL DD     ,

 AAA   SSSS        AAA        FFFFF  III  N   N  AAA  L           RRRR  EEEEE  SSSS TTTTT  III  N   N  GGG
A   A S           A   A       F       I   N   N A   A L           R   R E     S       T     I   N   N G   G
A   A S           A   A       F       I   NN  N A   A L           R   R E     S       T     I   NN  N G
A   A  SSS        A   A       FFFF    I   N N N A   A L           RRRR  EEEE   SSS    T     I   N N N G GGG
AAAAA     S       AAAAA       F       I   N  NN AAAAA L           R R   E         S   T     I   N  NN G   G
A   A     S       A   A       F       I   N   N A   A L           R  R  E         S   T     I   N   N G   G
A   A SSSS        A   A       F      III  N   N A   A LLLLL       R   R EEEEE SSSS    T    III  N   N  GGGG

PPPP  L      AAA   CCC  EEEEE       FFFFF  OOO  RRRR        TTTTT H   H  OOO   SSSS EEEEE       W   W H   H  OOO
P   P L     A   A C   C E           F     O   O R   R         T   H   H O   O S     E           W   W H   H O   O
P   P L     A   A C     E           F     O   O R   R         T   H   H O   O S     E           W   W H   H O   O
PPPP  L     A   A C     EEEE        FFFF  O   O RRRR          T   HHHHH O   O  SSS  EEEE        W W W HHHHH O   O
P     L     AAAAA C     E           F     O   O R R           T   H   H O   O     S E           W W W H   H O   O
P     L     A   A C   C E           F     O   O R  R          T   H   H O   O     S E           W W W H   H O   O
P     LLLLL A   A  CCC  EEEEE       F      OOO  R   R         T   H   H  OOO  SSSS  EEEEE        W W  H   H  OOO

H   H EEEEE RRRR  EEEEE        GGG   AAA  V   V EEEEE       TTTTT H   H EEEEE  III  RRRR        L      III  V   V EEEEE  SSSS
H   H E     R   R E           G   G A   A V   V E             T   H   H E       I   R   R       L       I   V   V E     S
H   H E     R   R E           G     A   A V   V E             T   H   H E       I   R   R       L       I   V   V E     S
HHHHH EEEE  RRRR  EEEE        G GGG A   A V   V EEEE          T   HHHHH EEEE    I   RRRR        L       I   V   V EEEE   SSS
H   H E     R R   E           G   G AAAAA V   V E             T   H   H E       I   R R         L       I   V   V E         S
H   H E     R  R  E           G   G A   A  V V  E             T   H   H E       I   R  R        L       I    V V  E         S
H   H EEEEE R   R EEEEE        GGGG A   A   V   EEEEE         T   H   H EEEEE  III  R   R       LLLLL  III    V   EEEEE SSSS

TTTTT H   H  AAA  TTTTT       TTTTT H   H  AAA  TTTTT       N   N  AAA  TTTTT  III   OOO  N   N       M   M  III   GGG  H   H TTTTT
  T   H   H A   A   T           T   H   H A   A   T         N   N A   A   T     I   O   O N   N       MM MM   I   G   G H   H   T
  T   H   H A   A   T           T   H   H A   A   T         NN  N A   A   T     I   O   O NN  N       M M M   I   G     H   H   T
  T   HHHHH A   A   T           T   HHHHH A   A   T         N N N A   A   T     I   O   O N N N       M M M   I   G GGG HHHHH   T
  T   H   H AAAAA   T           T   H   H AAAAA   T         N  NN AAAAA   T     I   O   O N  NN       M   M   I   G   G H   H   T
  T   H   H A   A   T           T   H   H A   A   T         N   N A   A   T     I   O   O N   N       M   M   I   G   G H   H   T
  T   H   H A   A   T           T   H   H A   A   T         N   N A   A   T    III   OOO  N   N       M   M  III   GGGG H   H   T

L      III  V   V EEEEE              III  TTTTT        III   SSSS        AAA  L     TTTTT  OOO   GGG  EEEEE TTTTT H   H EEEEE RRRR
L       I   V   V E                   I     T           I   S           A   A L       T   O   O G   G E       T   H   H E     R   R
L       I   V   V E                   I     T           I   S           A   A L       T   O   O G     E       T   H   H E     R   R
L       I   V   V EEEE                I     T           I    SSS        A   A L       T   O   O G GGG EEEE    T   HHHHH EEEE  RRRR
L       I   V   V E                   I     T           I       S       AAAAA L       T   O   O G   G E       T   H   H E     R R
L       I    V V  E                   I     T           I       S       A   A L       T   O   O G   G E       T   H   H E     R  R
LLLLL  III    V   EEEEE              III    T          III  SSSS        A   A LLLLL   T    OOO   GGGG EEEEE   T   H   H EEEEE R   R

FFFFF  III  TTTTT TTTTT  III  N   N  GGG         AAA  N   N DD          PPPP  RRRR   OOO  PPPP  EEEEE RRRR
F       I     T     T     I   N   N G   G       A   A N   N D  D        P   P R   R O   O P   P E     R   R
F       I     T     T     I   NN  N G           A   A NN  N D   D       P   P R   R O   O P   P E     R   R
FFFF    I     T     T     I   N N N G GGG       A   A N N N D   D       PPPP  RRRR  O   O PPPP  EEEE  RRRR
F       I     T     T     I   N  NN G   G       AAAAA N  NN D   D       P     R R   O   O P     E     R R
F       I     T     T     I   N   N G   G       A   A N   N D  D        P     R  R  O   O P     E     R  R
F      III    T     T    III  N   N  GGGG       A   A N   N DD          P     R   R  OOO  P     EEEEE R   R

TTTTT H   H  AAA  TTTTT       W   W EEEEE        SSSS H   H  OOO  U   U L     DD          DD     OOO
  T   H   H A   A   T         W   W E           S     H   H O   O U   U L     D  D        D  D  O   O
  T   H   H A   A   T         W   W E           S     H   H O   O U   U L     D   D       D   D O   O
  T   HHHHH A   A   T         W W W EEEE         SSS  HHHHH O   O U   U L     D   D       D   D O   O
  T   H   H AAAAA   T         W W W E               S H   H O   O U   U L     D   D       D   D O   O
  T   H   H A   A   T         W W W E               S H   H O   O U   U L     D  D        D  D  O   O
  T   H   H A   A   T          W W  EEEEE       SSSS  H   H  OOO   UUU  LLLLL DD          DD     OOO

TTTTT H   H  III   SSSS
  T   H   H   I   S
  T   H   H   I   S
  T   HHHHH   I    SSS
  T   H   H   I       S
  T   H   H   I       S
  T   H   H  III  SSSS









BBBB  U   U TTTTT              III  N   N        AAA        L      AAA  RRRR   GGG  EEEEE RRRR
B   B U   U   T                 I   N   N       A   A       L     A   A R   R G   G E     R   R
B   B U   U   T                 I   NN  N       A   A       L     A   A R   R G     E     R   R
BBBB  U   U   T                 I   N N N       A   A       L     A   A RRRR  G GGG EEEE  RRRR
B   B U   U   T    ,,           I   N  NN       AAAAA       L     AAAAA R R   G   G E     R R
B   B U   U   T     ,           I   N   N       A   A       L     A   A R  R  G   G E     R  R
BBBB   UUU    T    ,           III  N   N       A   A       LLLLL A   A R   R  GGGG EEEEE R   R

 SSSS EEEEE N   N  SSSS EEEEE             W   W EEEEE        CCC   AAA  N   N       N   N  OOO  TTTTT
S     E     N   N S     E                 W   W E           C   C A   A N   N       N   N O   O   T
S     E     NN  N S     E                 W   W E           C     A   A NN  N       NN  N O   O   T
 SSS  EEEE  N N N  SSS  EEEE              W W W EEEE        C     A   A N N N       N N N O   O   T
    S E     N  NN     S E      ,,         W W W E           C     AAAAA N  NN       N  NN O   O   T
    S E     N   N     S E       ,         W W W E           C   C A   A N   N       N   N O   O   T
SSSS  EEEEE N   N SSSS  EEEEE  ,           W W  EEEEE        CCC  A   A N   N       N   N  OOO    T

DD    EEEEE DD     III   CCC   AAA  TTTTT EEEEE                         W   W EEEEE        CCC   AAA  N   N
D  D  E     D  D    I   C   C A   A   T   E                             W   W E           C   C A   A N   N
D   D E     D   D   I   C     A   A   T   E                             W   W E           C     A   A NN  N
D   D EEEE  D   D   I   C     A   A   T   EEEE        ----- -----       W W W EEEE        C     A   A N N N
D   D E     D   D   I   C     AAAAA   T   E                             W W W E           C     AAAAA N  NN
D  D  E     D  D    I   C   C A   A   T   E                             W W W E           C   C A   A N   N
DD    EEEEE DD     III   CCC  A   A   T   EEEEE                          W W  EEEEE        CCC  A   A N   N

N   N  OOO  TTTTT        CCC   OOO  N   N  SSSS EEEEE  CCC  RRRR   AAA  TTTTT EEEEE
N   N O   O   T         C   C O   O N   N S     E     C   C R   R A   A   T   E
NN  N O   O   T         C     O   O NN  N S     E     C     R   R A   A   T   E
N N N O   O   T         C     O   O N N N  SSS  EEEE  C     RRRR  A   A   T   EEEE        ----- -----
N  NN O   O   T         C     O   O N  NN     S E     C     R R   AAAAA   T   E
N   N O   O   T         C   C O   O N   N     S E     C   C R  R  A   A   T   E
N   N  OOO    T          CCC   OOO  N   N SSSS  EEEEE  CCC  R   R A   A   T   EEEEE

W   W EEEEE        CCC   AAA  N   N       N   N  OOO  TTTTT       H   H  AAA  L     L      OOO  W   W
W   W E           C   C A   A N   N       N   N O   O   T         H   H A   A L     L     O   O W   W
W   W E           C     A   A NN  N       NN  N O   O   T         H   H A   A L     L     O   O W   W
W W W EEEE        C     A   A N N N       N N N O   O   T         HHHHH A   A L     L     O   O W W W       ----- -----
W W W E           C     AAAAA N  NN       N  NN O   O   T         H   H AAAAA L     L     O   O W W W
W W W E           C   C A   A N   N       N   N O   O   T         H   H A   A L     L     O   O W W W
 W W  EEEEE        CCC  A   A N   N       N   N  OOO    T         H   H A   A LLLLL LLLLL  OOO   W W

TTTTT H   H  III   SSSS        GGG  RRRR   OOO  U   U N   N DD                TTTTT H   H EEEEE
  T   H   H   I   S           G   G R   R O   O U   U N   N D  D                T   H   H E
  T   H   H   I   S           G     R   R O   O U   U NN  N D   D               T   H   H E
  T   HHHHH   I    SSS        G GGG RRRR  O   O U   U N N N D   D               T   HHHHH EEEE
  T   H   H   I       S       G   G R R   O   O U   U N  NN D   D               T   H   H E
  T   H   H   I       S       G   G R  R  O   O U   U N   N D  D                T   H   H E
  T   H   H  III  SSSS         GGGG R   R  OOO   UUU  N   N DD                  T   H   H EEEEE

BBBB  RRRR   AAA  V   V EEEEE       M   M EEEEE N   N             L      III  V   V  III  N   N  GGG         AAA  N   N DD
B   B R   R A   A V   V E           MM MM E     N   N             L       I   V   V   I   N   N G   G       A   A N   N D  D
B   B R   R A   A V   V E           M M M E     NN  N             L       I   V   V   I   NN  N G           A   A NN  N D   D
BBBB  RRRR  A   A V   V EEEE        M M M EEEE  N N N             L       I   V   V   I   N N N G GGG       A   A N N N D   D
B   B R R   AAAAA V   V E           M   M E     N  NN  ,,         L       I   V   V   I   N  NN G   G       AAAAA N  NN D   D
B   B R  R  A   A  V V  E           M   M E     N   N   ,         L       I    V V    I   N   N G   G       A   A N   N D  D
BBBB  R   R A   A   V   EEEEE       M   M EEEEE N   N  ,          LLLLL  III    V    III  N   N  GGGG       A   A N   N DD

DD    EEEEE  AAA  DD                W   W H   H  OOO         SSSS TTTTT RRRR  U   U  GGG   GGG  L     EEEEE DD
D  D  E     A   A D  D              W   W H   H O   O       S       T   R   R U   U G   G G   G L     E     D  D
D   D E     A   A D   D             W   W H   H O   O       S       T   R   R U   U G     G     L     E     D   D
D   D EEEE  A   A D   D             W W W HHHHH O   O        SSS    T   RRRR  U   U G GGG G GGG L     EEEE  D   D
D   D E     AAAAA D   D  ,,         W W W H   H O   O           S   T   R R   U   U G   G G   G L     E     D   D
D  D  E     A   A D  D    ,         W W W H   H O   O           S   T   R  R  U   U G   G G   G L     E     D  D
DD    EEEEE A   A DD     ,           W W  H   H  OOO        SSSS    T   R   R  UUU   GGGG  GGGG LLLLL EEEEE DD

H   H EEEEE RRRR  EEEEE             H   H  AAA  V   V EEEEE        CCC   OOO  N   N  SSSS EEEEE  CCC  RRRR   AAA  TTTTT EEEEE DD
H   H E     R   R E                 H   H A   A V   V E           C   C O   O N   N S     E     C   C R   R A   A   T   E     D  D
H   H E     R   R E                 H   H A   A V   V E           C     O   O NN  N S     E     C     R   R A   A   T   E     D   D
HHHHH EEEE  RRRR  EEEE              HHHHH A   A V   V EEEE        C     O   O N N N  SSS  EEEE  C     RRRR  A   A   T   EEEE  D   D
H   H E     R R   E      ,,         H   H AAAAA V   V E           C     O   O N  NN     S E     C     R R   AAAAA   T   E     D   D
H   H E     R  R  E       ,         H   H A   A  V V  E           C   C O   O N   N     S E     C   C R  R  A   A   T   E     D  D
H   H EEEEE R   R EEEEE  ,          H   H A   A   V   EEEEE        CCC   OOO  N   N SSSS  EEEEE  CCC  R   R A   A   T   EEEEE DD

 III  TTTTT             FFFFF  AAA  RRRR         AAA  BBBB   OOO  V   V EEEEE        OOO  U   U RRRR        PPPP   OOO   OOO  RRRR
  I     T               F     A   A R   R       A   A B   B O   O V   V E           O   O U   U R   R       P   P O   O O   O R   R
  I     T               F     A   A R   R       A   A B   B O   O V   V E           O   O U   U R   R       P   P O   O O   O R   R
  I     T               FFFF  A   A RRRR        A   A BBBB  O   O V   V EEEE        O   O U   U RRRR        PPPP  O   O O   O RRRR
  I     T    ,,         F     AAAAA R R         AAAAA B   B O   O V   V E           O   O U   U R R         P     O   O O   O R R
  I     T     ,         F     A   A R  R        A   A B   B O   O  V V  E           O   O U   U R  R        P     O   O O   O R  R
 III    T    ,          F     A   A R   R       A   A BBBB   OOO    V   EEEEE        OOO   UUU  R   R       P      OOO   OOO  R   R

PPPP   OOO  W   W EEEEE RRRR        TTTTT  OOO         AAA  DD    DD           OOO  RRRR
P   P O   O W   W E     R   R         T   O   O       A   A D  D  D  D        O   O R   R
P   P O   O W   W E     R   R         T   O   O       A   A D   D D   D       O   O R   R
PPPP  O   O W W W EEEE  RRRR          T   O   O       A   A D   D D   D       O   O RRRR
P     O   O W W W E     R R           T   O   O       AAAAA D   D D   D       O   O R R
P     O   O W W W E     R  R          T   O   O       A   A D  D  D  D        O   O R  R
P      OOO   W W  EEEEE R   R         T    OOO        A   A DD    DD           OOO  R   R

DD    EEEEE TTTTT RRRR   AAA   CCC  TTTTT
D  D  E       T   R   R A   A C   C   T
D   D E       T   R   R A   A C       T
D   D EEEE    T   RRRR  A   A C       T
D   D E       T   R R   AAAAA C       T
D  D  E       T   R  R  A   A C   C   T
DD    EEEEE   T   R   R A   A  CCC    T

TTTTT H   H EEEEE       W   W  OOO  RRRR  L     DD          W   W  III  L     L           L      III  TTTTT TTTTT L     EEEEE
  T   H   H E           W   W O   O R   R L     D  D        W   W   I   L     L           L       I     T     T   L     E
  T   H   H E           W   W O   O R   R L     D   D       W   W   I   L     L           L       I     T     T   L     E
  T   HHHHH EEEE        W W W O   O RRRR  L     D   D       W W W   I   L     L           L       I     T     T   L     EEEE
  T   H   H E           W W W O   O R R   L     D   D       W W W   I   L     L           L       I     T     T   L     E
  T   H   H E           W W W O   O R  R  L     D  D        W W W   I   L     L           L       I     T     T   L     E
  T   H   H EEEEE        W W   OOO  R   R LLLLL DD           W W   III  LLLLL LLLLL       LLLLL  III    T     T   LLLLL EEEEE

N   N  OOO  TTTTT EEEEE             N   N  OOO  RRRR        L      OOO  N   N  GGG
N   N O   O   T   E                 N   N O   O R   R       L     O   O N   N G   G
NN  N O   O   T   E                 NN  N O   O R   R       L     O   O NN  N G
N N N O   O   T   EEEE              N N N O   O RRRR        L     O   O N N N G GGG
N  NN O   O   T   E      ,,         N  NN O   O R R         L     O   O N  NN G   G
N   N O   O   T   E       ,         N   N O   O R  R        L     O   O N   N G   G
N   N  OOO    T   EEEEE  ,          N   N  OOO  R   R       LLLLL  OOO  N   N  GGGG

RRRR  EEEEE M   M EEEEE M   M BBBB  EEEEE RRRR
R   R E     MM MM E     MM MM B   B E     R   R
R   R E     M M M E     M M M B   B E     R   R
RRRR  EEEE  M M M EEEE  M M M BBBB  EEEE  RRRR
R R   E     M   M E     M   M B   B E     R R
R  R  E     M   M E     M   M B   B E     R  R
R   R EEEEE M   M EEEEE M   M BBBB  EEEEE R   R

W   W H   H  AAA  TTTTT       W   W EEEEE        SSSS  AAA  Y   Y       H   H EEEEE RRRR  EEEEE             BBBB  U   U TTTTT
W   W H   H A   A   T         W   W E           S     A   A Y   Y       H   H E     R   R E                 B   B U   U   T
W   W H   H A   A   T         W   W E           S     A   A Y   Y       H   H E     R   R E                 B   B U   U   T
W W W HHHHH A   A   T         W W W EEEE         SSS  A   A  Y Y        HHHHH EEEE  RRRR  EEEE              BBBB  U   U   T
W W W H   H AAAAA   T         W W W E               S AAAAA   Y         H   H E     R R   E      ,,         B   B U   U   T
W W W H   H A   A   T         W W W E               S A   A   Y         H   H E     R  R  E       ,         B   B U   U   T
 W W  H   H A   A   T          W W  EEEEE       SSSS  A   A   Y         H   H EEEEE R   R EEEEE  ,          BBBB   UUU    T

 III  TTTTT        CCC   AAA  N   N       N   N EEEEE V   V EEEEE RRRR        FFFFF  OOO  RRRR   GGG  EEEEE TTTTT
  I     T         C   C A   A N   N       N   N E     V   V E     R   R       F     O   O R   R G   G E       T
  I     T         C     A   A NN  N       NN  N E     V   V E     R   R       F     O   O R   R G     E       T
  I     T         C     A   A N N N       N N N EEEE  V   V EEEE  RRRR        FFFF  O   O RRRR  G GGG EEEE    T
  I     T         C     AAAAA N  NN       N  NN E     V   V E     R R         F     O   O R R   G   G E       T
  I     T         C   C A   A N   N       N   N E      V V  E     R  R        F     O   O R  R  G   G E       T
 III    T          CCC  A   A N   N       N   N EEEEE   V   EEEEE R   R       F      OOO  R   R  GGGG EEEEE   T

W   W H   H  AAA  TTTTT       TTTTT H   H EEEEE Y   Y       DD     III  DD          H   H EEEEE RRRR  EEEEE              III  TTTTT
W   W H   H A   A   T           T   H   H E     Y   Y       D  D    I   D  D        H   H E     R   R E                   I     T
W   W H   H A   A   T           T   H   H E     Y   Y       D   D   I   D   D       H   H E     R   R E                   I     T
W W W HHHHH A   A   T           T   HHHHH EEEE   Y Y        D   D   I   D   D       HHHHH EEEE  RRRR  EEEE                I     T
W W W H   H AAAAA   T           T   H   H E       Y         D   D   I   D   D       H   H E     R R   E                   I     T
W W W H   H A   A   T           T   H   H E       Y         D  D    I   D  D        H   H E     R  R  E                   I     T
 W W  H   H A   A   T           T   H   H EEEEE   Y         DD     III  DD          H   H EEEEE R   R EEEEE              III    T

 III   SSSS       FFFFF  OOO  RRRR        U   U  SSSS       TTTTT H   H EEEEE       L      III  V   V  III  N   N  GGG
  I   S           F     O   O R   R       U   U S             T   H   H E           L       I   V   V   I   N   N G   G
  I   S           F     O   O R   R       U   U S             T   H   H E           L       I   V   V   I   NN  N G
  I    SSS        FFFF  O   O RRRR        U   U  SSS          T   HHHHH EEEE        L       I   V   V   I   N N N G GGG
  I       S       F     O   O R R         U   U     S         T   H   H E           L       I   V   V   I   N  NN G   G  ,,
  I       S       F     O   O R  R        U   U     S         T   H   H E           L       I    V V    I   N   N G   G   ,
 III  SSSS        F      OOO  R   R        UUU  SSSS          T   H   H EEEEE       LLLLL  III    V    III  N   N  GGGG  ,

RRRR   AAA  TTTTT H   H EEEEE RRRR              TTTTT  OOO        BBBB  EEEEE
R   R A   A   T   H   H E     R   R               T   O   O       B   B E
R   R A   A   T   H   H E     R   R               T   O   O       B   B E
RRRR  A   A   T   HHHHH EEEE  RRRR                T   O   O       BBBB  EEEE
R R   AAAAA   T   H   H E     R R    ,,           T   O   O       B   B E
R  R  A   A   T   H   H E     R  R    ,           T   O   O       B   B E
R   R A   A   T   H   H EEEEE R   R  ,            T    OOO        BBBB  EEEEE

DD    EEEEE DD     III   CCC   AAA  TTTTT EEEEE DD          H   H EEEEE RRRR  EEEEE       TTTTT  OOO        TTTTT H   H EEEEE
D  D  E     D  D    I   C   C A   A   T   E     D  D        H   H E     R   R E             T   O   O         T   H   H E
D   D E     D   D   I   C     A   A   T   E     D   D       H   H E     R   R E             T   O   O         T   H   H E
D   D EEEE  D   D   I   C     A   A   T   EEEE  D   D       HHHHH EEEE  RRRR  EEEE          T   O   O         T   HHHHH EEEE
D   D E     D   D   I   C     AAAAA   T   E     D   D       H   H E     R R   E             T   O   O         T   H   H E
D  D  E     D  D    I   C   C A   A   T   E     D  D        H   H E     R  R  E             T   O   O         T   H   H E
DD    EEEEE DD     III   CCC  A   A   T   EEEEE DD          H   H EEEEE R   R EEEEE         T    OOO          T   H   H EEEEE

U   U N   N FFFFF  III  N   N  III   SSSS H   H EEEEE DD          W   W  OOO  RRRR  K   K       W   W H   H  III   CCC  H   H
U   U N   N F       I   N   N   I   S     H   H E     D  D        W   W O   O R   R K  K        W   W H   H   I   C   C H   H
U   U NN  N F       I   NN  N   I   S     H   H E     D   D       W   W O   O R   R K KK        W   W H   H   I   C     H   H
U   U N N N FFFF    I   N N N   I    SSS  HHHHH EEEE  D   D       W W W O   O RRRR  KK          W W W HHHHH   I   C     HHHHH
U   U N  NN F       I   N  NN   I       S H   H E     D   D       W W W O   O R R   K KK        W W W H   H   I   C     H   H
U   U N   N F       I   N   N   I       S H   H E     D  D        W W W O   O R  R  K  K        W W W H   H   I   C   C H   H
 UUU  N   N F      III  N   N  III  SSSS  H   H EEEEE DD           W W   OOO  R   R K   K        W W  H   H  III   CCC  H   H

TTTTT H   H EEEEE Y   Y       W   W H   H  OOO        FFFFF  OOO  U   U  GGG  H   H TTTTT       H   H EEEEE RRRR  EEEEE
  T   H   H E     Y   Y       W   W H   H O   O       F     O   O U   U G   G H   H   T         H   H E     R   R E
  T   H   H E     Y   Y       W   W H   H O   O       F     O   O U   U G     H   H   T         H   H E     R   R E
  T   HHHHH EEEE   Y Y        W W W HHHHH O   O       FFFF  O   O U   U G GGG HHHHH   T         HHHHH EEEE  RRRR  EEEE
  T   H   H E       Y         W W W H   H O   O       F     O   O U   U G   G H   H   T         H   H E     R R   E
  T   H   H E       Y         W W W H   H O   O       F     O   O U   U G   G H   H   T         H   H E     R  R  E
  T   H   H EEEEE   Y          W W  H   H  OOO        F      OOO   UUU   GGGG H   H   T         H   H EEEEE R   R EEEEE

H   H  AAA  V   V EEEEE       TTTTT H   H U   U  SSSS       FFFFF  AAA  RRRR         SSSS  OOO
H   H A   A V   V E             T   H   H U   U S           F     A   A R   R       S     O   O
H   H A   A V   V E             T   H   H U   U S           F     A   A R   R       S     O   O
HHHHH A   A V   V EEEE          T   HHHHH U   U  SSS        FFFF  A   A RRRR         SSS  O   O
H   H AAAAA V   V E             T   H   H U   U     S       F     AAAAA R R             S O   O
H   H A   A  V V  E             T   H   H U   U     S       F     A   A R  R            S O   O
H   H A   A   V   EEEEE         T   H   H  UUU  SSSS        F     A   A R   R       SSSS   OOO

N   N  OOO  BBBB  L     Y   Y        AAA  DD    V   V  AAA  N   N  CCC  EEEEE DD                 III  TTTTT        III   SSSS
N   N O   O B   B L     Y   Y       A   A D  D  V   V A   A N   N C   C E     D  D                I     T           I   S
NN  N O   O B   B L     Y   Y       A   A D   D V   V A   A NN  N C     E     D   D               I     T           I   S
N N N O   O BBBB  L      Y Y        A   A D   D V   V A   A N N N C     EEEE  D   D               I     T           I    SSS
N  NN O   O B   B L       Y         AAAAA D   D V   V AAAAA N  NN C     E     D   D               I     T           I       S
N   N O   O B   B L       Y         A   A D  D   V V  A   A N   N C   C E     D  D                I     T           I       S
N   N  OOO  BBBB  LLLLL   Y         A   A DD      V   A   A N   N  CCC  EEEEE DD                 III    T          III  SSSS

RRRR   AAA  TTTTT H   H EEEEE RRRR        FFFFF  OOO  RRRR        U   U  SSSS       TTTTT  OOO        BBBB  EEEEE
R   R A   A   T   H   H E     R   R       F     O   O R   R       U   U S             T   O   O       B   B E
R   R A   A   T   H   H E     R   R       F     O   O R   R       U   U S             T   O   O       B   B E
RRRR  A   A   T   HHHHH EEEE  RRRR        FFFF  O   O RRRR        U   U  SSS          T   O   O       BBBB  EEEE
R R   AAAAA   T   H   H E     R R         F     O   O R R         U   U     S         T   O   O       B   B E
R  R  A   A   T   H   H E     R  R        F     O   O R  R        U   U     S         T   O   O       B   B E
R   R A   A   T   H   H EEEEE R   R       F      OOO  R   R        UUU  SSSS          T    OOO        BBBB  EEEEE

H   H EEEEE RRRR  EEEEE       DD    EEEEE DD     III   CCC   AAA  TTTTT EEEEE DD          TTTTT  OOO        TTTTT H   H EEEEE
H   H E     R   R E           D  D  E     D  D    I   C   C A   A   T   E     D  D          T   O   O         T   H   H E
H   H E     R   R E           D   D E     D   D   I   C     A   A   T   E     D   D         T   O   O         T   H   H E
HHHHH EEEE  RRRR  EEEE        D   D EEEE  D   D   I   C     A   A   T   EEEE  D   D         T   O   O         T   HHHHH EEEE
H   H E     R R   E           D   D E     D   D   I   C     AAAAA   T   E     D   D         T   O   O         T   H   H E
H   H E     R  R  E           D  D  E     D  D    I   C   C A   A   T   E     D  D          T   O   O         T   H   H E
H   H EEEEE R   R EEEEE       DD    EEEEE DD     III   CCC  A   A   T   EEEEE DD            T    OOO          T   H   H EEEEE

 GGG  RRRR  EEEEE  AAA  TTTTT       TTTTT  AAA   SSSS K   K       RRRR  EEEEE M   M  AAA   III  N   N  III  N   N  GGG
G   G R   R E     A   A   T           T   A   A S     K  K        R   R E     MM MM A   A   I   N   N   I   N   N G   G
G     R   R E     A   A   T           T   A   A S     K KK        R   R E     M M M A   A   I   NN  N   I   NN  N G
G GGG RRRR  EEEE  A   A   T           T   A   A  SSS  KK          RRRR  EEEE  M M M A   A   I   N N N   I   N N N G GGG
G   G R R   E     AAAAA   T           T   AAAAA     S K KK        R R   E     M   M AAAAA   I   N  NN   I   N  NN G   G
G   G R  R  E     A   A   T           T   A   A     S K  K        R  R  E     M   M A   A   I   N   N   I   N   N G   G
 GGGG R   R EEEEE A   A   T           T   A   A SSSS  K   K       R   R EEEEE M   M A   A  III  N   N  III  N   N  GGGG

BBBB  EEEEE FFFFF  OOO  RRRR  EEEEE       U   U  SSSS                         TTTTT H   H  AAA  TTTTT       FFFFF RRRR   OOO  M   M
B   B E     F     O   O R   R E           U   U S                               T   H   H A   A   T         F     R   R O   O MM MM
B   B E     F     O   O R   R E           U   U S                               T   H   H A   A   T         F     R   R O   O M M M
BBBB  EEEE  FFFF  O   O RRRR  EEEE        U   U  SSS        ----- -----         T   HHHHH A   A   T         FFFF  RRRR  O   O M M M
B   B E     F     O   O R R   E           U   U     S                           T   H   H AAAAA   T         F     R R   O   O M   M
B   B E     F     O   O R  R  E           U   U     S                           T   H   H A   A   T         F     R  R  O   O M   M
BBBB  EEEEE F      OOO  R   R EEEEE        UUU  SSSS                            T   H   H A   A   T         F     R   R  OOO  M   M

TTTTT H   H EEEEE  SSSS EEEEE       H   H  OOO  N   N  OOO  RRRR  EEEEE DD          DD    EEEEE  AAA  DD          W   W EEEEE
  T   H   H E     S     E           H   H O   O N   N O   O R   R E     D  D        D  D  E     A   A D  D        W   W E
  T   H   H E     S     E           H   H O   O NN  N O   O R   R E     D   D       D   D E     A   A D   D       W   W E
  T   HHHHH EEEE   SSS  EEEE        HHHHH O   O N N N O   O RRRR  EEEE  D   D       D   D EEEE  A   A D   D       W W W EEEE
  T   H   H E         S E           H   H O   O N  NN O   O R R   E     D   D       D   D E     AAAAA D   D       W W W E
  T   H   H E         S E           H   H O   O N   N O   O R  R  E     D  D        D  D  E     A   A D  D        W W W E
  T   H   H EEEEE SSSS  EEEEE       H   H  OOO  N   N  OOO  R   R EEEEE DD          DD    EEEEE A   A DD           W W  EEEEE

TTTTT  AAA  K   K EEEEE        III  N   N  CCC  RRRR  EEEEE  AAA   SSSS EEEEE DD
  T   A   A K  K  E             I   N   N C   C R   R E     A   A S     E     D  D
  T   A   A K KK  E             I   NN  N C     R   R E     A   A S     E     D   D
  T   A   A KK    EEEE          I   N N N C     RRRR  EEEE  A   A  SSS  EEEE  D   D
  T   AAAAA K KK  E             I   N  NN C     R R   E     AAAAA     S E     D   D
  T   A   A K  K  E             I   N   N C   C R  R  E     A   A     S E     D  D
  T   A   A K   K EEEEE        III  N   N  CCC  R   R EEEEE A   A SSSS  EEEEE DD

DD    EEEEE V   V  OOO  TTTTT  III   OOO  N   N       TTTTT  OOO        TTTTT H   H  AAA  TTTTT        CCC   AAA  U   U  SSSS EEEEE
D  D  E     V   V O   O   T     I   O   O N   N         T   O   O         T   H   H A   A   T         C   C A   A U   U S     E
D   D E     V   V O   O   T     I   O   O NN  N         T   O   O         T   H   H A   A   T         C     A   A U   U S     E
D   D EEEE  V   V O   O   T     I   O   O N N N         T   O   O         T   HHHHH A   A   T         C     A   A U   U  SSS  EEEE
D   D E     V   V O   O   T     I   O   O N  NN         T   O   O         T   H   H AAAAA   T         C     AAAAA U   U     S E
D  D  E      V V  O   O   T     I   O   O N   N         T   O   O         T   H   H A   A   T         C   C A   A U   U     S E
DD    EEEEE   V    OOO    T    III   OOO  N   N         T    OOO          T   H   H A   A   T          CCC  A   A  UUU  SSSS  EEEEE

FFFFF  OOO  RRRR        W   W H   H  III   CCC  H   H       TTTTT H   H EEEEE Y   Y        GGG   AAA  V   V EEEEE
F     O   O R   R       W   W H   H   I   C   C H   H         T   H   H E     Y   Y       G   G A   A V   V E
F     O   O R   R       W   W H   H   I   C     H   H         T   H   H E     Y   Y       G     A   A V   V E
FFFF  O   O RRRR        W W W HHHHH   I   C     HHHHH         T   HHHHH EEEE   Y Y        G GGG A   A V   V EEEE
F     O   O R R         W W W H   H   I   C     H   H         T   H   H E       Y         G   G AAAAA V   V E
F     O   O R  R        W W W H   H   I   C   C H   H         T   H   H E       Y         G   G A   A  V V  E
F      OOO  R   R        W W  H   H  III   CCC  H   H         T   H   H EEEEE   Y          GGGG A   A   V   EEEEE

TTTTT H   H EEEEE       L      AAA   SSSS TTTTT       FFFFF U   U L     L           M   M EEEEE  AAA   SSSS U   U RRRR  EEEEE
  T   H   H E           L     A   A S       T         F     U   U L     L           MM MM E     A   A S     U   U R   R E
  T   H   H E           L     A   A S       T         F     U   U L     L           M M M E     A   A S     U   U R   R E
  T   HHHHH EEEE        L     A   A  SSS    T         FFFF  U   U L     L           M M M EEEE  A   A  SSS  U   U RRRR  EEEE
  T   H   H E           L     AAAAA     S   T         F     U   U L     L           M   M E     AAAAA     S U   U R R   E
  T   H   H E           L     A   A     S   T         F     U   U L     L           M   M E     A   A     S U   U R  R  E
  T   H   H EEEEE       LLLLL A   A SSSS    T         F      UUU  LLLLL LLLLL       M   M EEEEE A   A SSSS   UUU  R   R EEEEE

 OOO  FFFFF       DD    EEEEE V   V  OOO  TTTTT  III   OOO  N   N                         TTTTT H   H  AAA  TTTTT       W   W EEEEE
O   O F           D  D  E     V   V O   O   T     I   O   O N   N                           T   H   H A   A   T         W   W E
O   O F           D   D E     V   V O   O   T     I   O   O NN  N                           T   H   H A   A   T         W   W E
O   O FFFF        D   D EEEE  V   V O   O   T     I   O   O N N N       ----- -----         T   HHHHH A   A   T         W W W EEEE
O   O F           D   D E     V   V O   O   T     I   O   O N  NN                           T   H   H AAAAA   T         W W W E
O   O F           D  D  E      V V  O   O   T     I   O   O N   N                           T   H   H A   A   T         W W W E
 OOO  F           DD    EEEEE   V    OOO    T    III   OOO  N   N                           T   H   H A   A   T          W W  EEEEE

H   H EEEEE RRRR  EEEEE       H   H  III   GGG  H   H L     Y   Y       RRRR  EEEEE  SSSS  OOO  L     V   V EEEEE
H   H E     R   R E           H   H   I   G   G H   H L     Y   Y       R   R E     S     O   O L     V   V E
H   H E     R   R E           H   H   I   G     H   H L     Y   Y       R   R E     S     O   O L     V   V E
HHHHH EEEE  RRRR  EEEE        HHHHH   I   G GGG HHHHH L      Y Y        RRRR  EEEE   SSS  O   O L     V   V EEEE
H   H E     R R   E           H   H   I   G   G H   H L       Y         R R   E         S O   O L     V   V E
H   H E     R  R  E           H   H   I   G   G H   H L       Y         R  R  E         S O   O L      V V  E
H   H EEEEE R   R EEEEE       H   H  III   GGGG H   H LLLLL   Y         R   R EEEEE SSSS   OOO  LLLLL   V   EEEEE

TTTTT H   H  AAA  TTTTT       TTTTT H   H EEEEE  SSSS EEEEE       DD    EEEEE  AAA  DD           SSSS H   H  AAA  L     L
  T   H   H A   A   T           T   H   H E     S     E           D  D  E     A   A D  D        S     H   H A   A L     L
  T   H   H A   A   T           T   H   H E     S     E           D   D E     A   A D   D       S     H   H A   A L     L
  T   HHHHH A   A   T           T   HHHHH EEEE   SSS  EEEE        D   D EEEE  A   A D   D        SSS  HHHHH A   A L     L
  T   H   H AAAAA   T           T   H   H E         S E           D   D E     AAAAA D   D           S H   H AAAAA L     L
  T   H   H A   A   T           T   H   H E         S E           D  D  E     A   A D  D            S H   H A   A L     L
  T   H   H A   A   T           T   H   H EEEEE SSSS  EEEEE       DD    EEEEE A   A DD          SSSS  H   H A   A LLLLL LLLLL

N   N  OOO  TTTTT       H   H  AAA  V   V EEEEE       DD     III  EEEEE DD           III  N   N       V   V  AAA   III  N   N
N   N O   O   T         H   H A   A V   V E           D  D    I   E     D  D          I   N   N       V   V A   A   I   N   N
NN  N O   O   T         H   H A   A V   V E           D   D   I   E     D   D         I   NN  N       V   V A   A   I   NN  N
N N N O   O   T         HHHHH A   A V   V EEEE        D   D   I   EEEE  D   D         I   N N N       V   V A   A   I   N N N
N  NN O   O   T         H   H AAAAA V   V E           D   D   I   E     D   D         I   N  NN       V   V AAAAA   I   N  NN
N   N O   O   T         H   H A   A  V V  E           D  D    I   E     D  D          I   N   N        V V  A   A   I   N   N
N   N  OOO    T         H   H A   A   V   EEEEE       DD     III  EEEEE DD           III  N   N         V   A   A  III  N   N

                  TTTTT H   H  AAA  TTTTT       TTTTT H   H  III   SSSS       N   N  AAA  TTTTT  III   OOO  N   N
                    T   H   H A   A   T           T   H   H   I   S           N   N A   A   T     I   O   O N   N
                    T   H   H A   A   T           T   H   H   I   S           NN  N A   A   T     I   O   O NN  N
----- -----         T   HHHHH A   A   T           T   HHHHH   I    SSS        N N N A   A   T     I   O   O N N N
                    T   H   H AAAAA   T           T   H   H   I       S       N  NN AAAAA   T     I   O   O N  NN  ,,
                    T   H   H A   A   T           T   H   H   I       S       N   N A   A   T     I   O   O N   N   ,
                    T   H   H A   A   T           T   H   H  III  SSSS        N   N A   A   T    III   OOO  N   N  ,

U   U N   N DD    EEEEE RRRR         GGG   OOO  DD                 SSSS H   H  AAA  L     L           H   H  AAA  V   V EEEEE
U   U N   N D  D  E     R   R       G   G O   O D  D              S     H   H A   A L     L           H   H A   A V   V E
U   U NN  N D   D E     R   R       G     O   O D   D             S     H   H A   A L     L           H   H A   A V   V E
U   U N N N D   D EEEE  RRRR        G GGG O   O D   D              SSS  HHHHH A   A L     L           HHHHH A   A V   V EEEE
U   U N  NN D   D E     R R         G   G O   O D   D  ,,             S H   H AAAAA L     L           H   H AAAAA V   V E
U   U N   N D  D  E     R  R        G   G O   O D  D    ,             S H   H A   A L     L           H   H A   A  V V  E
 UUU  N   N DD    EEEEE R   R        GGGG  OOO  DD     ,          SSSS  H   H A   A LLLLL LLLLL       H   H A   A   V   EEEEE

 AAA        N   N EEEEE W   W       BBBB   III  RRRR  TTTTT H   H        OOO  FFFFF       FFFFF RRRR  EEEEE EEEEE DD     OOO  M   M
A   A       N   N E     W   W       B   B   I   R   R   T   H   H       O   O F           F     R   R E     E     D  D  O   O MM MM
A   A       NN  N E     W   W       B   B   I   R   R   T   H   H       O   O F           F     R   R E     E     D   D O   O M M M
A   A       N N N EEEE  W W W       BBBB    I   RRRR    T   HHHHH       O   O FFFF        FFFF  RRRR  EEEE  EEEE  D   D O   O M M M
AAAAA       N  NN E     W W W       B   B   I   R R     T   H   H       O   O F           F     R R   E     E     D   D O   O M   M
A   A       N   N E     W W W       B   B   I   R  R    T   H   H       O   O F           F     R  R  E     E     D  D  O   O M   M
A   A       N   N EEEEE  W W        BBBB   III  R   R   T   H   H        OOO  F           F     R   R EEEEE EEEEE DD     OOO  M   M

                   AAA  N   N DD          TTTTT H   H  AAA  TTTTT        GGG   OOO  V   V EEEEE RRRR  N   N M   M EEEEE N   N TTTTT
                  A   A N   N D  D          T   H   H A   A   T         G   G O   O V   V E     R   R N   N MM MM E     N   N   T
                  A   A NN  N D   D         T   H   H A   A   T         G     O   O V   V E     R   R NN  N M M M E     NN  N   T
----- -----       A   A N N N D   D         T   HHHHH A   A   T         G GGG O   O V   V EEEE  RRRR  N N N M M M EEEE  N N N   T
                  AAAAA N  NN D   D         T   H   H AAAAA   T         G   G O   O V   V E     R R   N  NN M   M E     N  NN   T
                  A   A N   N D  D          T   H   H A   A   T         G   G O   O  V V  E     R  R  N   N M   M E     N   N   T
                  A   A N   N DD            T   H   H A   A   T          GGGG  OOO    V   EEEEE R   R N   N M   M EEEEE N   N   T

 OOO  FFFFF       TTTTT H   H EEEEE       PPPP  EEEEE  OOO  PPPP  L     EEEEE             BBBB  Y   Y       TTTTT H   H EEEEE
O   O F             T   H   H E           P   P E     O   O P   P L     E                 B   B Y   Y         T   H   H E
O   O F             T   H   H E           P   P E     O   O P   P L     E                 B   B Y   Y         T   H   H E
O   O FFFF          T   HHHHH EEEE        PPPP  EEEE  O   O PPPP  L     EEEE              BBBB   Y Y          T   HHHHH EEEE
O   O F             T   H   H E           P     E     O   O P     L     E      ,,         B   B   Y           T   H   H E
O   O F             T   H   H E           P     E     O   O P     L     E       ,         B   B   Y           T   H   H E
 OOO  F             T   H   H EEEEE       P     EEEEE  OOO  P     LLLLL EEEEE  ,          BBBB    Y           T   H   H EEEEE

PPPP  EEEEE  OOO  PPPP  L     EEEEE             FFFFF  OOO  RRRR        TTTTT H   H EEEEE
P   P E     O   O P   P L     E                 F     O   O R   R         T   H   H E
P   P E     O   O P   P L     E                 F     O   O R   R         T   H   H E
PPPP  EEEE  O   O PPPP  L     EEEE              FFFF  O   O RRRR          T   HHHHH EEEE
P     E     O   O P     L     E      ,,         F     O   O R R           T   H   H E
P     E     O   O P     L     E       ,         F     O   O R  R          T   H   H E
P     EEEEE  OOO  P     LLLLL EEEEE  ,          F      OOO  R   R         T   H   H EEEEE

PPPP  EEEEE  OOO  PPPP  L     EEEEE              SSSS H   H  AAA  L     L           N   N  OOO  TTTTT
P   P E     O   O P   P L     E                 S     H   H A   A L     L           N   N O   O   T
P   P E     O   O P   P L     E                 S     H   H A   A L     L           NN  N O   O   T
PPPP  EEEE  O   O PPPP  L     EEEE               SSS  HHHHH A   A L     L           N N N O   O   T
P     E     O   O P     L     E      ,,             S H   H AAAAA L     L           N  NN O   O   T
P     E     O   O P     L     E       ,             S H   H A   A L     L           N   N O   O   T
P     EEEEE  OOO  P     LLLLL EEEEE  ,          SSSS  H   H A   A LLLLL LLLLL       N   N  OOO    T

PPPP  EEEEE RRRR   III   SSSS H   H       FFFFF RRRR   OOO  M   M       TTTTT H   H EEEEE       EEEEE  AAA  RRRR  TTTTT H   H
P   P E     R   R   I   S     H   H       F     R   R O   O MM MM         T   H   H E           E     A   A R   R   T   H   H
P   P E     R   R   I   S     H   H       F     R   R O   O M M M         T   H   H E           E     A   A R   R   T   H   H
PPPP  EEEE  RRRR    I    SSS  HHHHH       FFFF  RRRR  O   O M M M         T   HHHHH EEEE        EEEE  A   A RRRR    T   HHHHH
P     E     R R     I       S H   H       F     R R   O   O M   M         T   H   H E           E     AAAAA R R     T   H   H
P     E     R  R    I       S H   H       F     R  R  O   O M   M         T   H   H E           E     A   A R  R    T   H   H
P     EEEEE R   R  III  SSSS  H   H       F     R   R  OOO  M   M         T   H   H EEEEE       EEEEE A   A R   R   T   H   H
--------------------------------------------------------------------

Lincoln2.1 .s .s.revised .lst .cd .ReadMe

Lincoln2.1.s

     ******************************************************************
     *  LINCOLN'S BIRTHDAY PROGRAM
     *      BY RONALD MAK
     *
     *  ORIGINAL VERSION: FEBRUARY 1969
     *  RESURRECTED:      FEBRUARY 2005
     *  CONDENSED:        NOVEMBER 2010
     ******************************************************************
     *
               HEAD
     IDENT     DCW  @LINCOLN'S BIRTHDAY PROGRAM REV 2.1 06/03/2014@
     *
     * LINCOLN'S GETTYSBURG ADDRESS
     *
     GETTYS    DCW  0
               DC   @FOURSCOREANDSEVENYEARSAGOOURFATHERSBROU@
               DC   @GHTFORTHONTHISCONTINENTANEWNATIONCONCEI@
               DC   @VEDINLIBERTYANDDEDICATEDTOTHEPROPOSITIO@
               DC   @NTHATALLMENARECREATEDEQUALNOWWEAREENGAG@
               DC   @EDINAGREATCIVILWARTESTINGWHETHERTHATNAT@
               DC   @IONORANYNATIONSOCONCEIVEDANDSODEDICATED@
               DC   @CANLONGENDUREWEAREMETONAGREATBATTLEFIEL@
               DC   @DOFTHATWARWEHAVECOMETODEDICATEAPORTIONO@
               DC   @FTHATFIELDASAFINALRESTINGPLACEFORTHOSEW@
               DC   @HOHEREGAVETHEIRLIVESTHATTHATNATIONMIGHT@
               DC   @LIVEITISALTOGETHERFITTINGANDPROPERTHATW@
               DC   @ESHOULDDOTHISBUTINALARGERSENSEWECANNOTH@
               DC   @ALLOWTHISGROUNDTHEBRAVEMENLIVINGANDDEAD@
               DC   @WHOSTRUGGLEDHEREHAVECONSECRATEDITFARABO@
               DC   @VEOURPOORPOWERTOADDORDETRACTTHEWORLDWIL@
               DC   @LLITTLENOTENORLONGREMEMBERWHATWESAYHERE@
               DC   @BUTITCANNEVERFORGETWHATTHEYDIDHEREITISF@
               DC   @ORUSTHELIVINGRATHERTOBEDEDICATEDHERETOT@
               DC   @HEUNFINISHEDWORKWHICHTHEYWHOFOUGHTHEREH@
               DC   @AVETHUSFARSONOBLYADVANCEDITISRATHERFORU@
               DC   @STOBEHEREDEDICATEDTOTHEGREATTASKREMAINI@
               DC   @NGBEFOREUSTHATFROMTHESEHONOREDDEADWETAK@
               DC   @EINCREASEDDEVOTIONTOTHATCAUSEFORWHICHTH@
               DC   @EYGAVETHELASTFULLMEASUREOFDEVOTIONTHATW@
               DC   @EHEREHIGHLYRESOLVETHATTHESEDEADSHALLNOT@
               DC   @HAVEDIEDINVAINTHATTHISNATIONUNDERGODSHA@
               DC   @LLHAVEANEWBIRTHOFFREEDOMANDTHATGOVERNME@
               DC   @NTOFTHEPEOPLEBYTHEPEOPLEFORTHEPEOPLESHA@
               DC   @LNOTPERISHFROMTHISEARTH@
     *
     *
     * THE PRINT MAP.  A 00 NUMBER DENOTES THE START OF A NEW
     * LINE.
     * EACH LINE'S MAP VALUES ALTERNATE BETWEEN 'SKIP' AND 'TAKE'
     * VALUES.  THE FINAL ZERO DENOTES THE END OF THE PRINT MAP.
     * MAP VALUES MUST EACH BE TWO DIGITS IN LENGTH.
     *
     MAP       DC   0
               DC   @004317003428003133002937002839002712062@
               DC   @300261010230026081718002607211600250920@
               DC   @100106002509211001050024102603040500221@
               DC   @333040021040208080422030020030506051020@
               DC   @040017040805040506010709030400170308050@
               DC   @404140502050205001803070409020104010105@
               DC   @010504030700180307030901020501010603030@
               DC   @301090018030702110102020201080101020202@
               DC   @020700180308022601090600190307032501100@
               DC   @100190406032601090100201225011001002111@
               DC   @170306010901002210150208010901002507070@
               DC   @104020201080207010026070604050902010501@
               DC   @002608050112010601040100260805010601020@
               DC   @102020701010100270705010317020100270515@
               DC   @110401002708260200281517040028370028360@
               DC   @028360027010134002601033300250106300025@
               DC   @010827002401112104010021041416070100120@
               DC   @626071201001005490100060455010003036001@
               DC   @004001140100361004100034280036100509004@
               DC   @00114010099@
     *
     SKIP      DCW  0                   *'SKIP' CODE
     TAKE      DCW  1                   *'TAKE' CODE
     NEXTDO    DCW  0                   *WHAT TO DO NEXT IN THE LINE
     MAPVAL    DCW  00                  *PRINT MAP VALUE
     *
     *
     * PROGRAM START.  SET INDEX REGISTER X1 TO POINT TO THE
     * FIRST PRINT MAP VALUE, AND INDEX REGISTER X2 TO POINT
     * TO THE FIRST CHARACTER OF THE GETTYSBURG ADDRESS.
     * INDEX REGISTER X3 WILL LATER POINT INTO THE PRINT AREA.
     *
     START     MCW  IDENT,160           *LAY IN THE IDENT
               SBR  X1,MAP&2            *POINT X1 TO PRINT MAP
               SBR  X2,GETTYS&1         *POINT X2 TO GETTYSBURG ADDRESS
     *
     * LOOP ONCE PER PRINT MAP VALUE.  FIRST CHECK IF IT'S THE
     * END OF THE PRINT MAP.  IF THE MAP VALUE IS NEGATIVE, THEN
     * PRINT OUT THE CURRENT LINE AND START A NEW ONE.
     *
     LOOP      MCW  0&X1,MAPVAL         *MAPVAL = CURENT MAP VALUE
               SBR  X1,2&X1             *POINT X1 TO THE NEXT VALUE
               C    @99@,MAPVAL         *IF MAPVAL = 99
               BE   DONE                *    THEN DONE
     *
               C    MAPVAL,@00@         *IF 0, THEN PRINT
               BU   TEST                *GO ON, ELSE
               W                        *WRITE THE PRINT AREA TO THE PRINTER NO SPACE
               DC   @S@                 *NO SPACE
               W                        *WRITE THE PRINT AREA TO THE PRINTER NO SPACE
               DC   @S@                 *NO SPACE
               W                        *WRITE THE PRINT AREA TO THE PRINTER NO SPACE
               DC   @S@                 *NO SPACE
               W                        *WRITE THE PRINT AREA TO THE PRINTER
               CS   332                 *CLEAR THE PRINT AREA
               CS                       *CLEAR PRINT AREA
               SBR  X3,222              *POINT X3 TO PRINT AREA
               B    LOOP
     *
     * EACH LINE ALTERNATES BETWEEN 'SKIP' AND 'TAKE'.
     *
     TEST      BCE  DOSKIP,NEXTDO,0     *IF 'SKIP' THEN DO SKIP
     *
     * DO 'TAKE': TAKE MAPVAL NUMBER OF LETTERS FROM THE GETTYSBURG
     *            ADDRESS AND APPEND THEM TO THE CURRENT PRINT LINE.
     *
     DOTAKE    MN   0&X2,0&X3           *APPEND LETTER TO PRINT LINE
               MZ   0&X2,0&X3
               S    @1@,MAPVAL          *MAPVAL = MAPVAL - 1
               SBR  X3,1&X3             *POINT X3 TO NEXT PRINT POSITION
     *
     NEXTCH    SBR  X2,1&X2             *POINT X2 TO NEXT GETTYSBURG CHAR
               C    &00,MAPVAL          *IF MAPVAL > 0
               BH   DOTAKE              *THEN TAKE SOME MORE CHARS
               MCW  SKIP,NEXTDO         *ELSE NEXT DO 'SKIP'
               B    LOOP
     *
     * DO 'SKIP': SKIP MAPVAL NUMBER OF BLANKS IN THE PRINT LINE.
     *
     DOSKIP    A    MAPVAL,X3           *X3 = X3 + MAPVAL
               MCW  TAKE,NEXTDO         *NEXT DO 'TAKE'
               B    LOOP
     *
     * DONE WITH ALL PRINT MAP VALUES.  PRINT THE FINAL LINE AND QUIT.
     *
     DONE      CC   1                   *EJECT THE PAGE
               EXIT
               END  START

Lincoln2.1.lst

 BOOTSTRAP FOR CLEAR ,008015,022026,030040/019,001L020100   ,047054,061068,072072)0810811022                      1
 CLEAR OR BOOTSTRAP  ,008047/047046       /000H025B022100  4/061046,054061,068072,0010401040                      2
0                                                                                                         PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  101                HEAD                                                                                MACRO
              *************************** START OF HEAD MACRO **************************                 GEN
1                          AUTOCODER PROGRAM                                                              PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  102                JOB   AUTOCODER PROGRAM                                                             GEN
  103                CTL   6611  *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD                                GEN
              *                                                                                          GEN
  104         .READ  EQU   001                                                         0001              GEN
  105         .PUNCH EQU   101                                                         0101              GEN
  106         .PRINT EQU   201                                                         0201              GEN
              *                                                                                          GEN
  107                ORG   85                                                                 0085
  108                DCW   @X1@      *IDENTIFING FILLER                             2  0086              GEN      3
  109         X1     DCW   000       *INDEX REGISTER 1                              3  0089              GEN      3
  110                DCW   @X2@      *IDENTIFING FILLER                             2  0091              GEN      3
  111         X2     DCW   000       *INDEX REGISTER 2                              3  0094              GEN      3
  112                DCW   @X3@      *IDENTIFING FILLER                             2  0096              GEN      3
  113         X3     DCW   000       *INDEX REGISTER 3                              3  0099              GEN      3
              *                                                                                          GEN
  114                ORG   340       *ORG JUST AFTER PRINT BUFFER                             0340
              ****************************** END OF HEAD MACRO **************************                GEN
  115         ******************************************************************
  116         *  LINCOLN'S BIRTHDAY PROGRAM
  117         *      BY RONALD MAK
  118         *
  119         *  ORIGINAL VERSION: FEBRUARY 1969
  120         *  RESURRECTED:      FEBRUARY 2005
  121         ******************************************************************
  122         *
  123         * LINCOLN'S GETTYSBURG ADDRESS
  124         *
  125         IDENT  DCW   @LINCOLN PROGREM REVISION 1.1 ASSEMBLED 03/07/2015@     49  0388                       5
  126         GETTYS DCW   0                                                        1  0389                       5
  127                DC    @FOURSCOREANDSEVENYEARSAGOOURFATHERSBROU@               39  0428                       6
  128                DC    @GHTFORTHONTHISCONTINENTANEWNATIONCONCEI@               39  0467                       7
  129                DC    @VEDINLIBERTYANDDEDICATEDTOTHEPROPOSITIO@               39  0506                       8
  130                DC    @NTHATALLMENARECREATEDEQUALNOWWEAREENGAG@               39  0545                       9
  131                DC    @EDINAGREATCIVILWARTESTINGWHETHERTHATNAT@               39  0584                      10
  132                DC    @IONORANYNATIONSOCONCEIVEDANDSODEDICATED@               39  0623                      11
  133                DC    @CANLONGENDUREWEAREMETONAGREATBATTLEFIEL@               39  0662                      12
  134                DC    @DOFTHATWARWEHAVECOMETODEDICATEAPORTIONO@               39  0701                      13
  135                DC    @FTHATFIELDASAFINALRESTINGPLACEFORTHOSEW@               39  0740                      14
  136                DC    @HOHEREGAVETHEIRLIVESTHATTHATNATIONMIGHT@               39  0779                      15
  137                DC    @LIVEITISALTOGETHERFITTINGANDPROPERTHATW@               39  0818                      16
  138                DC    @ESHOULDDOTHISBUTINALARGERSENSEWECANNOTH@               39  0857                      17
  139                DC    @ALLOWTHISGROUNDTHEBRAVEMENLIVINGANDDEAD@               39  0896                      18
  140                DC    @WHOSTRUGGLEDHEREHAVECONSECRATEDITFARABO@               39  0935                      19
  141                DC    @VEOURPOORPOWERTOADDORDETRACTTHEWORLDWIL@               39  0974                      20
  142                DC    @LLITTLENOTENORLONGREMEMBERWHATWESAYHERE@               39  1013                      21
  143                DC    @BUTITCANNEVERFORGETWHATTHEYDIDHEREITISF@               39  1052                      22
  144                DC    @ORUSTHELIVINGRATHERTOBEDEDICATEDHERETOT@               39  1091                      23
  145                DC    @HEUNFINISHEDWORKWHICHTHEYWHOFOUGHTHEREH@               39  1130                      24
  146                DC    @AVETHUSFARSONOBLYADVANCEDITISRATHERFORU@               39  1169                      25
  147                DC    @STOBEHEREDEDICATEDTOTHEGREATTASKREMAINI@               39  1208                      26
1                          AUTOCODER PROGRAM                                                              PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  148                DC    @NGBEFOREUSTHATFROMTHESEHONOREDDEADWETAK@               39  1247                      27
  149                DC    @EINCREASEDDEVOTIONTOTHATCAUSEFORWHICHTH@               39  1286                      28
  150                DC    @EYGAVETHELASTFULLMEASUREOFDEVOTIONTHATW@               39  1325                      29
  151                DC    @EHEREHIGHLYRESOLVETHATTHESEDEADSHALLNOT@               39  1364                      30
  152                DC    @HAVEDIEDINVAINTHATTHISNATIONUNDERGODSHA@               39  1403                      31
  153                DC    @LLHAVEANEWBIRTHOFFREEDOMANDTHATGOVERNME@               39  1442                      32
  154                DC    @NTOFTHEPEOPLEBYTHEPEOPLEFORTHEPEOPLESHA@               39  1481                      33
  155                DC    @LNOTPERISHFROMTHISEARTH@                               23  1504                      34
  157         *
  158         * PROGRAM START.  SET INDEX REGISTER X1 TO POINT TO THE
  159         * FIRST PRINT MAP VALUE, AND INDEX REGISTER X2 TO POINT
  160         * TO THE FIRST CHARACTER OF THE GETTYSBURG ADDRESS.
  161         * INDEX REGISTER X3 WILL LATER POINT INTO THE PRINT AREA.
  162         *
  163         START  MCW   IDENT,180                                                7  1505  M 388 180           34   388     180
  164                SBR   X1,MAP&2            *POINT X1 TO PRINT MAP               7  1512  H 089 X24           34   089    1724
  165                SBR   X2,GETTYS&1         *POINT X2 TO GETTYSBURG ADDRESS      7  1519  H 094 390           35   094     390
  166         *
  167         * LOOP ONCE PER PRINT MAP VALUE.  FIRST CHECK IF IT'S THE
  168         * END OF THE PRINT MAP.  IF THE MAP VALUE IS NEGATIVE, THEN
  169         * PRINT OUT THE CURRENT LINE AND START A NEW ONE.
  170         *
  171         LOOP   MCW   0&X1,MAPVAL         *MAPVAL = CURENT MAP VALUE           7  1526  M 0'0 X21           35   000+1  1721
  172                SBR   X1,2&X1             *POINT X1 TO THE NEXT VALUE          7  1533  H 089 0'2           35   089     002+1
  173                C     @99@,MAPVAL         *IF MAPVAL = 99                      7  1540  C M76 X21           35  2476    1721
  174                BE    DONE                *    THEN DONE                       5  1547  B W64 S             35  1664
  175         *
  176                C     MAPVAL,@00@         *IF 0, THEN PRINT                    7  1552  C X21 M78           36  1721    2478
  177                BU    TEST                *GO ON, ELSE                         5  1559  B V80 /             36  1580
  178                W                         *   PRINT OUT CURRENT LINE           1  1564  2                   36
  179                CS    299                 *    CLEAR THE PRINT AREA            4  1565  / 299               36   299
  180                SBR   X3,200              *    POINT X3 TO PRINT AREA          7  1569  H 099 200           36   099     200
  181                B     LOOP                                                     4  1576  B V26               36  1526
  182         *
  183         * EACH LINE ALTERNATES BETWEEN 'SKIP' AND 'TAKE'.
  184         *
  185         TEST   BCE   DOSKIP,NEXTDO,0     IF 'SKIP' THEN DO SKIP               8  1580  B W46 X19 0         36  1646    1719
  186         *
  187         * DO 'TAKE': TAKE MAPVAL NUMBER OF LETTERS FROM THE GETTYSBURG
  188         *            ADDRESS AND APPEND THEM TO THE CURRENT PRINT LINE.
  189         *
  190         DOTAKE MN    0&X2,0&X3           *APPEND LETTER TO PRINT LINE         7  1588  D 0!0 0?0           37   000+2   000+3
  191                MZ    0&X2,0&X3                                                7  1595  Y 0!0 0?0           37   000+2   000+3
  192                S     @1@,MAPVAL          *MAPVAL = MAPVAL - 1                 7  1602  S M79 X21           37  2479    1721
  193                SBR   X3,1&X3             *POINT X3 TO NEXT PRINT POSITION     7  1609  H 099 0?1           37   099     001+3
  194         *
  195         NEXTCH SBR   X2,1&X2             *POINT X2 TO NEXT GETTYSBURG CHA     7  1616  H 094 0!1           37   094     001+2
  196                C     &00,MAPVAL          *IF MAPVAL > 0                       7  1623  C M81 X21           38  2481    1721
  197                BH    DOTAKE              *   THEN TAKE SOME MORE CHARS        5  1630  B V88 U             38  1588
  198                MCW   SKIP,NEXTDO         *   ELSE NEXT DO 'SKIP'              7  1635  M X17 X19           38  1717    1719
1                          AUTOCODER PROGRAM                                                              PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  199                B     LOOP                                                     4  1642  B V26               38  1526
  200         *
  201         * DO 'SKIP': SKIP MAPVAL NUMBER OF BLANKS IN THE PRINT LINE.
  202         *
  203         DOSKIP A     MAPVAL,X3           *X3 = X3 & MAPVAL                    7  1646  A X21 099           38  1721     099
  204                MCW   TAKE,NEXTDO         *NEXT DO 'TAKE'                      7  1653  M X18 X19           38  1718    1719
  205                B     LOOP                                                     4  1660  B V26               39  1526
  206         *
  207         * DONE WITH ALL PRINT MAP VALUES.  *PRINT THE FINAL LINE AND QUIT.
  208         *
  209         DONE   W                                                              1  1664  2                   39
  210                CC    1                   *END OF FORM                         2  1665  F 1                 39
  211                EXIT                                                                                MACRO
              ********************************** START OF EXIT MACRO *************                       GEN
  212         EXIT   NOP   999,999         *LOAD THE A AND B REGISTERS              7  1667  N 999 999   GEN     39   999     999
  213                H                     *HALT OR I WILL SHOOT                    1  1674  .           GEN     39
              *                                                                                          GEN
  214                B     START,G         *IF G IS ON, RETURN TO START             5  1675  B V05 G     GEN     39  1505
  215                CS    332             *CLEAR PRINT STORAGE                     4  1680  / 332       GEN     39   332
  216                CS                    *CLEAR PRINT STORAGE                     1  1684  /           GEN     40
  217                CS                    *CLEAR PUNCH STORAGE                     1  1685  /           GEN     40
  218                CS                    *CLEAR READ STORAGE                      1  1686  /           GEN     40
              *                                                                                          GEN
  219                C     @SHAY@,14007    *WERE WE LOADED WITH THE LOADER?         7  1687  C M85 !0G   GEN     40  2485   14007
  220                BE    14000           *YES WE WERE. TURN CONTROL               5  1694  B !0? S     GEN     40 14000
              *         OTHERWISE.....       *BACK TO THE LOADER                                         GEN
              *         GET READY TO BOOT FROM THE FOLLOWING DECK                                        GEN
              *                                                                                          GEN
  221                SW    001             *SET WORDMARK IN LOCATION 1              4  1699  , 001       GEN     40   001
  222         EXRED  R                     *READ FIRST CARD OF NEXT  DECK           1  1703  1           GEN     40
  223                BCE   001,001,,       *IS IT A COMMA?                          8  1704  B 001 001 , GEN     41   001     001
              *                              *BRANCH TO THE FIRST INSTRUCTION                            GEN
  224                B     EXRED           *CHECK THE NEXT ONE                      4  1712  B X03       GEN     41  1703
  225                NOP                                                            1  1716  N           GEN     41
              *********************** END OF EXIT MACRO*************************                         GEN
              *                                                                                          GEN
  226         ************************************************************
  227         *
  228         SKIP   DCW   0                   *'SKIP' CODE                         1  1717                      41
  229         TAKE   DCW   1                   *'TAKE' CODE                         1  1718                      41
  230         NEXTDO DCW   0                   *WHAT TO DO NEXT IN THE LINE         1  1719                      41
  231         MAPVAL DCW   00                  *PRINT MAP VALUE                     2  1721                      41
  232         *
  233         * THE PRINT MAP.  A NEGATIVE NUMBER DENOTES THE START OF A NEW
  234         * LINE, AND ITS ABSOLUTE VALUE BECOMES THE INITIAL 'SKIP' VALUE.
  235         * EACH LINE'S MAP VALUES ALTERNATE BETWEEN 'SKIP' AND 'TAKE'
  236         * VALUES.  THE FINAL ZERO DENOTES THE END OF THE PRINT MAP.
  237         * MAP VALUES MUST EACH BE TWO DIGITS IN LENGTH.
  238         *
  239         MAP    DC    0                                                        1  1722                      41
1                          AUTOCODER PROGRAM                                                              PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  240                DC    @004317003428003133002937002839002712062@               39  1761                      42
  241                DC    @300261010230026081718002607211600250920@               39  1800                      43
  242                DC    @100106002509211001050024102603040500221@               39  1839                      44
  243                DC    @333040021040208080422030020030506051020@               39  1878                      45
  244                DC    @040017040805040506010709030400170308050@               39  1917                      46
  245                DC    @404140502050205001803070409020104010105@               39  1956                      47
  246                DC    @010504030700180307030901020501010603030@               39  1995                      48
  247                DC    @301090018030702110102020201080101020202@               39  2034                      49
  248                DC    @020700180308022601090600190307032501100@               39  2073                      50
  249                DC    @100190406032601090100201225011001002111@               39  2112                      51
  250                DC    @170306010901002210150208010901002507070@               39  2151                      52
  251                DC    @104020201080207010026070604050902010501@               39  2190                      53
  252                DC    @002608050112010601040100260805010601020@               39  2229                      54
  253                DC    @102020701010100270705010317020100270515@               39  2268                      55
  254                DC    @110401002708260200281517040028370028360@               39  2307                      56
  255                DC    @028360027010134002601033300250106300025@               39  2346                      57
  256                DC    @010827002401112104010021041416070100120@               39  2385                      58
  257                DC    @626071201001005490100060455010003036001@               39  2424                      59
  258                DC    @004001140100361004100034280036100509004@               39  2463                      60
  259                DC    @00114010099@                                           11  2474                      61
  260         *
                     DCW   @99@                                                     2  2476              LIT     61
                     DCW   @00@                                                     2  2478              LIT     61
                     DCW   @1@                                                      1  2479              LIT     61
                     DCW   &00                                                      2  2481              LIT     61
                     DCW   @SHAY@                                                   4  2485              LIT     62
  261                END   START                                                             / V05 080               1505
1                                                                                                         PAGE    6
0SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS

 .PRINT   0201: 0    .PUNCH   0101: 0    .READ    0001: 0    DONE     1664: 0    DOSKIP   1646: 0    DOTAKE   1588: 0
 EXIT     1667: 0    EXRED    1703: 0    GETTYS   0389: 0    IDENT    0388: 0    LOOP     1526: 0    MAP      1722: 0
 MAPVAL   1721: 0    NEXTCH   1616: 0    NEXTDO   1719: 0    SKIP     1717: 0    START    1505: 0    TAKE     1718: 0
 TEST     1580: 0    X1       0089: 0    X2       0094: 0    X3       0099: 0

0UNREFERENCED SYMBOLS

 .PRINT .PUNCH .READ  EXIT   NEXTCH

Lincoln2.1.cd

,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
X1000X2000X3000                        L015099,087090,092095,09704010400004
LINCOLN'S BIRTHDAY PROGRAM REV 2.1 06/0L039378,040040,040040,04004010400005
3/20140                                L007385)379379,385040,04004010400006
FOURSCOREANDSEVENYEARSAGOOURFATHERSBROUL039424)386386,040040,04004010400007
GHTFORTHONTHISCONTINENTANEWNATIONCONCEIL039463)425425,040040,04004010400008
VEDINLIBERTYANDDEDICATEDTOTHEPROPOSITIOL039502)464464,040040,04004010400009
NTHATALLMENARECREATEDEQUALNOWWEAREENGAGL039541)503503,040040,04004010400010
EDINAGREATCIVILWARTESTINGWHETHERTHATNATL039580)542542,040040,04004010400011
IONORANYNATIONSOCONCEIVEDANDSODEDICATEDL039619)581581,040040,04004010400012
CANLONGENDUREWEAREMETONAGREATBATTLEFIELL039658)620620,040040,04004010400013
DOFTHATWARWEHAVECOMETODEDICATEAPORTIONOL039697)659659,040040,04004010400014
FTHATFIELDASAFINALRESTINGPLACEFORTHOSEWL039736)698698,040040,04004010400015
HOHEREGAVETHEIRLIVESTHATTHATNATIONMIGHTL039775)737737,040040,04004010400016
LIVEITISALTOGETHERFITTINGANDPROPERTHATWL039814)776776,040040,04004010400017
ESHOULDDOTHISBUTINALARGERSENSEWECANNOTHL039853)815815,040040,04004010400018
ALLOWTHISGROUNDTHEBRAVEMENLIVINGANDDEADL039892)854854,040040,04004010400019
WHOSTRUGGLEDHEREHAVECONSECRATEDITFARABOL039931)893893,040040,04004010400020
VEOURPOORPOWERTOADDORDETRACTTHEWORLDWILL039970)932932,040040,04004010400021
LLITTLENOTENORLONGREMEMBERWHATWESAYHEREL039'09)971971,040040,04004010400022
BUTITCANNEVERFORGETWHATTHEYDIDHEREITISFL039'48)'10'10,040040,04004010400023
ORUSTHELIVINGRATHERTOBEDEDICATEDHERETOTL039'87)'49'49,040040,04004010400024
HEUNFINISHEDWORKWHICHTHEYWHOFOUGHTHEREHL039/26)'88'88,040040,04004010400025
AVETHUSFARSONOBLYADVANCEDITISRATHERFORUL039/65)/27/27,040040,04004010400026
STOBEHEREDEDICATEDTOTHEGREATTASKREMAINIL039S04)/66/66,040040,04004010400027
NGBEFOREUSTHATFROMTHESEHONOREDDEADWETAKL039S43)S05S05,040040,04004010400028
EINCREASEDDEVOTIONTOTHATCAUSEFORWHICHTHL039S82)S44S44,040040,04004010400029
EYGAVETHELASTFULLMEASUREOFDEVOTIONTHATWL039T21)S83S83,040040,04004010400030
EHEREHIGHLYRESOLVETHATTHESEDEADSHALLNOTL039T60)T22T22,040040,04004010400031
HAVEDIEDINVAINTHATTHISNATIONUNDERGODSHAL039T99)T61T61,040040,04004010400032
LLHAVEANEWBIRTHOFFREEDOMANDTHATGOVERNMEL039U38)U00U00,040040,04004010400033
NTOFTHEPEOPLEBYTHEPEOPLEFORTHEPEOPLESHAL039U77)U39U39,040040,04004010400034
LNOTPERISHFROMTHISEARTH0               L024V01)U78U78,040040,04004010400035
004317003428003133002937002839002712062L039V40)V02V02,040040,04004010400036
300261010230026081718002607211600250920L039V79)V41V41,040040,04004010400037
100106002509211001050024102603040500221L039W18)V80V80,040040,04004010400038
333040021040208080422030020030506051020L039W57)W19W19,040040,04004010400039
040017040805040506010709030400170308050L039W96)W58W58,040040,04004010400040
404140502050205001803070409020104010105L039X35)W97W97,040040,04004010400041
010504030700180307030901020501010603030L039X74)X36X36,040040,04004010400042
301090018030702110102020201080101020202L039Y13)X75X75,040040,04004010400043
020700180308022601090600190307032501100L039Y52)Y14Y14,040040,04004010400044
100190406032601090100201225011001002111L039Y91)Y53Y53,040040,04004010400045
170306010901002210150208010901002507070L039Z30)Y92Y92,040040,04004010400046
104020201080207010026070604050902010501L039Z69)Z31Z31,040040,04004010400047
002608050112010601040100260805010601020L039!08)Z70Z70,040040,04004010400048
102020701010100270705010317020100270515L039!47)!09!09,040040,04004010400049
110401002708260200281517040028370028360L039!86)!48!48,040040,04004010400050
028360027010134002601033300250106300025L039J25)!87!87,040040,04004010400051
010827002401112104010021041416070100120L039J64)J26J26,040040,04004010400052
626071201001005490100060455010003036001L039K03)J65J65,040040,04004010400053
004001140100361004100034280036100509004L039K42)K04K04,040040,04004010400054
0011401009901000                       L016K58)K43K43,K54K55,K56K5710400055
M384160H089V03H094386M0'0K58H0890'2    L035K93,K66K73,K80K87,04004010400056
CM78K58BM25SCK58M80BL41/2S2S2S         L030L23,L01L06,L13L18,L20L2210400057
2/332/H099222BK80BM07K560D0!00?0       L032L55,L25L29,L30L37,L41L4910400058
Y0!00?0SM81K58H0990?1H0940!1CM83K58    L035L90,L63L70,L77L84,04004010400059
BL49UMK54K56BK80AK58099MK55K56BK80F1   L036M26,L96M03,M07M14,M21M2510400060
N999999.BK59G/332///                   L020M46,M34M35,M40M44,M45M4610400061
CM87!0GB!0?S,0011B001001,BM63N         L030M76,M54M59,M63M64,M72M7610400062
990010?SHAY                            L011M87,M79M81,M82M84,04004010400063
                                       /K59080                         0064

Lincoln2.1.ReadMe

README file for Lincoln
Friday, March 06, 2015

******************************************************************
     *  LINCOLN'S BIRTHDAY PROGRAM
     *      BY RONALD MAK
     *
     *  ORIGINAL VERSION: FEBRUARY 1969
     *  RESURRECTED:      FEBRUARY 2005
     *  CONDENSED:        NOVEMBER 2010
******************************************************************
This program was written by a very young Ronald Mak.

It prints out the head of lincoln using the words from the Gettysberg address.

The program will terminate with a halt.
If you want to run it again with a new set of cards, set sense switch G on, clear the card reader,
place the second date, name and EOF cards in the reader and press start.

If you don?t want to run it again, leave sense switch  G off and when you press start,
it will look for and read in the next program.

--------------------------------------------------------------------

Mandelbrot2.1 .s .lst .cd .out [ photo, from Sam Mazur < sam . mazur [at] ogilvy . com > ]

Mandelbrot2.1.s


               HEAD
     IDENT     DCW  @MANDELBROT REVISION 2.1 3/4/2015@
     *
     *VALUES ARE FIXED POINT,I.E. SCALED BY 10000
     *Y RANGE (-1,1). 60 LINES YIELDS INC OF 2/60*10000
     *
     YINC      DCW  333
     XINC      DCW  220          *STEP X BY .0220
     *
     *Y START IS -1,MOVED TO -333*30 FOR SYMMETRY
     *
     Y0        DCW  -09990       *PIXEL Y COORDINATE
     *
     *X START IS -2.5
     *
     X0INIT    DCW  -22000       *LEFT HAND X COORDINATE
     X0        DCW  00000        *PIXEL X COORDINATE
     ONE       DCW  001
     ZR        DCW  00000        *REAL PART OF Z
     ZI        DCW  00000        *IMAGINARY PART OF Z
     ZR2       DCW  00000000000  *ZR^2
     ZI2       DCW  00000000000  *ZI^2
     ZRZI      DCW  00000000000  *2 *ZR *ZI
     ZMAG      DCW  00000000000  *MAGNITUDE OF Z: ZR^2 + ZI^2
     TOOBIG    DCW  00400000000  *4 (SCALED BY 10000 TWICE)
     I         DCW  00           *ITERATION LOOP COUNTER
     ROW       DCW  01
     ROWS      DCW  60
     COLS      DCW  132
     MAX       DCW  24           *MAXIMUM NUMBER OF ITERATIONS
     *
     *ROW LOOP
     *X1 = 1  (COLUMN INDEX)
     *X0 = -2.2 (X COORDINATE)
     *
     START     MCW  IDENT,180   *ADD IDENTIFICATION
               LCA  ONE,X1      *ROW LOOP: INIT COL COUNT
               LCA  X0INIT,X0   *X0 = X0INIT
               CS   332         *CLEAR PRINT LINE
               CS               *CHAIN INSTRUCTION
     *
     *COLUMN LOOP
     *
     COLLP     LCA  @00@,I      *I = 0
               MCW  X0,ZR       *ZR = X0
               MCW  Y0,ZI       *ZI = Y0
     *
     *INNER LOOP:
     *ZR2 = ZR^2
     *ZI2 = ZI^2
     *IF ZR2+ZI2 > 4: BREAK
     *ZI = 2*ZR*ZI + Y0
     *ZR = ZR2 - ZI2 + X0
     *
     INLP      MCW  ZR,ZR2-6    *ZR2 =  ZR
               M    ZR,ZR2      *ZR2 *= ZR
               MCW  ZI,ZI2-6    *ZI2 =  ZI
               M    ZI,ZI2      *ZI2 *= ZI
               MCW  ZR2,ZMAG    *ZMAG = ZR^2
               A    ZI2,ZMAG    *ZMAG += ZI^2
               C    TOOBIG,ZMAG  *IF ZMAZ > 4: BREAK
               BH   BREAK
               MCW  ZI,ZRZI-6   *ZRZI = ZI
               M    ZR,ZRZI     *ZRZI = ZI*ZR
               A    ZRZI,ZRZI   *ZRZI = 2*ZI*ZR
               MCW  ZRZI-4,ZI   *ZI = ZRZI (/10000)
               MZ   ZRZI,ZI     *TRANSFER SIGN
               A    Y0,ZI       *ZI += Y0
               S    ZI2,ZR2     *ZR2 -= ZI2
               MCW  ZR2-4,ZR    *ZR = ZR2 (/10000)
               MZ   ZR2,ZR      *TRANSFER SIGN
               A    X0,ZR       *ZR += X0
     *
     *IF I++ != MAX: GOTO INLP
     *
               A    ONE,I       *I++
               C    MAX,I       *IF I != MAX THEN LOOP
               BU   INLP
               MCW  @X@,200&X1  *STORE AN X INTO THE PRINT LINE
     BREAK     C    X1,COLS     *COL LOOP CONDITION
               A    ONE,X1
               A    XINC,X0    *X0 += 0.0227
               BU   COLLP
               W               *WRITE LINE
     *
     *Y0 += YINC
     *IF ROW++ != ROWS: GOTO ROWLP
     *
               C    ROW,ROWS   *ROW LOOP CONDITION
               A    ONE,ROW
               A    YINC,Y0    *Y0 += 0.0333
               BU   START
     FINIS     CC   1          *TOP OF FORM
               EXIT
               END  START

Mandelbrot2.1.cd

,008015,022026,030040/019,001L020100   ,047054,061068,072072)08108110220001
,008047/047046       /000H025B022100  4/061046,054061,068072,00104010400002
X1000X2000X3000                        L015099,087090,092095,09704010400003
MANDELBROT REVISION 2.1 3/4/2015333220 L038377,372375,040040,04004010400004
0999!2200!00000001000000000000000000000L039416,383388,393396,40140610400005
000000000000000000000000000000000      L033449,428439,040040,04004010400006
0040000000000016013224M371180          L029478,461463,465467,47047210400007
L395089L387392/332/L775462M392400      L033511,486493,497498,50504010400008
M382405M400410@400416M405421@405427    L035546,519526,533540,04004010400009
M416449A427449C460449B669UM405432      L033579,554561,568573,04004010400010
@400438A438438M434405Y438405A382405    L035614,587594,601608,04004010400011
S427416M412400Y416400A392400A395462    L035649,622629,636643,04004010400012
C471462B519/M7762'0C089469A395089      L033682,657662,669676,04004010400013
A377392B498/2C464466A395464A374382B472/L039721,690695,696703,71071710400014
F1N999999.B472G/332//                  L021742,724731,732737,74174210400015
/C780!0GB!0?S,0011B001001,B760         L030772,744751,756760,76176910400016
N00XSHAY                               L008780,774776,777040,04004010400017
                                       /472080                         0018

Mandelbrot2.1.lst

  BOOTSTRAP FOR CLEAR ,008015,022026,030040/019,001L020100   ,047054,061068,072072)0810811022                      1
 CLEAR OR BOOTSTRAP  ,008047/047046       /000H025B022100  4/061046,054061,068072,0010401040                      2
0                                                                                                         PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  101         *
  102                HEAD                                                                                MACRO
              *************************** START OF HEAD MACRO **************************                 GEN
1                          AUTOCODER PROGRAM                                                              PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  103                JOB   AUTOCODER PROGRAM                                                             GEN
  104                CTL   6611  *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD                                GEN
              *                                                                                          GEN
  105         .READ  EQU   001                                                         0001              GEN
  106         .PUNCH EQU   101                                                         0101              GEN
  107         .PRINT EQU   201                                                         0201              GEN
              *                                                                                          GEN
  108                ORG   85                                                                 0085
  109                DCW   @X1@      *IDENTIFING FILLER                             2  0086              GEN      3
  110         X1     DCW   000       *INDEX REGISTER 1                              3  0089              GEN      3
  111                DCW   @X2@      *IDENTIFING FILLER                             2  0091              GEN      3
  112         X2     DCW   000       *INDEX REGISTER 2                              3  0094              GEN      3
  113                DCW   @X3@      *IDENTIFING FILLER                             2  0096              GEN      3
  114         X3     DCW   000       *INDEX REGISTER 3                              3  0099              GEN      3
              *                                                                                          GEN
  115                ORG   340       *ORG JUST AFTER PRINT BUFFER                             0340
              ****************************** END OF HEAD MACRO **************************                GEN
  116         IDENT  DCW   @MANDELBROT REVISION 2.1 3/4/2015@                      32  0371                       4
  117         *
  118         *VALUES ARE FIXED POINT,I.E. SCALED BY 10000
  119         *Y RANGE (-1,1). 60 LINES YIELDS INC OF 2/60*10000
  120         *
  121         YINC   DCW   333                                                      3  0374                       4
  122         XINC   DCW   220          *STEP X BY .0220                            3  0377                       4
  123         *
  124         *Y START IS -1,MOVED TO -333*30 FOR SYMMETRY
  125         *
  126         Y0     DCW   -09990       *PIXEL Y COORDINATE                         5  0382                       5
  127         *
  128         *X START IS -2.5
  129         *
  130         X0INIT DCW   -22000       *LEFT HAND X COORDINATE                     5  0387                       5
  131         X0     DCW   00000        *PIXEL X COORDINATE                         5  0392                       5
  132         ONE    DCW   001                                                      3  0395                       5
  133         ZR     DCW   00000        *REAL PART OF Z                             5  0400                       5
  134         ZI     DCW   00000        *IMAGINARY PART OF Z                        5  0405                       5
  135         ZR2    DCW   00000000000  *ZR^2                                      11  0416                       5
  136         ZI2    DCW   00000000000  *ZI^2                                      11  0427                       6
  137         ZRZI   DCW   00000000000  *2 *ZR *ZI                                 11  0438                       6
  138         ZMAG   DCW   00000000000  *MAGNITUDE OF Z: ZR^2 & ZI^2               11  0449                       6
  139         TOOBIG DCW   00400000000  *4 (SCALED BY 10000 TWICE)                 11  0460                       7
  140         I      DCW   00           *ITERATION LOOP COUNTER                     2  0462                       7
  141         ROW    DCW   01                                                       2  0464                       7
  142         ROWS   DCW   60                                                       2  0466                       7
  143         COLS   DCW   132                                                      3  0469                       7
  144         MAX    DCW   24           *MAXIMUM NUMBER OF ITERATIONS               2  0471                       7
  145         *
  146         *ROW LOOP
  147         *X1 = 1  (COLUMN INDEX)
  148         *X0 = -2.2 (X COORDINATE)
1                          AUTOCODER PROGRAM                                                              PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  149         *
  150         START  MCW   IDENT,180   *ADD IDENTIFICATION                          7  0472  M 371 180            7   371     180
  151                LCA   ONE,X1      *ROW LOOP: INIT COL COUNT                    7  0479  L 395 089            8   395     089
  152                LCA   X0INIT,X0   *X0 = X0INIT                                 7  0486  L 387 392            8   387     392
  153                CS    332         *CLEAR PRINT LINE                            4  0493  / 332                8   332
  154                CS                *CHAIN INSTRUCTION                           1  0497  /                    8
  155         *
  156         *COLUMN LOOP
  157         *
  158         COLLP  LCA   @00@,I      *I = 0                                       7  0498  L 775 462            8   775     462
  159                MCW   X0,ZR       *ZR = X0                                     7  0505  M 392 400            8   392     400
  160                MCW   Y0,ZI       *ZI = Y0                                     7  0512  M 382 405            9   382     405
  161         *
  162         *INNER LOOP:
  163         *ZR2 = ZR^2
  164         *ZI2 = ZI^2
  165         *IF ZR2+ZI2 > 4: BREAK
  166         *ZI = 2*ZR*ZI + Y0
  167         *ZR = ZR2 - ZI2 + X0
  168         *
  169         INLP   MCW   ZR,ZR2-6    *ZR2 =  ZR                                   7  0519  M 400 410            9   400     410
  170                M     ZR,ZR2      *ZR2 *= ZR                                   7  0526  @ 400 416            9   400     416
  171                MCW   ZI,ZI2-6    *ZI2 =  ZI                                   7  0533  M 405 421            9   405     421
  172                M     ZI,ZI2      *ZI2 *= ZI                                   7  0540  @ 405 427            9   405     427
  173                MCW   ZR2,ZMAG    *ZMAG = ZR^2                                 7  0547  M 416 449           10   416     449
  174                A     ZI2,ZMAG    *ZMAG &= ZI^2                                7  0554  A 427 449           10   427     449
  175                C     TOOBIG,ZMAG  *IF ZMAZ > 4: BREAK                         7  0561  C 460 449           10   460     449
  176                BH    BREAK                                                    5  0568  B 669 U             10   669
  177                MCW   ZI,ZRZI-6   *ZRZI = ZI                                   7  0573  M 405 432           10   405     432
  178                M     ZR,ZRZI     *ZRZI = ZI*ZR                                7  0580  @ 400 438           11   400     438
  179                A     ZRZI,ZRZI   *ZRZI = 2*ZI*ZR                              7  0587  A 438 438           11   438     438
  180                MCW   ZRZI-4,ZI   *ZI = ZRZI (/10000)                          7  0594  M 434 405           11   434     405
  181                MZ    ZRZI,ZI     *TRANSFER SIGN                               7  0601  Y 438 405           11   438     405
  182                A     Y0,ZI       *ZI &= Y0                                    7  0608  A 382 405           11   382     405
  183                S     ZI2,ZR2     *ZR2 -= ZI2                                  7  0615  S 427 416           12   427     416
  184                MCW   ZR2-4,ZR    *ZR = ZR2 (/10000)                           7  0622  M 412 400           12   412     400
  185                MZ    ZR2,ZR      *TRANSFER SIGN                               7  0629  Y 416 400           12   416     400
  186                A     X0,ZR       *ZR &= X0                                    7  0636  A 392 400           12   392     400
  187         *
  188         *IF I++ != MAX: GOTO INLP
  189         *
  190                A     ONE,I       *I&&                                         7  0643  A 395 462           12   395     462
  191                C     MAX,I       *IF I != MAX THEN LOOP                       7  0650  C 471 462           13   471     462
  192                BU    INLP                                                     5  0657  B 519 /             13   519
  193                MCW   @X@,200&X1  *STORE AN X INTO THE PRINT LINE              7  0662  M 776 2'0           13   776     200+1
  194         BREAK  C     X1,COLS     *COL LOOP CONDITION                          7  0669  C 089 469           13   089     469
  195                A     ONE,X1                                                   7  0676  A 395 089           13   395     089
  196                A     XINC,X0    *X0 &= 0.0227                                 7  0683  A 377 392           14   377     392
  197                BU    COLLP                                                    5  0690  B 498 /             14   498
  198                W                *WRITE LINE                                   1  0695  2                   14
1                          AUTOCODER PROGRAM                                                              PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  199         *
  200         *Y0 += YINC
  201         *IF ROW++ != ROWS: GOTO ROWLP
  202         *
  203                C     ROW,ROWS   *ROW LOOP CONDITION                           7  0696  C 464 466           14   464     466
  204                A     ONE,ROW                                                  7  0703  A 395 464           14   395     464
  205                A     YINC,Y0    *Y0 &= 0.0333                                 7  0710  A 374 382           14   374     382
  206                BU    START                                                    5  0717  B 472 /             14   472
  207         FINIS  CC    1          *TOP OF FORM                                  2  0722  F 1                 15
  208                EXIT                                                                                MACRO
              ********************************** START OF EXIT MACRO *************                       GEN
  209         EXIT   NOP   999,999         *LOAD THE A AND B REGISTERS              7  0724  N 999 999   GEN     15   999     999
  210                H                     *HALT OR I WILL SHOOT                    1  0731  .           GEN     15
              *                                                                                          GEN
  211                B     START,G         *IF G IS ON, RETURN TO START             5  0732  B 472 G     GEN     15   472
  212                CS    332             *CLEAR PRINT STORAGE                     4  0737  / 332       GEN     15   332
  213                CS                    *CLEAR PRINT STORAGE                     1  0741  /           GEN     15
  214                CS                    *CLEAR PUNCH STORAGE                     1  0742  /           GEN     15
  215                CS                    *CLEAR READ STORAGE                      1  0743  /           GEN     16
              *                                                                                          GEN
  216                C     @SHAY@,14007    *WERE WE LOADED WITH THE LOADER?         7  0744  C 780 !0G   GEN     16   780   14007
  217                BE    14000           *YES WE WERE. TURN CONTROL               5  0751  B !0? S     GEN     16 14000
              *         OTHERWISE.....       *BACK TO THE LOADER                                         GEN
              *         GET READY TO BOOT FROM THE FOLLOWING DECK                                        GEN
              *                                                                                          GEN
  218                SW    001             *SET WORDMARK IN LOCATION 1              4  0756  , 001       GEN     16   001
  219         EXRED  R                     *READ FIRST CARD OF NEXT  DECK           1  0760  1           GEN     16
  220                BCE   001,001,,       *IS IT A COMMA?                          8  0761  B 001 001 , GEN     16   001     001
              *                              *BRANCH TO THE FIRST INSTRUCTION                            GEN
  221                B     EXRED           *CHECK THE NEXT ONE                      4  0769  B 760       GEN     16   760
  222                NOP                                                            1  0773  N           GEN     17
              *********************** END OF EXIT MACRO*************************                         GEN
              *                                                                                          GEN
                     DCW   @00@                                                     2  0775              LIT     17
                     DCW   @X@                                                      1  0776              LIT     17
                     DCW   @SHAY@                                                   4  0780              LIT     17
  223                END   START                                                             / 472 080                472
1                                                                                                         PAGE    5
0SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS

 .PRINT   0201: 0    .PUNCH   0101: 0    .READ    0001: 0    BREAK    0669: 0    COLLP    0498: 0    COLS     0469: 0
 EXIT     0724: 0    EXRED    0760: 0    FINIS    0722: 0    I        0462: 0    IDENT    0371: 0    INLP     0519: 0
 MAX      0471: 0    ONE      0395: 0    ROW      0464: 0    ROWS     0466: 0    START    0472: 0    TOOBIG   0460: 0
 X0       0392: 0    X0INIT   0387: 0    X1       0089: 0    X2       0094: 0    X3       0099: 0    XINC     0377: 0
 Y0       0382: 0    YINC     0374: 0    ZI       0405: 0    ZI2      0427: 0    ZMAG     0449: 0    ZR       0400: 0
 ZR2      0416: 0    ZRZI     0438: 0

0UNREFERENCED SYMBOLS

 .PRINT .PUNCH .READ  EXIT   FINIS  X2     X3

MANDELBROT2.1.out

                                                                                               X

                                                                                               X
                                                                                             XXXX
                                                                                         X  XXXXXX  X
                                                                                          XXXXXXXXXX
                                                                                          XXXXXXXXXX
                                                                                          XXXXXXXXXX
                                                                                          XXXXXXXXX
                                                                            X      XX X     XXXXXX
                                                                          XX  X    XX XXXXXXXXXXXXXXXXXX XX
                                                                           XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXX
                                                                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                      X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
                                                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                              X  X     X            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                               XXX  X XX  XXXX      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                               XXXXXXXXXXXXXXXX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
                                              XXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                            XXXXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                             XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                      XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                    X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                    X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                      XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                             XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                            XXXXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                              XXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                               XXXXXXXXXXXXXXXX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
                                               XXX  X XX  XXXX      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                              X  X     X            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
                                                                      X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXX
                                                                           XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX
                                                                          XX  X    XX XXXXXXXXXXXXXXXXXX XX
                                                                            X      XX X     XXXXXX
                                                                                          XXXXXXXXX
                                                                                          XXXXXXXXXX
                                                                                          XXXXXXXXXX
                                                                                          XXXXXXXXXX
                                                                                         X  XXXXXX  X
                                                                                             XXXX
                                                                                               X

                                                                                               X



--------------------------------------------------------------------

PowersOfTwo4.3 .s .lst .cd .out .ReadMe

PowersOfTwo4.3.s

               HEAD
     *
     P132      EQU  332  *DEFINE THE LAST CHARAACTER OF THE PRINT BUFFER
     IDENT     DCW  @POWERS OF 2 VERSION 4.3 PROGRAM 03/01/2015@
     *ID THE PROGRAM DECK
     HOLD      DCW  0
     PAT1      DCW  @,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   @
     PAT2      DC   @,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   @
     PAT3      DC   @,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   @
     *
     AREG      DS   99                  *A PLACE TO ADD STUFF
     CRDCNT    DCW  00                  *CARD COUNTER
     **               1234567890123456789012345678901234567890
               DCW  @THIS PRINTOUT WAS GENERATED ON AN IBM 1401 @
               DC   @COMPUTER AT THE COMPUTER HISTORY MUSEUM, @
     CREDIT    DC   @ MOUNTAIN VIEW, CALIFORNIA@

     FLADD     EQU  FSTLIN
     FSTLIN    DCW  @FIVE HUNDRED FORTY SIX UNTRIGINTILLION       @
               DCW  @EIGHT HUNDRED TWELVE TRIGINTILLION           @
               DCW  @SIX HUNDRED EIGHTY ONE NOVEMVIGINTILLION     @
               DCW  @ONE HUNDRED NINETY FIVE OCTOVIGINTILLION     @
               DCW  @SEVEN HUNDRED FIFTY TWO SEPTEMVIGINTILLION   @
               DCW  @NINE HUNDRED EIGHTY ONE SESVIGINTILLION      @
               DCW  @NINETY THREE QUINQUAVIGINTILLION             @
               DCW  @ONE HUNDRED TWENTY FIVE QUATTUORVIGINTILLION @
               DCW  @FIVE HUNDRED FIFTY SIX TRESVIGINTILLION      @
               DCW  @SEVEN HUNDRED SEVENTY NINE DUOVIGINTILLION   @
               DCW  @FOUR HUNDRED FIVE UNVIGINTILLION             @
               DCW  @THREE HUNDRED FORTY ONE VIGINTILLION         @
               DCW  @THREE HUNDRED THIRTY EIGHT NOVENDECILLION    @
               DCW  @TWO HUNDRED NINETY TWO OCTODECILLION         @
               DCW  @THREE HUNDRED FIFTY SEVEN SEPTENDECILLION    @
               DCW  @SEVEN HUNDRED TWENTY THREE SEDECILLION       @
               DCW  @THREE HUNDRED THREE QUINQUADECILLION         @
               DCW  @ONE HUNDRED NINE QUATTUORDECILLION           @
               DCW  @ONE HUNDRED SIX TREDECILLION                 @
               DCW  @FOUR HUNDRED FORTY TWO DUODECILLION          @
               DCW  @SIX HUNDRED FIFTY ONE UNDECILLION            @
               DCW  @SIX HUNDRED TWO DECILLION                    @
               DCW  @FOUR HUNDRED EIGHTY EIGHT NONILLION          @
               DCW  @TWO HUNDRED FORTY NINE OCTILLION             @
               DCW  @SEVEN HUNDRED NINETY NINE SEPTILLION         @
               DCW  @EIGHT HUNDRED FORTY THREE SEXTILLION         @
               DCW  @NINE HUNDRED EIGHTY QUINTILLION              @
               DCW  @EIGHT HUNDRED FIVE QUADRILLION               @
               DCW  @EIGHT HUNDRED SEVENTY EIGHT TRILLION         @
               DCW  @TWO HUNDRED NINETY FOUR BILLION              @
               DCW  @TWO HUNDRED FIFTY FIVE MILLION               @
               DCW  @SEVEN HUNDRED SIXTY THREE THOUSAND           @
               DCW  @FOUR HUNDRED FIFTY SIX                       @
     *

     *
     START     CS   332                 *CLEAR 332 TO 300
               CS                       *CLEAR 299 TO 200
               SW   201             *SET A WORD MARK AT THE BEGINNING
               SW   AREG-98
               MCW  IDENT,.PUNCH+50  * IDENTIFY THE PROGRAM AND REVISION
               MCW  IDENT, 250       * IDENTIFY THE PROGRAM AND REVISION
               W                        * PRINT IT
               CS   299                 * CLEAR STORAGE
               MCW  @000@,X1            * CLEAR X1
               MCW  @000@,X2            * CLEAR X2
               MCW  @000@,X3            * CLEAR X3
               SW   201                 * SET IT AGAIN
               ZA   @002@,AREG          * SET THE STARTING NUMBER
               MCW  @00@,CRDCNT         *RESET CHARD COUNT
     L1        MLCWAPAT3,332
               MCE  AREG,332
     L2        MCW  @000@,X1            * SETUP X1 TO ZERO
     L23       BCE  L27,.PRINT&X1,      * IS IT A SPACE?
               BCE  L25,.PRINT&X1,0     * IS IT A ZERO?
               BCE  L25,.PRINT&X1,,     * IS IT A COMMA?
               B    L29               * FIRST NON SPACE OR COMMA
     *
     L25       MCW  @ @,.PRINT&X1     * CLEAR THE COMMA OR ZERO
     L27       MA   @001@,X1            * INCREMENT X1
               B    L23                 * CHECK THE NEXT POSITION
     L29       MCW  202,HOLD            * SAFE KEEPING
               W                        * PRINT IT
               MCW  HOLD,202            * PUT IT BACK
     L35       A    AREG,AREG           * DOUBLE IT
               BAV  L4                  * BRANCH ON OVERFLOW
               B    L1                  * TRY AGAIN
     L4        CS   332
               CS
               W
               MCW  @THE NUMBER ABOVE IS 2 RAISED TO THE 328 POWER@,250
               W
               CS   299                 *CLEAR STORAGE
               W                        *WRITE A SPACE LINE
               MCW  @IT IS 99 DIGITS LONG@,236
               W                        *WRITE A SPACE LINE
               CS   299
               W                         *WRITE A BLANK LINE
               MCW  @IN SCIENTIFIC NOTATION, THIS IS@,236
               MCW  @ 5.4681268119575298109312555677941E&98@,274
               W
               CS   332                 *CLEAR 332 TO 300
               CS                       *CLEAR 299 TO 200
               W                        *WRITE A BLANK LINE
               SW   001                 *FIELD DEFINER
               MCW  @IN TEXT FORMAT@,219  *PUT IN HEADER
               W                        *PRINT THE LINE
               CS   332                    *B REG AT 333
               CS                       *CONTINUE
               SW   201
               MCW  @049@,X1            *FIRST PRINT POSITION
               MCW  @000@,X2            *FIRST PRINT MESSAGE
     READ      MCW  FSTLIN&X2,201&X1    *MOVE IN THE DATA
               W                        *WRITE DATA
               CS   332                 *B REG AT 333
               CS                       *CONTINUE
               SW   201
               MA   @001@,X1            *ADD 1 TO X1
               MA   @045@,X2            *ADD 45 TO X2
               A    @1@,CRDCNT          *ADD ONE TO CARD COUNT
               MZ   CRDCNT-1,CRDCNT     *STRIP ZONE
               C    @33@,CRDCNT         *IS THIS THE 33RD CARD?
               BU   READ                *LETS GO GET MORE
               CS   332                 *CLEAR 332 TO 300
               CS                       *CLEAR 299 TO 200
               W
               MCW  CREDIT,310          *PRINT CREDIT
               W
               CC   1                   *TOP OF FORM
     *******************************************************************
     *
               EXIT
     ******************************************************************
               END  START

PowersOfTwo4.3.cd

,008015,022026,030040/019,001L020100   ,047054,061068,072072)08108110220001
,008047/047046       /000H025B022100  4/061046,054061,068072,00104010400002
X1000X2000X3000                        L015099,087090,092095,09704010400003
POWERS OF 2 VERSION 4.3 PROGRAM 03/01/2L039378,040040,040040,04004010400004
0150                                   L004382)379379,382040,04004010400005
,   ,   ,   ,   ,   ,   ,   ,   ,   ,  L039421,040040,040040,04004010400006
 ,                                     L005426)422422,040040,04004010400007
,   ,   ,   ,   ,   ,   ,   ,   ,   ,  L039465)427427,040040,04004010400008
 ,                                     L005470)466466,040040,04004010400009
,   ,   ,   ,   ,   ,   ,   ,   ,   ,  L039509)471471,040040,04004010400010
 ,                                     L005514)510510,040040,04004010400011
00                                     L002615,040040,040040,04004010400012
THIS PRINTOUT WAS GENERATED ON AN IBM 1L039654,040040,040040,04004010400013
401                                    L004658)655655,040040,04004010400014
COMPUTER AT THE COMPUTER HISTORY MUSEUML039697)659659,040040,04004010400015
,  MOUNTAIN VIEW, CALIFORNIA           L028725)698698,040040,04004010400016
FIVE HUNDRED FORTY SIX UNTRIGINTILLION L039764,040040,040040,04004010400017
                                       L006770)765765,040040,04004010400018
EIGHT HUNDRED TWELVE TRIGINTILLION     L039809,040040,040040,04004010400019
                                       L006815)810810,040040,04004010400020
SIX HUNDRED EIGHTY ONE NOVEMVIGINTILLIOL039854,040040,040040,04004010400021
N                                      L006860)855855,040040,04004010400022
ONE HUNDRED NINETY FIVE OCTOVIGINTILLIOL039899,040040,040040,04004010400023
N                                      L006905)900900,040040,04004010400024
SEVEN HUNDRED FIFTY TWO SEPTEMVIGINTILLL039944,040040,040040,04004010400025
ION                                    L006950)945945,040040,04004010400026
NINE HUNDRED EIGHTY ONE SESVIGINTILLIONL039989,040040,040040,04004010400027
                                       L006995)990990,040040,04004010400028
NINETY THREE QUINQUAVIGINTILLION       L039'34,040040,040040,04004010400029
                                       L006'40)'35'35,040040,04004010400030
ONE HUNDRED TWENTY FIVE QUATTUORVIGINTIL039'79,040040,040040,04004010400031
LLION                                  L006'85)'80'80,040040,04004010400032
FIVE HUNDRED FIFTY SIX TRESVIGINTILLIONL039/24,040040,040040,04004010400033
                                       L006/30)/25/25,040040,04004010400034
SEVEN HUNDRED SEVENTY NINE DUOVIGINTILLL039/69,040040,040040,04004010400035
ION                                    L006/75)/70/70,040040,04004010400036
FOUR HUNDRED FIVE UNVIGINTILLION       L039S14,040040,040040,04004010400037
                                       L006S20)S15S15,040040,04004010400038
THREE HUNDRED FORTY ONE VIGINTILLION   L039S59,040040,040040,04004010400039
                                       L006S65)S60S60,040040,04004010400040
THREE HUNDRED THIRTY EIGHT NOVENDECILLIL039T04,040040,040040,04004010400041
ON                                     L006T10)T05T05,040040,04004010400042
TWO HUNDRED NINETY TWO OCTODECILLION   L039T49,040040,040040,04004010400043
                                       L006T55)T50T50,040040,04004010400044
THREE HUNDRED FIFTY SEVEN SEPTENDECILLIL039T94,040040,040040,04004010400045
ON                                     L006U00)T95T95,040040,04004010400046
SEVEN HUNDRED TWENTY THREE SEDECILLION L039U39,040040,040040,04004010400047
                                       L006U45)U40U40,040040,04004010400048
THREE HUNDRED THREE QUINQUADECILLION   L039U84,040040,040040,04004010400049
                                       L006U90)U85U85,040040,04004010400050
ONE HUNDRED NINE QUATTUORDECILLION     L039V29,040040,040040,04004010400051
                                       L006V35)V30V30,040040,04004010400052
ONE HUNDRED SIX TREDECILLION           L039V74,040040,040040,04004010400053
                                       L006V80)V75V75,040040,04004010400054
FOUR HUNDRED FORTY TWO DUODECILLION    L039W19,040040,040040,04004010400055
                                       L006W25)W20W20,040040,04004010400056
SIX HUNDRED FIFTY ONE UNDECILLION      L039W64,040040,040040,04004010400057
                                       L006W70)W65W65,040040,04004010400058
SIX HUNDRED TWO DECILLION              L039X09,040040,040040,04004010400059
                                       L006X15)X10X10,040040,04004010400060
FOUR HUNDRED EIGHTY EIGHT NONILLION    L039X54,040040,040040,04004010400061
                                       L006X60)X55X55,040040,04004010400062
TWO HUNDRED FORTY NINE OCTILLION       L039X99,040040,040040,04004010400063
                                       L006Y05)Y00Y00,040040,04004010400064
SEVEN HUNDRED NINETY NINE SEPTILLION   L039Y44,040040,040040,04004010400065
                                       L006Y50)Y45Y45,040040,04004010400066
EIGHT HUNDRED FORTY THREE SEXTILLION   L039Y89,040040,040040,04004010400067
                                       L006Y95)Y90Y90,040040,04004010400068
NINE HUNDRED EIGHTY QUINTILLION        L039Z34,040040,040040,04004010400069
                                       L006Z40)Z35Z35,040040,04004010400070
EIGHT HUNDRED FIVE QUADRILLION         L039Z79,040040,040040,04004010400071
                                       L006Z85)Z80Z80,040040,04004010400072
EIGHT HUNDRED SEVENTY EIGHT TRILLION   L039!24,040040,040040,04004010400073
                                       L006!30)!25!25,040040,04004010400074
TWO HUNDRED NINETY FOUR BILLION        L039!69,040040,040040,04004010400075
                                       L006!75)!70!70,040040,04004010400076
TWO HUNDRED FIFTY FIVE MILLION         L039J14,040040,040040,04004010400077
                                       L006J20)J15J15,040040,04004010400078
SEVEN HUNDRED SIXTY THREE THOUSAND     L039J59,040040,040040,04004010400079
                                       L006J65)J60J60,040040,04004010400080
FOUR HUNDRED FIFTY SIX                 L039K04,040040,040040,04004010400081
      /332/,201,515                    L019K23)K05K05,K11K15,K16K2010400082
M381151M3812502/299MN93089MN93094      L033K56,K31K38,K39K43,K5004010400083
MN93099,201?N96613MN98615L514332E613332L039K95,K64K68,K75K82,K8904010400084
MN93089BL382'1 BL312'10BL312'1,BL49    L035L30,L03L11,L19L27,04004010400085
MN992'1#O02089BL03M2023822M382202      L033L63,L38L45,L49L56,L5704010400086
A613613BL80ZBK82/332/2MO47250          L029L92,L71L76,L80L84,L85L8610400087
2/2992MO672362/2992                    L019M11,L94L98,L99M06,M07M1110400088
MO98236MP362742/332/2,001              L025M36,M19M26,M27M31,M32M3310400089
MP502192/332/,201MP53089MN93094        L031M67,M44M45,M49M50,M54M6110400090
M7P02'12/332/,201#O02089#P56094        L031M98,M75M76,M80M81,M85M9210400091
AP57615Y614615CP59615BM68//332/2       L032N30,N06N13,N20N25,N29N3010400092
M7253102F1N999999.BK11G/332            L027N57,N38N39,N41N48,N49N5410400093
///CP63!0GB!0?S,0011                   L020N77,N59N60,N61N68,N73N7710400094
B001001,BN77N00000200                  L022N99,N86N90,N91N94,N97N9910400095
001                                    L003O02,040040,040040,04004010400096
THE NUMBER ABOVE IS 2 RAISED TO THE 328L039O41,040040,040040,04004010400097
 POWERIT IS 99 DIGITS LONG             L026O67)O42O42,O48040,04004010400098
IN SCIENTIFIC NOTATION, THIS IS        L031O98,040040,040040,04004010400099
 5.4681268119575298109312555677941E&98 L038P36,040040,040040,04004010400100
IN TEXT FORMAT049045133SHAY            L027P63,P51P54,P57P58,P6004010400101
                                       /K11080                         0102

PowersOfTwo4.3.lst

 BOOTSTRAP FOR CLEAR ,008015,022026,030040/019,001L020100   ,047054,061068,072072)0810811022                      1
 CLEAR OR BOOTSTRAP  ,008047/047046       /000H025B022100  4/061046,054061,068072,0010401040                      2
0                                                                                                         PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  101                HEAD                                                                                MACRO
              *************************** START OF HEAD MACRO **************************                 GEN
1                          AUTOCODER PROGRAM                                                              PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  102                JOB   AUTOCODER PROGRAM                                                             GEN
  103                CTL   6611  *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD                                GEN
              *                                                                                          GEN
  104         .READ  EQU   001                                                         0001              GEN
  105         .PUNCH EQU   101                                                         0101              GEN
  106         .PRINT EQU   201                                                         0201              GEN
              *                                                                                          GEN
  107                ORG   85                                                                 0085
  108                DCW   @X1@      *IDENTIFING FILLER                             2  0086              GEN      3
  109         X1     DCW   000       *INDEX REGISTER 1                              3  0089              GEN      3
  110                DCW   @X2@      *IDENTIFING FILLER                             2  0091              GEN      3
  111         X2     DCW   000       *INDEX REGISTER 2                              3  0094              GEN      3
  112                DCW   @X3@      *IDENTIFING FILLER                             2  0096              GEN      3
  113         X3     DCW   000       *INDEX REGISTER 3                              3  0099              GEN      3
              *                                                                                          GEN
  114                ORG   340       *ORG JUST AFTER PRINT BUFFER                             0340
              ****************************** END OF HEAD MACRO **************************                GEN
  115         *
  116         P132   EQU   332  *DEFINE THE LAST CHARAACTER OF THE PRINT BUFFER        0332
  117         IDENT  DCW   @POWERS OF 2 VERSION 4.3 PROGRAM 03/01/2015@            42  0381                       5
  118         *ID THE PROGRAM DECK
  119         HOLD   DCW   0                                                        1  0382                       5
  120         PAT1   DCW   @,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   @          44  0426                       7
  121         PAT2   DC    @,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   @          44  0470                       9
  122         PAT3   DC    @,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   @          44  0514                      11
  123         *
  124         AREG   DS    99                  *A PLACE TO ADD STUFF                   0613
  125         CRDCNT DCW   00                  *CARD COUNTER                        2  0615                      12
  126         **               1234567890123456789012345678901234567890
  127                DCW   @THIS PRINTOUT WAS GENERATED ON AN IBM 1401 @           43  0658                      14
  128                DC    @COMPUTER AT THE COMPUTER HISTORY MUSEUM, @             41  0699                      16
  129         CREDIT DC    @ MOUNTAIN VIEW, CALIFORNIA@                            26  0725                      16
  130         *
  131         FLADD  EQU   FSTLIN                                                      0770
  132         FSTLIN DCW   @FIVE HUNDRED FORTY SIX UNTRIGINTILLION       @         45  0770                      18
  133                DCW   @EIGHT HUNDRED TWELVE TRIGINTILLION           @         45  0815                      20
  134                DCW   @SIX HUNDRED EIGHTY ONE NOVEMVIGINTILLION     @         45  0860                      22
  135                DCW   @ONE HUNDRED NINETY FIVE OCTOVIGINTILLION     @         45  0905                      24
  136                DCW   @SEVEN HUNDRED FIFTY TWO SEPTEMVIGINTILLION   @         45  0950                      26
  137                DCW   @NINE HUNDRED EIGHTY ONE SESVIGINTILLION      @         45  0995                      28
  138                DCW   @NINETY THREE QUINQUAVIGINTILLION             @         45  1040                      30
  139                DCW   @ONE HUNDRED TWENTY FIVE QUATTUORVIGINTILLION @         45  1085                      32
  140                DCW   @FIVE HUNDRED FIFTY SIX TRESVIGINTILLION      @         45  1130                      34
  141                DCW   @SEVEN HUNDRED SEVENTY NINE DUOVIGINTILLION   @         45  1175                      36
  142                DCW   @FOUR HUNDRED FIVE UNVIGINTILLION             @         45  1220                      38
  143                DCW   @THREE HUNDRED FORTY ONE VIGINTILLION         @         45  1265                      40
  144                DCW   @THREE HUNDRED THIRTY EIGHT NOVENDECILLION    @         45  1310                      42
  145                DCW   @TWO HUNDRED NINETY TWO OCTODECILLION         @         45  1355                      44
  146                DCW   @THREE HUNDRED FIFTY SEVEN SEPTENDECILLION    @         45  1400                      46
  147                DCW   @SEVEN HUNDRED TWENTY THREE SEDECILLION       @         45  1445                      48
1                          AUTOCODER PROGRAM                                                              PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  148                DCW   @THREE HUNDRED THREE QUINQUADECILLION         @         45  1490                      50
  149                DCW   @ONE HUNDRED NINE QUATTUORDECILLION           @         45  1535                      52
  150                DCW   @ONE HUNDRED SIX TREDECILLION                 @         45  1580                      54
  151                DCW   @FOUR HUNDRED FORTY TWO DUODECILLION          @         45  1625                      56
  152                DCW   @SIX HUNDRED FIFTY ONE UNDECILLION            @         45  1670                      58
  153                DCW   @SIX HUNDRED TWO DECILLION                    @         45  1715                      60
  154                DCW   @FOUR HUNDRED EIGHTY EIGHT NONILLION          @         45  1760                      62
  155                DCW   @TWO HUNDRED FORTY NINE OCTILLION             @         45  1805                      64
  156                DCW   @SEVEN HUNDRED NINETY NINE SEPTILLION         @         45  1850                      66
  157                DCW   @EIGHT HUNDRED FORTY THREE SEXTILLION         @         45  1895                      68
  158                DCW   @NINE HUNDRED EIGHTY QUINTILLION              @         45  1940                      70
  159                DCW   @EIGHT HUNDRED FIVE QUADRILLION               @         45  1985                      72
  160                DCW   @EIGHT HUNDRED SEVENTY EIGHT TRILLION         @         45  2030                      74
  161                DCW   @TWO HUNDRED NINETY FOUR BILLION              @         45  2075                      76
  162                DCW   @TWO HUNDRED FIFTY FIVE MILLION               @         45  2120                      78
  163                DCW   @SEVEN HUNDRED SIXTY THREE THOUSAND           @         45  2165                      80
  164                DCW   @FOUR HUNDRED FIFTY SIX                       @         45  2210                      82
  165         *
  166         *
  167         *
  168         START  CS    332                 *CLEAR 332 TO 300                    4  2211  / 332               82   332
  169                CS                        *CLEAR 299 TO 200                    1  2215  /                   82
  170                SW    201             *SET A WORD MARK AT THE BEGINNING        4  2216  , 201               82   201
  171                SW    AREG-98                                                  4  2220  , 515               82   515
  172                MCW   IDENT,.PUNCH&50  * IDENTIFY THE PROGRAM AND REVISION     7  2224  M 381 151           83   381     151
  173                MCW   IDENT, 250       * IDENTIFY THE PROGRAM AND REVISION     7  2231  M 381 250           83   381     250
  174                W                         * PRINT IT                           1  2238  2                   83
  175                CS    299                 * CLEAR STORAGE                      4  2239  / 299               83   299
  176                MCW   @000@,X1            * CLEAR X1                           7  2243  M N93 089           83  2593     089
  177                MCW   @000@,X2            * CLEAR X2                           7  2250  M N93 094           83  2593     094
  178                MCW   @000@,X3            * CLEAR X3                           7  2257  M N93 099           84  2593     099
  179                SW    201                 * SET IT AGAIN                       4  2264  , 201               84   201
  180                ZA    @002@,AREG          * SET THE STARTING NUMBER            7  2268  ? N96 613           84  2596     613
  181                MCW   @00@,CRDCNT         *RESET CHARD COUNT                   7  2275  M N98 615           84  2598     615
  182         L1     MLCWA PAT3,332                                                 7  2282  L 514 332           84   514     332
  183                MCE   AREG,332                                                 7  2289  E 613 332           84   613     332
  184         L2     MCW   @000@,X1            * SETUP X1 TO ZERO                   7  2296  M N93 089           85  2593     089
  185         L23    BCE   L27,.PRINT&X1,      * IS IT A SPACE?                     8  2303  B L38 2'1           85  2338     201+1
  186                BCE   L25,.PRINT&X1,0     * IS IT A ZERO?                      8  2311  B L31 2'1 0         85  2331     201+1
  187                BCE   L25,.PRINT&X1,,     * IS IT A COMMA?                     8  2319  B L31 2'1 ,         85  2331     201+1
  188                B     L29               * FIRST NON SPACE OR COMMA             4  2327  B L49               85  2349
  189         *
  190         L25    MCW   @ @,.PRINT&X1     * CLEAR THE COMMA OR ZERO              7  2331  M N99 2'1           86  2599     201+1
  191         L27    MA    @001@,X1            * INCREMENT X1                       7  2338  # O02 089           86  2602     089
  192                B     L23                 * CHECK THE NEXT POSITION            4  2345  B L03               86  2303
  193         L29    MCW   202,HOLD            * SAFE KEEPING                       7  2349  M 202 382           86   202     382
  194                W                         * PRINT IT                           1  2356  2                   86
  195                MCW   HOLD,202            * PUT IT BACK                        7  2357  M 382 202           86   382     202
  196         L35    A     AREG,AREG           * DOUBLE IT                          7  2364  A 613 613           87   613     613
  197                BAV   L4                  * BRANCH ON OVERFLOW                 5  2371  B L80 Z             87  2380
1                          AUTOCODER PROGRAM                                                              PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  198                B     L1                  * TRY AGAIN                          4  2376  B K82               87  2282
  199         L4     CS    332                                                      4  2380  / 332               87   332
  200                CS                                                             1  2384  /                   87
  201                W                                                              1  2385  2                   87
  202                MCW   @THE NUMBER ABOVE IS 2 RAISED TO THE 328 POWER@,250      7  2386  M O47 250           87  2647     250
  203                W                                                              1  2393  2                   88
  204                CS    299                 *CLEAR STORAGE                       4  2394  / 299               88   299
  205                W                         *WRITE A SPACE LINE                  1  2398  2                   88
  206                MCW   @IT IS 99 DIGITS LONG@,236                               7  2399  M O67 236           88  2667     236
  207                W                         *WRITE A SPACE LINE                  1  2406  2                   88
  208                CS    299                                                      4  2407  / 299               88   299
  209                W                          *WRITE A BLANK LINE                 1  2411  2                   88
  210                MCW   @IN SCIENTIFIC NOTATION, THIS IS@,236                    7  2412  M O98 236           89  2698     236
  211                MCW   @ 5.4681268119575298109312555677941E&98@,274             7  2419  M P36 274           89  2736     274
  212                W                                                              1  2426  2                   89
  213                CS    332                 *CLEAR 332 TO 300                    4  2427  / 332               89   332
  214                CS                        *CLEAR 299 TO 200                    1  2431  /                   89
  215                W                         *WRITE A BLANK LINE                  1  2432  2                   89
  216                SW    001                 *FIELD DEFINER                       4  2433  , 001               89   001
  217                MCW   @IN TEXT FORMAT@,219  *PUT IN HEADER                     7  2437  M P50 219           90  2750     219
  218                W                         *PRINT THE LINE                      1  2444  2                   90
  219                CS    332                    *B REG AT 333                     4  2445  / 332               90   332
  220                CS                        *CONTINUE                            1  2449  /                   90
  221                SW    201                                                      4  2450  , 201               90   201
  222                MCW   @049@,X1            *FIRST PRINT POSITION                7  2454  M P53 089           90  2753     089
  223                MCW   @000@,X2            *FIRST PRINT MESSAGE                 7  2461  M N93 094           90  2593     094
  224         READ   MCW   FSTLIN&X2,201&X1    *MOVE IN THE DATA                    7  2468  M 7P0 2'1           91   770+2   201+1
  225                W                         *WRITE DATA                          1  2475  2                   91
  226                CS    332                 *B REG AT 333                        4  2476  / 332               91   332
  227                CS                        *CONTINUE                            1  2480  /                   91
  228                SW    201                                                      4  2481  , 201               91   201
  229                MA    @001@,X1            *ADD 1 TO X1                         7  2485  # O02 089           91  2602     089
  230                MA    @045@,X2            *ADD 45 TO X2                        7  2492  # P56 094           91  2756     094
  231                A     @1@,CRDCNT          *ADD ONE TO CARD COUNT               7  2499  A P57 615           92  2757     615
  232                MZ    CRDCNT-1,CRDCNT     *STRIP ZONE                          7  2506  Y 614 615           92   614     615
  233                C     @33@,CRDCNT         *IS THIS THE 33RD CARD?              7  2513  C P59 615           92  2759     615
  234                BU    READ                *LETS GO GET MORE                    5  2520  B M68 /             92  2468
  235                CS    332                 *CLEAR 332 TO 300                    4  2525  / 332               92   332
  236                CS                        *CLEAR 299 TO 200                    1  2529  /                   92
  237                W                                                              1  2530  2                   92
  238                MCW   CREDIT,310          *PRINT CREDIT                        7  2531  M 725 310           93   725     310
  239                W                                                              1  2538  2                   93
  240                CC    1                   *TOP OF FORM                         2  2539  F 1                 93
  241         *******************************************************************
  242         *
  243                EXIT                                                                                MACRO
              ********************************** START OF EXIT MACRO *************                       GEN
  244         EXIT   NOP   999,999         *LOAD THE A AND B REGISTERS              7  2541  N 999 999   GEN     93   999     999
  245                H                     *HALT OR I WILL SHOOT                    1  2548  .           GEN     93
              *                                                                                          GEN
1                          AUTOCODER PROGRAM                                                              PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  246                B     START,G         *IF G IS ON, RETURN TO START             5  2549  B K11 G     GEN     93  2211
  247                CS    332             *CLEAR PRINT STORAGE                     4  2554  / 332       GEN     93   332
  248                CS                    *CLEAR PRINT STORAGE                     1  2558  /           GEN     94
  249                CS                    *CLEAR PUNCH STORAGE                     1  2559  /           GEN     94
  250                CS                    *CLEAR READ STORAGE                      1  2560  /           GEN     94
              *                                                                                          GEN
  251                C     @SHAY@,14007    *WERE WE LOADED WITH THE LOADER?         7  2561  C P63 !0G   GEN     94  2763   14007
  252                BE    14000           *YES WE WERE. TURN CONTROL               5  2568  B !0? S     GEN     94 14000
              *         OTHERWISE.....       *BACK TO THE LOADER                                         GEN
              *         GET READY TO BOOT FROM THE FOLLOWING DECK                                        GEN
              *                                                                                          GEN
  253                SW    001             *SET WORDMARK IN LOCATION 1              4  2573  , 001       GEN     94   001
  254         EXRED  R                     *READ FIRST CARD OF NEXT  DECK           1  2577  1           GEN     94
  255                BCE   001,001,,       *IS IT A COMMA?                          8  2578  B 001 001 , GEN     95   001     001
              *                              *BRANCH TO THE FIRST INSTRUCTION                            GEN
  256                B     EXRED           *CHECK THE NEXT ONE                      4  2586  B N77       GEN     95  2577
  257                NOP                                                            1  2590  N           GEN     95
              *********************** END OF EXIT MACRO*************************                         GEN
              *                                                                                          GEN
  258         ******************************************************************
                     DCW   @000@                                                    3  2593              LIT     95
                     DCW   @002@                                                    3  2596              LIT     95
                     DCW   @00@                                                     2  2598              LIT     95
                     DCW   @ @                                                      1  2599              LIT     95
                     DCW   @001@                                                    3  2602              LIT     96
                     DCW   @THE NUMBER ABOVE IS 2 RAISED TO THE 328 POWER@         45  2647              LIT     98
                     DCW   @IT IS 99 DIGITS LONG@                                  20  2667              LIT     98
                     DCW   @IN SCIENTIFIC NOTATION, THIS IS@                       31  2698              LIT     99
                     DCW   @ 5.4681268119575298109312555677941E&98@                38  2736              LIT    100
                     DCW   @IN TEXT FORMAT@                                        14  2750              LIT    101
                     DCW   @049@                                                    3  2753              LIT    101
                     DCW   @045@                                                    3  2756              LIT    101
                     DCW   @1@                                                      1  2757              LIT    101
                     DCW   @33@                                                     2  2759              LIT    101
                     DCW   @SHAY@                                                   4  2763              LIT    101
  259                END   START                                                             / K11 080               2211
1                                                                                                         PAGE    6
0SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS

 .PRINT   0201: 0    .PUNCH   0101: 0    .READ    0001: 0    AREG     0613: 0    CRDCNT   0615: 0    CREDIT   0725: 0
 EXIT     2541: 0    EXRED    2577: 0    FLADD    0770: 0    FSTLIN   0770: 0    HOLD     0382: 0    IDENT    0381: 0
 L1       2282: 0    L2       2296: 0    L23      2303: 0    L25      2331: 0    L27      2338: 0    L29      2349: 0
 L35      2364: 0    L4       2380: 0    P132     0332: 0    PAT1     0426: 0    PAT2     0470: 0    PAT3     0514: 0
 READ     2468: 0    START    2211: 0    X1       0089: 0    X2       0094: 0    X3       0099: 0

0UNREFERENCED SYMBOLS

 .READ  EXIT   L2     L35    P132   PAT1   PAT2

PowersOfTwo4.3.out


PowersOfTwo4.3.ReadMe

README file for Powers of two
Saturday, March 07, 2015

Powers Of 2 is a demonstration program run on the IBM 1401 computer.

The IBM 1401 stores one digit per memory location.
The IBM 1401 has 16,000 locations of memory.
With this amount of memory, the IBM 1401 can add together two 8,000 digit numbers.!

Modern computers perform integer arithmetic using binary values.
For the IBM PC, the largest value is 64 bits.
The largest value that can be expressed in 64 bits is  18,446,744,073,709,551,616.
That is 20 digits long.

The Powers Of Two program demonstrates the ability of the IBM 1401 to handle large numbers by starting
with a single digit of 2 and then double it until it fills a single print line on the IBM 1403 printer.

In addition of that, the program prints out how you pronounce the resultant number.

The program will terminate with a halt.
If you want to run it again, set sense switch G on, and press start.

If you don?t want to run it again, leave sense switch G off and when you press start,
it will look for and read in the next program.
--------------------------------------------------------------------

prime_demo3 .s .lst .cd .ReadMe

prime_demo3.s

               JOB  PRIME
     * GENERATE PRIME NUMBERS. DEMO FOR COMPUTER HISTORY MUSEUM
     * KEN SHIRRIFF  HTTP://RIGHTO.COM
               HEAD
     * IMPORTANT NOTE ON THE BITMASK: IT HOLDS ODD NUMBERS,STARTING WITH 3.
     * SO N IS IN ADDRESS BITS0+(N-3)/2
     REV       DCW  @REVISION 3 COMPILED ON MARCH 3, 2015@
     TO        DCW  #5         * TEMPORARY

     MAX       DCW  @25000@    * MAXIMUM NUMBER TO PRINT
     MAXADR    DCW  @12500@    * MAX/2
     SQRT      DCW  @00158@    * SQRT(MAX)

     ADR       DCW  #5
     STEP      DCW  #3        * ADDRESS STEP WHEN MOVING THROUGH BITMASK
     LINENO    DCW  #2        * LINE NUMBER ON PAGE
     PAGENO    DCW  #1

     PPTR      DCW  #5   * PRIME/2-1.5,AS A 3-CHAR ADDRESS
     PPTR5     DCW  #5                 * PPTR AS 5-DIGIT VALUE,NOT ADDRESS
     *  BITS[(N-1)/2] = 1 IF N HAS NOT BEEN ELIMINATED
     ENDADR    DCW  @000@

               DCW  @A LIST OF PRIME NUMBERS UNDER 25,000 GE@
               DC   @NERATED BY THE IBM 1401 AT THE COMPUTER@
     LINE1     DC   @ HISTORY MUSEUM IN MOUNTAIN VIEW,CA@

               DCW  @THIS PRINTOUT WAS GENERATED ON AN IBM 1401 @
               DC   @COMPUTER AT THE COMPUTER HISTORY MUSEUM, @
     CREDIT    DC   @ MOUNTAIN VIEW, CALIFORNIA@



     PROD      DCW  #11        * SIZEOF(COUNT)*2+1
     POS       DCW  #3      * POSITION ON LINE.

     * CONVERSION CONSTANTS
     HZONE     DCW  @9ZRI9ZRI9ZRI9ZRI@
     LZONE     DCW  @9999ZZZZRRRRIIII@

     BITS0     DCW  BITS-12499
     BITS      DS   12500      * LENGTH IS MAX/2.
               ORG  15000
     START     CS   299
               MCW  REV,180                * LEAVE ID BEHIND
               MCW  @00000@,PPTR
               MCW  @00000@,PPTR5
               MCW  @007@,POS              * NEEDS TO MATCH CODE IN WRITE
               MCW  @1@,PAGENO
               B    HEADER                  * PRINT HEADER
               MCW  @00002@,TO
               B    WRITE                   * PRINT 2 AS A SPECIAL CASE


     *  INITIALIZE END ADDRESS
               MCW  MAXADR,ADR
               B    CONV2
               MCW  ADR,ENDADR


     OUTER     MCW  PPTR,X2          * SEARCH FOR NEXT CLEAR BIT
     SCAN      C    X2,ENDADR
               BE   DONE
               C    BITS0&X2,@1@      * FOUND A PRIME (BIT IS NOT 1)?
               BU   FOUND
               MA   @001@,X2
               A    +1,PPTR5
               B    SCAN
     DONE      NOP
               EXIT

     FOUND     MCW  X2,PPTR           * FOUND A PRIME AT INDEX X2. NEED TO CONVERT TO NUMBER,WHICH IS INCONVENIENT
               MA   @001@,PPTR        * INCREMENT THE INDEX
               MZ   @0@,PPTR5
               MCW  PPTR5,PROD-6
               A    +1,PPTR5

     * PRIME = 2*INDEX+3,I.E. 2*TO+3
               M    @2@,PROD-4
               A    @3@,PROD-4        * ADD 3
               MZ   @0@,PROD-4        * CLEAR ZONE
               MCW  PROD-4,TO
               B    WRITE              * WRITE THE PRIME
               C    SQRT,TO           * DON'T CROSS OFF ANY MULTIPLES ONCE PAST SQUARE ROOT OF MAX
               BH   OUTER

               MCW  TO,ADR            * CROSS OFF EVERY 2*PRIME (IGNORING EVEN),I.E. INCREMENT INDEX BY PRIME
               B    CONV2
               MCW  ADR,STEP          * STEP HOLDS THE INCREMENT FOR CROSSING-OFF
     * COMPUTE PRIME^2,WHICH IS WHERE TO START MARKING OFF NUMBERS
               MCW  TO,PROD-6
               M    TO,PROD
               MZ   @0@,PROD
     * SUBTRACT 3 AND DIVIDE BY 2 TO CONVERT BACK TO INDEX
               MCW  PROD,TO
               S    @3@,TO
               MZ   @0@,TO
               ZA   TO,PROD-4
               D    @2@,PROD-8
               MZ   @0@,PROD-6        * PROD-6 IS NEW INDEX
               MCW  PROD-6,ADR
               B    CONV2
               MCW  ADR,X2            * X2 IS NEW INDEX AS AN ADDRESS
               MCW  PROD-6,ADR        * ADR IS NEW INDEX AS A NUMBER

     * STEP THROUGH ALL THE MULTIPLES OF PRIME STARTING AT PRIME^2,SETTING THE BITS
     CLEAR     C    ADR,MAXADR        * DONE?
               BL   OUTER              * GO BACK TO OUTER LOOP
               MN   @1@,BITS0&X2
               MA   STEP,X2           * INCREMENT X2 BY STEP
               A    STEP,ADR          * INCREMENT ADR BY STEP
               B    CLEAR

     * END OF MAIN PROGRAM

     * ROUTINE TO WRITE VALUE IN "TO" TO PRINTER IN 10 COLUMNS
     WRITE     SBR  WRITEX&3
               C    @60@,LINENO       * PRINT HEADER AT LINE 60
               BU   NOHEAD
               B    HEADER

     NOHEAD    MCW  POS,X3
               LCA  @00,000@,200&X3
               MCE  TO,200&X3
               A    @8@,X3
               MZ   @0@,X3
               MCW  X3,POS
               C    @111@,POS         * 7+8*13 = 111
               BU   WRITEX
               W                       * LINE IS COMPLETE
               MCW  @007@,POS
               A    +1,LINENO
               MZ   @0@,LINENO
               CS   332
               CS
     WRITEX    B    000

     * ROUTINE TO PRINT THE NEXT HEADER LINE
     HEADER    SBR  HEADEX&3
               CC   1                       * EJECT PAGE

               MCW  LINE1,312
               MCW  @PAGE X OF 4@,330      * PAGE COUNT HEADER
               MCW  PAGENO,325
               W
               A    @1@,PAGENO
               MZ   @0@,PAGENO
               CS   332                          * BLANK LINE AFTER HEADER
               CS
               W
               MCW  @03@,LINENO                 * NOW ON LINE 3
     HEADEX    B    @000@


     * ROUTINE TO CONVERT 5-DIGIT ADDRESS TO 3-DIGIT ADDRESS.
     * FROM VAN SNYDER.
     * FASTEST ROUTINE TO CONVERT THE FIVE-DIGIT NUMBER IN ADR TO
     * A THREE CHARACTER ADDRESS,IN PLACE.  USES X1.  WOULD BE
     * SLOWER AND 14 CHARACTERS LONGER IF IT SAVED AND RESTORED X1.
     *

     CONV2     SBR  CONV2X&3
               MCW  ADR-3,X1
               MCW  @0@
               MZ   HZONE-15&X1,ADR-2
               MZ   LZONE-15&X1,ADR
     CONV2X    B    0-0
               END  START

ReadMe --------------------------------------------------------------------------

prime_demo3.cd

,008015,022026,030040/019,001L020100   ,047054,061068,072072)08108110220001
,008047/047046       /000H025B022100  4/061046,054061,068072,00104010400002
X1000X2000X3000                        L015099,087090,092095,09704010400003
REVISION 3 COMPILED ON MARCH 3, 2015   L036375,040040,040040,04004010400004
     250001250000158                   L030405,381386,391396,40140410400005
           000                         L014419,407412,417040,04004010400006
A LIST OF PRIME NUMBERS UNDER 25,000 GEL039458,040040,040040,04004010400007
NERATED BY THE IBM 1401 AT THE COMPUTERL039497)459459,040040,04004010400008
 HISTORY MUSEUM IN MOUNTAIN VIEW,CA    L035532)498498,040040,04004010400009
THIS PRINTOUT WAS GENERATED ON AN IBM 1L039571,040040,040040,04004010400010
401                                    L004575)572572,040040,04004010400011
COMPUTER AT THE COMPUTER HISTORY MUSEUML039614)576576,040040,04004010400012
,  MOUNTAIN VIEW, CALIFORNIA           L039653)615615,643040,04004010400013
   9ZRI9ZRI9ZRI9ZRI9999ZZZZRRRRIIII692 L038691,657673,689040,04004010400014
/299M375180ME9E411MF0?416MF0C656MF0D406L039?3H,?0D?1A,?1H?2E,?3B04010400015
BD9IMF0I380BC9DM390400BE5HM400419      L033?7A,?4C?5?,?5D?6A,?6E04010400016
M411094C094419BA2ASC6R1F0DBA7B/#F1B094 L038A0I,?7I?8F,?9A?9H,A0C04010400017
AF1C416B?7INN999999.B?0?G/332          L029A3H,A1GA2A,A2BA2I,A3?A3E10400018
///CF1G!0GB!0?S,0011                   L020A5H,A4?A4A,A4BA4I,A5DA5H10400019
B001001,BA5HNM094411#F1B411YF1H416     L034A9B,A6GA7A,A7BA7I,A8F04010400020
M416647AF1C416@F1I649AF2?649YF1H649    L035B2G,B0?B0G,B1DB2A,04004010400021
M649380BC9DC395380B?7BUM380400BE5H     L034B6A,B3EB3I,B4FB5A,B5H04010400022
M400403M380647@380653YF1H653M653380    L035B9F,B6IB7F,B8CB9?,04004010400023
SF2?380YF1H380?380649%F1I645YF1H647    L035C3A,C0DC1A,C1HC2E,04004010400024
M647400BE5HM400094M647400C400390B?7BT  L037C6H,C3IC4C,C5?C5G,C6D04010400025
DF0D6R1#403094A403400BC5GHD9HCF2B405   L036D0D,C7FC8C,C9?C9D,C9H04010400026
BD1D/BD9IM656099LF2H2?0E3802?0AF2I099  L037D4A,D1?D1D,D2AD2H,D3E04010400027
YF1H099M099656CF3B656BD9E/2MF0C656     L034D7E,D4ID5F,D6CD6H,D6I04010400028
AF1C405YF1H405/332/B000HE5GF1          L029E0D,D8CD9?,D9DD9E,D9IE0C10400029
M532312MF4C330M4063252AF0D406YF1H406   L036E4?,E1BE1I,E2FE2G,E3D04010400030
/332/2MF4E405BF4HHE9?M397089           L028E6H,E4EE4F,E4GE5D,E5HE6B10400031
MF1HY6V7398Y6X3400B0000000000000007    L035F0C,E7CE8?,E8GE9A,E9FF0A10400032
100002001ASHAY02                       L016F1I,F0EF1?,F1CF1D,F1HF1I10400033
36000,0008111PAGE X OF 403             L026F4E,F2AF2C,F2IF3?,F3CF4D10400034
000                                    L003F4H,040040,040040,04004010400035
                                       /?0?080                         0036

prime_demo3.lst

 BOOTSTRAP FOR CLEAR ,008015,022026,030040/019,001L020100   ,047054,061068,072072)0810811022                      1
 CLEAR OR BOOTSTRAP  ,008047/047046       /000H025B022100  4/061046,054061,068072,0010401040                      2
0                          PRIME                                                                          PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  101                JOB   PRIME
  102         * GENERATE PRIME NUMBERS. DEMO FOR COMPUTER HISTORY MUSEUM
  103         * KEN SHIRRIFF  HTTP://RIGHTO.COM
  104                HEAD                                                                                MACRO
              *************************** START OF HEAD MACRO **************************                 GEN
1                          AUTOCODER PROGRAM                                                              PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  105                JOB   AUTOCODER PROGRAM                                                             GEN
  106                CTL   6611  *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD                                GEN
              *                                                                                          GEN
  107         .READ  EQU   001                                                         0001              GEN
  108         .PUNCH EQU   101                                                         0101              GEN
  109         .PRINT EQU   201                                                         0201              GEN
              *                                                                                          GEN
  110                ORG   85                                                                 0085
  111                DCW   @X1@      *IDENTIFING FILLER                             2  0086              GEN      3
  112         X1     DCW   000       *INDEX REGISTER 1                              3  0089              GEN      3
  113                DCW   @X2@      *IDENTIFING FILLER                             2  0091              GEN      3
  114         X2     DCW   000       *INDEX REGISTER 2                              3  0094              GEN      3
  115                DCW   @X3@      *IDENTIFING FILLER                             2  0096              GEN      3
  116         X3     DCW   000       *INDEX REGISTER 3                              3  0099              GEN      3
              *                                                                                          GEN
  117                ORG   340       *ORG JUST AFTER PRINT BUFFER                             0340
              ****************************** END OF HEAD MACRO **************************                GEN
  118         * IMPORTANT NOTE ON THE BITMASK: IT HOLDS ODD NUMBERS,STARTING WITH 3.
  119         * SO N IS IN ADDRESS BITS0+(N-3)/2
  120         REV    DCW   @REVISION 3 COMPILED ON MARCH 3, 2015@                  36  0375                       4
  121         TO     DCW   #5         * TEMPORARY                                   5  0380                       5
  122         *
  123         MAX    DCW   @25000@    * MAXIMUM NUMBER TO PRINT                     5  0385                       5
  124         MAXADR DCW   @12500@    * MAX/2                                       5  0390                       5
  125         SQRT   DCW   @00158@    * SQRT(MAX)                                   5  0395                       5
  126         *
  127         ADR    DCW   #5                                                       5  0400                       5
  128         STEP   DCW   #3        * ADDRESS STEP WHEN MOVING THROUGH BITMASK     3  0403                       5
  129         LINENO DCW   #2        * LINE NUMBER ON PAGE                          2  0405                       5
  130         PAGENO DCW   #1                                                       1  0406                       6
  131         *
  132         PPTR   DCW   #5   * PRIME/2-1.5,AS A 3-CHAR ADDRESS                   5  0411                       6
  133         PPTR5  DCW   #5                 * PPTR AS 5-DIGIT VALUE,NOT ADDRE     5  0416                       6
  134         *  BITS[(N-1)/2] = 1 IF N HAS NOT BEEN ELIMINATED
  135         ENDADR DCW   @000@                                                    3  0419                       6
  136         *
  137                DCW   @A LIST OF PRIME NUMBERS UNDER 25,000 GE@               39  0458                       7
  138                DC    @NERATED BY THE IBM 1401 AT THE COMPUTER@               39  0497                       8
  139         LINE1  DC    @ HISTORY MUSEUM IN MOUNTAIN VIEW,CA@                   35  0532                       9
  140         *
  141                DCW   @THIS PRINTOUT WAS GENERATED ON AN IBM 1401 @           43  0575                      11
  142                DC    @COMPUTER AT THE COMPUTER HISTORY MUSEUM, @             41  0616                      13
  143         CREDIT DC    @ MOUNTAIN VIEW, CALIFORNIA@                            26  0642                      13
  144         *
  145         *
  146         *
  147         PROD   DCW   #11        * SIZEOF(COUNT)*2&1                          11  0653                      13
  148         POS    DCW   #3      * POSITION ON LINE.                              3  0656                      14
  149         *
  150         * CONVERSION CONSTANTS
1                          AUTOCODER PROGRAM                                                              PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  151         HZONE  DCW   @9ZRI9ZRI9ZRI9ZRI@                                      16  0672                      14
  152         LZONE  DCW   @9999ZZZZRRRRIIII@                                      16  0688                      14
  153         *
  154         BITS0  DCW   BITS-12499                                               3  0691  692                 14   692
  155         BITS   DS    12500      * LENGTH IS MAX/2.                              13191
  156                ORG   15000                                                             15000
  157         START  CS    299                                                      4 15000  / 299               15   299
  158                MCW   REV,180                * LEAVE ID BEHIND                 7 15004  M 375 180           15   375     180
  159                MCW   @00000@,PPTR                                             7 15011  M E9E 411           15 15595     411
  160                MCW   @00000@,PPTR5                                            7 15018  M F0? 416           15 15600     416
  161                MCW   @007@,POS              * NEEDS TO MATCH CODE IN WRIT     7 15025  M F0C 656           15 15603     656
  162                MCW   @1@,PAGENO                                               7 15032  M F0D 406           15 15604     406
  163                B     HEADER                  * PRINT HEADER                   4 15039  B D9I               16 15499
  164                MCW   @00002@,TO                                               7 15043  M F0I 380           16 15609     380
  165                B     WRITE                   * PRINT 2 AS A SPECIAL CASE      4 15050  B C9D               16 15394
  166         *
  167         *
  168         *  INITIALIZE END ADDRESS
  169                MCW   MAXADR,ADR                                               7 15054  M 390 400           16   390     400
  170                B     CONV2                                                    4 15061  B E5H               16 15558
  171                MCW   ADR,ENDADR                                               7 15065  M 400 419           16   400     419
  172         *
  173         *
  174         OUTER  MCW   PPTR,X2          * SEARCH FOR NEXT CLEAR BIT             7 15072  M 411 094           17   411     094
  175         SCAN   C     X2,ENDADR                                                7 15079  C 094 419           17   094     419
  176                BE    DONE                                                     5 15086  B A2A S             17 15121
  177                C     BITS0&X2,@1@      * FOUND A PRIME (BIT IS NOT 1)?        7 15091  C 6R1 F0D           17   691+2 15604
  178                BU    FOUND                                                    5 15098  B A7B /             17 15172
  179                MA    @001@,X2                                                 7 15103  # F1B 094           17 15612     094
  180                A     &1,PPTR5                                                 7 15110  A F1C 416           18 15613     416
  181                B     SCAN                                                     4 15117  B ?7I               18 15079
  182         DONE   NOP                                                            1 15121  N                   18
  183                EXIT                                                                                MACRO
              ********************************** START OF EXIT MACRO *************                       GEN
  184         EXIT   NOP   999,999         *LOAD THE A AND B REGISTERS              7 15122  N 999 999   GEN     18   999     999
  185                H                     *HALT OR I WILL SHOOT                    1 15129  .           GEN     18
              *                                                                                          GEN
  186                B     START,G         *IF G IS ON, RETURN TO START             5 15130  B ?0? G     GEN     18 15000
  187                CS    332             *CLEAR PRINT STORAGE                     4 15135  / 332       GEN     18   332
  188                CS                    *CLEAR PRINT STORAGE                     1 15139  /           GEN     19
  189                CS                    *CLEAR PUNCH STORAGE                     1 15140  /           GEN     19
  190                CS                    *CLEAR READ STORAGE                      1 15141  /           GEN     19
              *                                                                                          GEN
  191                C     @SHAY@,14007    *WERE WE LOADED WITH THE LOADER?         7 15142  C F1G !0G   GEN     19 15617   14007
  192                BE    14000           *YES WE WERE. TURN CONTROL               5 15149  B !0? S     GEN     19 14000
              *         OTHERWISE.....       *BACK TO THE LOADER                                         GEN
              *         GET READY TO BOOT FROM THE FOLLOWING DECK                                        GEN
              *                                                                                          GEN
  193                SW    001             *SET WORDMARK IN LOCATION 1              4 15154  , 001       GEN     19   001
  194         EXRED  R                     *READ FIRST CARD OF NEXT  DECK           1 15158  1           GEN     19
1                          AUTOCODER PROGRAM                                                              PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  195                BCE   001,001,,       *IS IT A COMMA?                          8 15159  B 001 001 , GEN     20   001     001
              *                              *BRANCH TO THE FIRST INSTRUCTION                            GEN
  196                B     EXRED           *CHECK THE NEXT ONE                      4 15167  B A5H       GEN     20 15158
  197                NOP                                                            1 15171  N           GEN     20
              *********************** END OF EXIT MACRO*************************                         GEN
              *                                                                                          GEN
  198         *
  199         FOUND  MCW   X2,PPTR           * FOUND A PRIME AT INDEX X2. NEED      7 15172  M 094 411           20   094     411
  200                MA    @001@,PPTR        * INCREMENT THE INDEX                  7 15179  # F1B 411           20 15612     411
  201                MZ    @0@,PPTR5                                                7 15186  Y F1H 416           20 15618     416
  202                MCW   PPTR5,PROD-6                                             7 15193  M 416 647           21   416     647
  203                A     &1,PPTR5                                                 7 15200  A F1C 416           21 15613     416
  204         *
  205         * PRIME = 2*INDEX+3,I.E. 2*TO+3
  206                M     @2@,PROD-4                                               7 15207  @ F1I 649           21 15619     649
  207                A     @3@,PROD-4        * ADD 3                                7 15214  A F2? 649           21 15620     649
  208                MZ    @0@,PROD-4        * CLEAR ZONE                           7 15221  Y F1H 649           21 15618     649
  209                MCW   PROD-4,TO                                                7 15228  M 649 380           22   649     380
  210                B     WRITE              * WRITE THE PRIME                     4 15235  B C9D               22 15394
  211                C     SQRT,TO           * DON'T CROSS OFF ANY MULTIPLES ON     7 15239  C 395 380           22   395     380
  212                BH    OUTER                                                    5 15246  B ?7B U             22 15072
  213         *
  214                MCW   TO,ADR            * CROSS OFF EVERY 2*PRIME (IGNORIN     7 15251  M 380 400           22   380     400
  215                B     CONV2                                                    4 15258  B E5H               22 15558
  216                MCW   ADR,STEP          * STEP HOLDS THE INCREMENT FOR CRO     7 15262  M 400 403           23   400     403
  217         * COMPUTE PRIME^2,WHICH IS WHERE TO START MARKING OFF NUMBERS
  218                MCW   TO,PROD-6                                                7 15269  M 380 647           23   380     647
  219                M     TO,PROD                                                  7 15276  @ 380 653           23   380     653
  220                MZ    @0@,PROD                                                 7 15283  Y F1H 653           23 15618     653
  221         * SUBTRACT 3 AND DIVIDE BY 2 TO CONVERT BACK TO INDEX
  222                MCW   PROD,TO                                                  7 15290  M 653 380           23   653     380
  223                S     @3@,TO                                                   7 15297  S F2? 380           24 15620     380
  224                MZ    @0@,TO                                                   7 15304  Y F1H 380           24 15618     380
  225                ZA    TO,PROD-4                                                7 15311  ? 380 649           24   380     649
  226                D     @2@,PROD-8                                               7 15318  % F1I 645           24 15619     645
  227                MZ    @0@,PROD-6        * PROD-6 IS NEW INDEX                  7 15325  Y F1H 647           24 15618     647
  228                MCW   PROD-6,ADR                                               7 15332  M 647 400           25   647     400
  229                B     CONV2                                                    4 15339  B E5H               25 15558
  230                MCW   ADR,X2            * X2 IS NEW INDEX AS AN ADDRESS        7 15343  M 400 094           25   400     094
  231                MCW   PROD-6,ADR        * ADR IS NEW INDEX AS A NUMBER         7 15350  M 647 400           25   647     400
  232         *
  233         * STEP THROUGH ALL THE MULTIPLES OF PRIME STARTING AT PRIME^2,SETTING THE B
  234         CLEAR  C     ADR,MAXADR        * DONE?                                7 15357  C 400 390           25   400     390
  235                BL    OUTER              * GO BACK TO OUTER LOOP               5 15364  B ?7B T             25 15072
  236                MN    @1@,BITS0&X2                                             7 15369  D F0D 6R1           26 15604     691+2
  237                MA    STEP,X2           * INCREMENT X2 BY STEP                 7 15376  # 403 094           26   403     094
  238                A     STEP,ADR          * INCREMENT ADR BY STEP                7 15383  A 403 400           26   403     400
  239                B     CLEAR                                                    4 15390  B C5G               26 15357
  240         *
  241         * END OF MAIN PROGRAM
1                          AUTOCODER PROGRAM                                                              PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  242         *
  243         * ROUTINE TO WRITE VALUE IN "TO" TO PRINTER IN 10 COLUMNS
  244         WRITE  SBR   WRITEX&3                                                 4 15394  H D9H               26 15498
  245                C     @60@,LINENO       * PRINT HEADER AT LINE 60              7 15398  C F2B 405           26 15622     405
  246                BU    NOHEAD                                                   5 15405  B D1D /             27 15414
  247                B     HEADER                                                   4 15410  B D9I               27 15499
  248         *
  249         NOHEAD MCW   POS,X3                                                   7 15414  M 656 099           27   656     099
  250                LCA   @00,000@,200&X3                                          7 15421  L F2H 2?0           27 15628     200+3
  251                MCE   TO,200&X3                                                7 15428  E 380 2?0           27   380     200+3
  252                A     @8@,X3                                                   7 15435  A F2I 099           27 15629     099
  253                MZ    @0@,X3                                                   7 15442  Y F1H 099           28 15618     099
  254                MCW   X3,POS                                                   7 15449  M 099 656           28   099     656
  255                C     @111@,POS         * 7&8*13 = 111                         7 15456  C F3B 656           28 15632     656
  256                BU    WRITEX                                                   5 15463  B D9E /             28 15495
  257                W                        * LINE IS COMPLETE                    1 15468  2                   28
  258                MCW   @007@,POS                                                7 15469  M F0C 656           28 15603     656
  259                A     &1,LINENO                                                7 15476  A F1C 405           29 15613     405
  260                MZ    @0@,LINENO                                               7 15483  Y F1H 405           29 15618     405
  261                CS    332                                                      4 15490  / 332               29   332
  262                CS                                                             1 15494  /                   29
  263         WRITEX B     000                                                      4 15495  B 000               29   000
  264         *
  265         * ROUTINE TO PRINT THE NEXT HEADER LINE
  266         HEADER SBR   HEADEX&3                                                 4 15499  H E5G               29 15557
  267                CC    1                       * EJECT PAGE                     2 15503  F 1                 29
  268         *
  269                MCW   LINE1,312                                                7 15505  M 532 312           30   532     312
  270                MCW   @PAGE X OF 4@,330      * PAGE COUNT HEADER               7 15512  M F4C 330           30 15643     330
  271                MCW   PAGENO,325                                               7 15519  M 406 325           30   406     325
  272                W                                                              1 15526  2                   30
  273                A     @1@,PAGENO                                               7 15527  A F0D 406           30 15604     406
  274                MZ    @0@,PAGENO                                               7 15534  Y F1H 406           30 15618     406
  275                CS    332                          * BLANK LINE AFTER HEAD     4 15541  / 332               31   332
  276                CS                                                             1 15545  /                   31
  277                W                                                              1 15546  2                   31
  278                MCW   @03@,LINENO                 * NOW ON LINE 3              7 15547  M F4E 405           31 15645     405
  279         HEADEX B     @000@                                                    4 15554  B F4H               31 15648
  280         *
  281         *
  282         * ROUTINE TO CONVERT 5-DIGIT ADDRESS TO 3-DIGIT ADDRESS.
  283         * FROM VAN SNYDER.
  284         * FASTEST ROUTINE TO CONVERT THE FIVE-DIGIT NUMBER IN ADR TO
  285         * A THREE CHARACTER ADDRESS,IN PLACE.  USES X1.  WOULD BE
  286         * SLOWER AND 14 CHARACTERS LONGER IF IT SAVED AND RESTORED X1.
  287         *
  288         *
  289         CONV2  SBR   CONV2X&3                                                 4 15558  H E9?               31 15590
  290                MCW   ADR-3,X1                                                 7 15562  M 397 089           31   397     089
  291                MCW   @0@                                                      4 15569  M F1H               32 15618
1                          AUTOCODER PROGRAM                                                              PAGE    6
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  292                MZ    HZONE-15&X1,ADR-2                                        7 15573  Y 6V7 398           32   657+1   398
  293                MZ    LZONE-15&X1,ADR                                          7 15580  Y 6X3 400           32   673+1   400
  294         CONV2X B     0-0                                                      4 15587  B 000               32   000
                     DCW   @00000@                                                  5 15595              LIT     32
                     DCW   @00000@                                                  5 15600              LIT     32
                     DCW   @007@                                                    3 15603              LIT     32
                     DCW   @1@                                                      1 15604              LIT     33
                     DCW   @00002@                                                  5 15609              LIT     33
                     DCW   @001@                                                    3 15612              LIT     33
                     DCW   &1                                                       1 15613              LIT     33
                     DCW   @SHAY@                                                   4 15617              LIT     33
                     DCW   @0@                                                      1 15618              LIT     33
                     DCW   @2@                                                      1 15619              LIT     33
                     DCW   @3@                                                      1 15620              LIT     34
                     DCW   @60@                                                     2 15622              LIT     34
                     DCW   @00,000@                                                 6 15628              LIT     34
                     DCW   @8@                                                      1 15629              LIT     34
                     DCW   @111@                                                    3 15632              LIT     34
                     DCW   @PAGE X OF 4@                                           11 15643              LIT     34
                     DCW   @03@                                                     2 15645              LIT     34
                     DCW   @000@                                                    3 15648              LIT     35
  295                END   START                                                             / ?0? 080              15000
1                                                                                                         PAGE    7
0SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS

 .PRINT   0201: 0    .PUNCH   0101: 0    .READ    0001: 0    ADR      0400: 0    BITS    13191: 0    BITS0    0691: 0
 CLEAR   15357: 0    CONV2   15558: 0    CONV2X  15587: 0    CREDIT   0642: 0    DONE    15121: 0    ENDADR   0419: 0
 EXIT    15122: 0    EXRED   15158: 0    FOUND   15172: 0    HEADER  15499: 0    HEADEX  15554: 0    HZONE    0672: 0
 LINE1    0532: 0    LINENO   0405: 0    LZONE    0688: 0    MAX      0385: 0    MAXADR   0390: 0    NOHEAD  15414: 0
 OUTER   15072: 0    PAGENO   0406: 0    POS      0656: 0    PPTR     0411: 0    PPTR5    0416: 0    PROD     0653: 0
 REV      0375: 0    SCAN    15079: 0    SQRT     0395: 0    START   15000: 0    STEP     0403: 0    TO       0380: 0
 WRITE   15394: 0    WRITEX  15495: 0    X1       0089: 0    X2       0094: 0    X3       0099: 0

0UNREFERENCED SYMBOLS

 .PRINT .PUNCH .READ  CREDIT EXIT   MAX

prime_demo3.ReadMe

README file for prime_demo
Friday, March 06, 2015

prime_demo is a demonstration program run on the IBM 1401
It uses the sieve of Eratosthenes an ancient algorithm for finding all prime numbers up to any given limit.

For this program, the given limit is 25,000 due to the memory limitation of the computer.

The program will terminate with a halt.
If you want to run it again with a new set of cards, set sense switch G on, clear the card reader,
place the second date, name and EOF cards in the reader and press start.

If you don?t want to run it again, leave sense switch  G off and when you press start,
it will look for and read in the next program.

--------------------------------------------------------------------

TapeDemo7.2 .s .lst .cd .out .ReadMe

TapeDemo7.2.s

               HEAD
     *
     TSIZE     EQU  004       *SIZE OF TAPE RECORD TO WRITE
     TBUFF     EQU  4000      *PUT THE TAPE BUFFER UP IN HIGH MEMORY
     *
     *
     IDENT     DCW  @TAPE DEMO PROGRAM VERSION 7.2 03/4/2015@
     GRPMRK    DCW  @"@       *DEFINE GROUP MARK
     *
     RECSIZ    DCW  800
     TNUMB     DCW  0000
     SSCNT     DCW  0
     DUMDRV    DCW  0
     LOOP      DCW  0000
     D1        DCW  0         *DID WE USE DRIVE ONE?
     D2        DCW  0         *DID WE USE DRIVE TWO?
     D3        DCW  0         *DID WE USE DRIVE THREE?
     DNOW      DCW  0         *WHICH DRIVE ARE WE USING NOW?
     TBLKN     DSA  800       *800  CHARACTER RECORDS FOR BLANKS
     TRECS     DCW  @06000@   *6000 8000 CHAR RECS SB 50% OF REEL
     MAXREC    DCW  @00000@   *HOW NMANY TO WRITE
     RECWR     DCW  @00000@   *NUMBER OF RECORDS WRITTEN
               DCW  @ TAPE DRIVE 1 @
     ERR1      DCW  @00000@   *NUMBER OF ERRORS ON DRIVE 1
               DCW  @ TAPE DRIVE 2 @
     ERR2      DCW  @00000@   *NUMBER OF ERRORS ON DRIVE 2
               DCW  @ TAPE DRIVE 3 @
     ERR3      DCW  @00000@   *NUMBER OF ERRORS ON DRIVE 3
     RNDTBL    EQU  *
               DC   @243134383215212616243126211428241812183411112832@
               DC   @323418281238261437151834152524371723222937261712@
               DC   @273428133118381727283229173323351318393617283312@
               DC   @332811252235372426131113113237323729183724182226@
               DC   @371334342338192238183827243728261938262727262931@
               DC   @272827312323182231332128141411311626343524222213@
               DC   @182736282833261629133134123815213213122614282614@
               DC   @151611221511383115361413333126271131292337161326@
               DC   @193733343126381239181712193116113129361617383421@
               DC   @183123253927113718362418141827221215193627371634@
               DC   @333119211526213736343228312225282833353138182615@
               DC   @261427283434153735391116233312131422162718213699@
     *
     **********************************************************************
     *
     START     MCW  IDENT,180        *PUT IDENT IN PUNCH BUFFER
               NOP  111,111          *PUT A VALUE IN A AND B
               H                     *HALT AND WAIT FOR THE OPERATOR
     START2    NOP
               CS   332              *CLEAR 332 TO 300
               CS                    *CLEAR 299 TO 200
               SW   201              *SET WORD MARK FOR PRINTING
     *
     *PRINT HEADING
     *
               B    SKPRT,E          *SKIP IF LOOPING
               MCW  IDENT,247
               W
               CS   299
               MCW  @SENSE SWITCH B = TAPE DRIVE  1 ONLY      @,250
               W
               CS   299
               MCW  @SENSE SWITCH C = TAPE DRIVES 1 & 2       @,250
               W
               CS   299
               MCW  @SENSE SWITCH D = TAPE DRIVES 1 & 2 & 3   @,250
               W
               CS   299
               MCW  @SENSE SWITCH E = LOOP TEST PROGRAM       @,250
               W
               CS   299
               MCW  @SENSE SWITCH F = TERMINATE PROGRAM       @,250
               W
               CS   299
               MCW  @SENSE SWITCH G = RERUN THE PROGRAM AFTER @,250
               MCW  @PROGRAM HALT    @,266
               W
               CS   299
               W
     SKPRT     MCW  @0@,SSCNT        *RESET SENSE SWITCH COUNT
               MCW  @N@,D1           *RESET THE DRIVE FLAGS
               MCW  @N@,D2           *RESET THE DRIVE FLAGS
               MCW  @N@,D3           *RESET THE DRIVE FLAGS
     *
               B    SWB,B            *BRANCE IF SS B IS ON
               B    TSSC             *BRANCH TO TEST SS C
     SWB       A    @1@,SSCNT        *ADD 1 TO SS COUNT
               MCW  @Y@,D1           *WE USED DRIVE 1
               MCW  @06000@,MAXREC   *WRITE 6000 RECORDS
     TSSC      B    SWC,C            *BRANCE IF SS C IS ON
               B    TSSD             *BRANCH TO TEST SS D
     SWC       A    @1@,SSCNT        *ADD 1 TO SS COUNT
               MCW  @Y@,D1           *WE USED DRIVE 1
               MCW  @Y@,D2           *WE USED DRIVE 2
               MCW  @12000@,MAXREC   *WRITE 12000 RECORDS
     TSSD      B    SWD,D            *BRANCE IF SS D IS ON
               B    TSSE             *BRANCH TO TEST SS E
     SWD       A    @1@,SSCNT        *ADD 1 TO SS COUNT
               MCW  @Y@,D1           *WE USED DRIVE 1
               MCW  @Y@,D2           *WE USED DRIVE 2
               MCW  @Y@,D3           *WE USED DRIVE 3
               MCW  @18000@,MAXREC   *WRITE 18000 RECORDS
     TSSE      NOP                   *WE DON'T TEST BEYONE HERE
               BCE  RUN,SSCNT,1      *IF WE HAVE NO DRIVES OR TOO MANY
     *****************************************************************
     *         HAD A PROBLEM SO PRINT INSTRUCTIONS
     *****************************************************************
     OOPS      MCW  @SENSE SWITCH ERROR. RESET AND TRY AGAIN@,250
               W
               CS   299                  *CLEAR PRINT STORAGE
               W                         *SPACE PAPER
               W                         *SPACE PAPER
               W                         *SPACE PAPER
               W                         *SPACE PAPER
               B    START                *HALT AND THEN START OVER
     RUN       NOP                      *CLEAN UP OF CODE
     DOTAP     MCW  @0000@,LOOP         *RESET LOOP COUNTER
               B    REWIND              *CALL THE REWIND SUBROUTINE
               MCW  @000@,X1            *CLEAR X1
               MA   RECSIZ,X1           *PUT TAPE SIZE IN X1
               LCA  GRPMRK,TBUFF&X1     *PUT THE GROUP MARK
     *                                  *AND WORD MARK OUT THERE
               MCW  @000@,X1            *CLEAR X1
               MCW  @000@,X2            *CLEAR X2
               MCW  @00000@,RECWR       *CLEAR RECORD COUNT
     DOTAP2    B    DONE,F              *DONE DOING WHAT YOU
     *                                  *ARE DOING IF SS F SET
               C    RECWR,MAXREC        *SEE IF WE HAVE WRITTEN THE MAX
               BL   DONE                *YES WE HAVE
               MN   RNDTBL&1&X1,DNOW    *PICK UP THE DRIVE INDICATOR
               BCE  CK1,DNOW,1          *CHECK IF DRIVE 1
               BCE  CK2,DNOW,2          *CHECK IF DRIVE 2
               BCE  CK3,DNOW,3          *CHECK IF DRIVE 3
               H    *-3                 *JUST IN CASE
     CK1       BCE  DRVOK,D1,Y          *IT IS READY
               B    WRITE3              *BYPASS
     CK2       BCE  DRVOK,D2,Y          *IT IS READY
               B    WRITE3              *BYPASS
     CK3       BCE  DRVOK,D3,Y          *IT IS READY
               B    WRITE3              *BYPASS
     DRVOK     MCW  DNOW,WRITE&3        *MODIFY THE WRITE INSTRUCTION
               MCW  @0000@,LOOP         *RESET LOOP COUNTER
               MN   RNDTBL&2&X2,LOOP    *SET UP THE LOOP
     *
     *
     * WRITE TAPE
     *
     WRITE     WT   1,TBUFF             *WRITE THE TAPE RECORD
     *
     *              THE ABOVE INSTRUCTION IS MODIFIED IN REAL TIME
     *
               B    DONE,K              *DONE IF END OF REEL
               B    TERR,L              *BRANCH ON TAPE ERROR
               A    @1@,RECWR           *ADD 1 TO RECORDS WRITTEN
               S    @1@,LOOP            *SUBTRACT 1 FROM NUMBER
               MZ   LOOP-1,LOOP         *CLEAR ZONE
               C    @0000@,LOOP         *HAVE WE HIT ZERO?
               BU   WRITE               *NO, WRITE ANOTHER
     WRITE3    MA   @2@,X1              *INCREMENT X1 FOR NEXT COMMAND
               BCE  RESET,RNDTBL&1&X1,9   *END OF TABLE?
               B    DOTAP2              *LETS GET THE NEXT
     RESET     MCW  @000@,X1            *RESET X1
               B    DOTAP2              *LETS GET THE NEXT
     *******************************************************************
     REWIND    SBR  REWX&3              *SET RETURN ADDRESS
               BCE  RT3,D3,Y            *THREE TAPES?
               BCE  RT2,D2,Y            *TWO TAPES?
               BCE  RT1,D1,Y            *ONLY ONE TAPE?
               H    *-3                 *JUST IN CASE OF ERROR
     RT3       RWD  3                   *REWIND TAPE 3
     RT2       RWD  2                   *REWIND TAPE 2
     RT1       RWD  1                   *REWIND TAPE 1
     REWX      B    000                 *RETURN ADDRESS
               NOP
     TERR      SBR  TERX&3              *SET RETURN ADDRESS
               BCE  TE1,DNOW,1          *ARE WE WORKING WITH DRIVE 1?
               BCE  TE2,DNOW,2          *ARE WE WORKING WITH DRIVE 2?
               BCE  TE3,DNOW,3          *ARE WE WORKING WITH DRIVE 3?
               B    TERX                *SHOULD NOT BE HERE BUT?
     TE1       A    @1@,ERR1            *INCREMENT ERR COUNT FOR DRIVE 1
               B    TERX                *EXIT
     TE2       A    @1@,ERR2            *INCREMENT ERR COUNT FOR DRIVE 2
               B    TERX                *EXIT
     TE3       A    @1@,ERR3            *INCREMENT ERR COUNT FOR DRIVE 3
               B    TERX                *EXIT
     TERX      B    000                 *RETURN ADDRESS
     *
     *
     *
     *  WE ARE DONE
     *
     DONE      B    REWIND             *CALL THE REWIND SUBROUTINE
               MCW  @NUMBER OF RECORDS WRITTEN @,230
               MCW  RECWR,235          *SET THE NUMBER
               W                       *PRINT
               CS   299                *CLEAR PRINT
               MCW  @TAPE DRIVE ERROR COUNTS   @,230
               W                       *PRINT
               CS   299                *CLEAR PRINT
               MCW  ERR3,260           *MOVE IN DATA FOR 3 DRIVES
               MCW                     *CHAIN
               MCW                     *CHAIN
               MCW                     *CHAIN
               MCW                     *CHAIN
               MCW                     *CHAIN
               W
               B    START2,E           *IF WE ARE LOOPING
               CS   332
               CS
               CC   1                  *TOP OF FORMS
               EXIT
     *
     *************************************************
               END  START

TapeDemo7.2.cd

,008015,022026,030040/019,001L020100   ,047054,061068,072072)08108110220001
,008047/047046       /000H025B022100  4/061046,054061,068072,00104010400002
X1000X2000X3000                        L015099,087090,092095,09704010400003
TAPE DEMO PROGRAM VERSION 7.2 03/4/2015L039378,040040,040040,04004010400004
"80000000000000                        L015393,380383,387388,38939310400005
000800060000000000000                  L021414,395396,397400,40541010400006
 TAPE DRIVE 1 00000 TAPE DRIVE 2 00000 L038452,429434,448040,04004010400007
 TAPE DRIVE 3 00000                    L019471,467040,040040,04004010400008
243134383215212616243126211428241812183L039510)472472,040040,04004010400009
411112832                              L009519)511511,040040,04004010400010
323418281238261437151834152524371723222L039558)520520,040040,04004010400011
937261712                              L009567)559559,040040,04004010400012
273428133118381727283229173323351318393L039606)568568,040040,04004010400013
617283312                              L009615)607607,040040,04004010400014
332811252235372426131113113237323729183L039654)616616,040040,04004010400015
724182226                              L009663)655655,040040,04004010400016
371334342338192238183827243728261938262L039702)664664,040040,04004010400017
727262931                              L009711)703703,040040,04004010400018
272827312323182231332128141411311626343L039750)712712,040040,04004010400019
524222213                              L009759)751751,040040,04004010400020
182736282833261629133134123815213213122L039798)760760,040040,04004010400021
614282614                              L009807)799799,040040,04004010400022
151611221511383115361413333126271131292L039846)808808,040040,04004010400023
337161326                              L009855)847847,040040,04004010400024
193733343126381239181712193116113129361L039894)856856,040040,04004010400025
617383421                              L009903)895895,040040,04004010400026
183123253927113718362418141827221215193L039942)904904,040040,04004010400027
627371634                              L009951)943943,040040,04004010400028
333119211526213736343228312225282833353L039990)952952,040040,04004010400029
138182615                              L009999)991991,040040,04004010400030
261427283434153735391116233312131422162L039'38)'00'00,040040,04004010400031
718213699M378180N111111.N              L025'63)'39'39,'48'55,'62'6310400032
/332/,201B/70EM3782472/299             L026'89,'68'69,'73'78,'85'8610400033
MY532502/299MY942502/299MZ35250        L031/20,'97'98,/02/09,/10/1410400034
2/299MZ762502/299M!172502              L025/45,/22/26,/33/34,/38/4510400035
/299M!58250M!742662/2992M!75387        L031/76,/50/57,/64/65,/69/7010400036
M!76393M!76394M!76395BS07BBS28A!77387  L037S13,/84/91,/98S03,S0704010400037
M!78393M!83409BS37CBS65A!77387M!78393  L037S50,S21S28,S33S37,S4404010400038
M!78394M!88409BS74DBT09A!77387M!78393  L037S87,S58S65,S70S74,S8104010400039
M!78394M!78395M!93409NBT383871MJ322502 L038T25,S95T02,T09T10,T18T2510400040
/2992222B'48N                          L013T38,T30T31,T32T33,T34T3810400041
MJ36392BV82MJ39089#382089L3790''MJ39089L039T77,T46T50,T57T64,T7104010400042
MJ39094MJ44414BX03FC414409BX03TD4X2396 L038U15,T85T92,T97U04,U0904010400043
BU443961BU563962BU683963.U40BU80393Y   L036U51,U24U32,U40U44,04004010400044
BV52BU80394YBV52BU80395YBV52M396V04    L035U86,U56U64,U68U76,U8004010400045
MJ36392D4P3392M%U100'WBX03KBW34LA!77414L039V25,U94V01,V09V14,V1904010400046
S!77392Y391392CJ36392BV01/#J45089      L033V58,V33V40,V47V52,04004010400047
BV714X29BT92MJ39089BT92HW32BW14395Y    L035V93,V67V71,V78V82,V8604010400048
BW19394YBW24393Y.W10U%U3RU%U2RU%U1RB000L039W32,W02W10,W14W19,W24W2910400049
NHX02BW663961BW773962BW883963BW99      L033W65,W34W38,W46W54,W6204010400050
A!77433BW99A!77452BW99A!77471BW99B000  L037X02,W73W77,W84W88,W95W9910400051
BV82MJ71230M4142352/299MJ972302        L031X33,X07X14,X21X22,X26X3310400052
/299M471260MMMMM                       L016X49,X38X45,X46X47,X48X4910400053
2B'63E/332/F1N999999.                  L021X70,X51X56,X60X61,X63X7010400054
B'48G/332///CK01!0GB!0?S               L024X94,X76X80,X81X82,X83X9010400055
,0011B001001,BX99N                     L018Y12,X99Y00,Y08Y12,04004010400056
SENSE SWITCH B = TAPE DRIVE  1 ONLY    L039Y51,040040,040040,04004010400057
                                       L002Y53)Y52Y52,040040,04004010400058
SENSE SWITCH C = TAPE DRIVES 1 & 2     L039Y92,040040,040040,04004010400059
                                       L002Y94)Y93Y93,040040,04004010400060
SENSE SWITCH D = TAPE DRIVES 1 & 2 & 3 L039Z33,040040,040040,04004010400061
                                       L002Z35)Z34Z34,040040,04004010400062
SENSE SWITCH E = LOOP TEST PROGRAM     L039Z74,040040,040040,04004010400063
                                       L002Z76)Z75Z75,040040,04004010400064
SENSE SWITCH F = TERMINATE PROGRAM     L039!15,040040,040040,04004010400065
                                       L002!17)!16!16,040040,04004010400066
SENSE SWITCH G = RERUN THE PROGRAM AFTEL039!56,040040,040040,04004010400067
R PROGRAM HALT    0N1                  L021!77)!57!57,!59!75,!76!7710400068
Y060001200018000                       L016!93,!79!84,!89040,04004010400069
SENSE SWITCH ERROR. RESET AND TRY AGAINL039J32,040040,040040,04004010400070
0000000000002NUMBER OF RECORDS WRITTEN L039J71,J37J40,J45J46,04004010400071
TAPE DRIVE ERROR COUNTS   SHAY         L030K01,J98040,040040,04004010400072
                                       /'48080                         0073

TapeDemo7.2.lst

 BOOTSTRAP FOR CLEAR ,008015,022026,030040/019,001L020100   ,047054,061068,072072)0810811022                      1
 CLEAR OR BOOTSTRAP  ,008047/047046       /000H025B022100  4/061046,054061,068072,0010401040                      2
0                                                                                                         PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  101                HEAD                                                                                MACRO
              *************************** START OF HEAD MACRO **************************                 GEN
1                          AUTOCODER PROGRAM                                                              PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  102                JOB   AUTOCODER PROGRAM                                                             GEN
  103                CTL   6611  *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD                                GEN
              *                                                                                          GEN
  104         .READ  EQU   001                                                         0001              GEN
  105         .PUNCH EQU   101                                                         0101              GEN
  106         .PRINT EQU   201                                                         0201              GEN
              *                                                                                          GEN
  107                ORG   85                                                                 0085
  108                DCW   @X1@      *IDENTIFING FILLER                             2  0086              GEN      3
  109         X1     DCW   000       *INDEX REGISTER 1                              3  0089              GEN      3
  110                DCW   @X2@      *IDENTIFING FILLER                             2  0091              GEN      3
  111         X2     DCW   000       *INDEX REGISTER 2                              3  0094              GEN      3
  112                DCW   @X3@      *IDENTIFING FILLER                             2  0096              GEN      3
  113         X3     DCW   000       *INDEX REGISTER 3                              3  0099              GEN      3
              *                                                                                          GEN
  114                ORG   340       *ORG JUST AFTER PRINT BUFFER                             0340
              ****************************** END OF HEAD MACRO **************************                GEN
  115         *
  116         TSIZE  EQU   004       *SIZE OF TAPE RECORD TO WRITE                     0004
  117         TBUFF  EQU   4000      *PUT THE TAPE BUFFER UP IN HIGH MEMORY            4000
  118         *
  119         *
  120         IDENT  DCW   @TAPE DEMO PROGRAM VERSION 7.2 03/4/2015@               39  0378                       4
  121         GRPMRK DCW   @"@       *DEFINE GROUP MARK                             1  0379              GMARK    5
  122         *
  123         RECSIZ DCW   800                                                      3  0382                       5
  124         TNUMB  DCW   0000                                                     4  0386                       5
  125         SSCNT  DCW   0                                                        1  0387                       5
  126         DUMDRV DCW   0                                                        1  0388                       5
  127         LOOP   DCW   0000                                                     4  0392                       5
  128         D1     DCW   0         *DID WE USE DRIVE ONE?                         1  0393                       5
  129         D2     DCW   0         *DID WE USE DRIVE TWO?                         1  0394                       6
  130         D3     DCW   0         *DID WE USE DRIVE THREE?                       1  0395                       6
  131         DNOW   DCW   0         *WHICH DRIVE ARE WE USING NOW?                 1  0396                       6
  132         TBLKN  DSA   800       *800  CHARACTER RECORDS FOR BLANKS             3  0399  800                  6   800
  133         TRECS  DCW   @06000@   *6000 8000 CHAR RECS SB 50% OF REEL            5  0404                       6
  134         MAXREC DCW   @00000@   *HOW NMANY TO WRITE                            5  0409                       6
  135         RECWR  DCW   @00000@   *NUMBER OF RECORDS WRITTEN                     5  0414                       6
  136                DCW   @ TAPE DRIVE 1 @                                        14  0428                       7
  137         ERR1   DCW   @00000@   *NUMBER OF ERRORS ON DRIVE 1                   5  0433                       7
  138                DCW   @ TAPE DRIVE 2 @                                        14  0447                       7
  139         ERR2   DCW   @00000@   *NUMBER OF ERRORS ON DRIVE 2                   5  0452                       7
  140                DCW   @ TAPE DRIVE 3 @                                        14  0466                       8
  141         ERR3   DCW   @00000@   *NUMBER OF ERRORS ON DRIVE 3                   5  0471                       8
  142         RNDTBL EQU   *                                                           0471
  143                DC    @243134383215212616243126211428241812183411112832@      48  0519                      10
  144                DC    @323418281238261437151834152524371723222937261712@      48  0567                      12
  145                DC    @273428133118381727283229173323351318393617283312@      48  0615                      14
  146                DC    @332811252235372426131113113237323729183724182226@      48  0663                      16
  147                DC    @371334342338192238183827243728261938262727262931@      48  0711                      18
1                          AUTOCODER PROGRAM                                                              PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  148                DC    @272827312323182231332128141411311626343524222213@      48  0759                      20
  149                DC    @182736282833261629133134123815213213122614282614@      48  0807                      22
  150                DC    @151611221511383115361413333126271131292337161326@      48  0855                      24
  151                DC    @193733343126381239181712193116113129361617383421@      48  0903                      26
  152                DC    @183123253927113718362418141827221215193627371634@      48  0951                      28
  153                DC    @333119211526213736343228312225282833353138182615@      48  0999                      30
  154                DC    @261427283434153735391116233312131422162718213699@      48  1047                      32
  155         *
  156         **********************************************************************
  157         *
  158         START  MCW   IDENT,180        *PUT IDENT IN PUNCH BUFFER              7  1048  M 378 180           32   378     180
  159                NOP   111,111          *PUT A VALUE IN A AND B                 7  1055  N 111 111           32   111     111
  160                H                      *HALT AND WAIT FOR THE OPERATOR         1  1062  .                   32
  161         START2 NOP                                                            1  1063  N                   32
  162                CS    332              *CLEAR 332 TO 300                       4  1064  / 332               33   332
  163                CS                     *CLEAR 299 TO 200                       1  1068  /                   33
  164                SW    201              *SET WORD MARK FOR PRINTING             4  1069  , 201               33   201
  165         *
  166         *PRINT HEADING
  167         *
  168                B     SKPRT,E          *SKIP IF LOOPING                        5  1073  B /70 E             33  1170
  169                MCW   IDENT,247                                                7  1078  M 378 247           33   378     247
  170                W                                                              1  1085  2                   33
  171                CS    299                                                      4  1086  / 299               33   299
  172                MCW   @SENSE SWITCH B = TAPE DRIVE  1 ONLY      @,250          7  1090  M Y53 250           34  1853     250
  173                W                                                              1  1097  2                   34
  174                CS    299                                                      4  1098  / 299               34   299
  175                MCW   @SENSE SWITCH C = TAPE DRIVES 1 & 2       @,250          7  1102  M Y94 250           34  1894     250
  176                W                                                              1  1109  2                   34
  177                CS    299                                                      4  1110  / 299               34   299
  178                MCW   @SENSE SWITCH D = TAPE DRIVES 1 & 2 & 3   @,250          7  1114  M Z35 250           34  1935     250
  179                W                                                              1  1121  2                   35
  180                CS    299                                                      4  1122  / 299               35   299
  181                MCW   @SENSE SWITCH E = LOOP TEST PROGRAM       @,250          7  1126  M Z76 250           35  1976     250
  182                W                                                              1  1133  2                   35
  183                CS    299                                                      4  1134  / 299               35   299
  184                MCW   @SENSE SWITCH F = TERMINATE PROGRAM       @,250          7  1138  M !17 250           35  2017     250
  185                W                                                              1  1145  2                   35
  186                CS    299                                                      4  1146  / 299               36   299
  187                MCW   @SENSE SWITCH G = RERUN THE PROGRAM AFTER @,250          7  1150  M !58 250           36  2058     250
  188                MCW   @PROGRAM HALT    @,266                                   7  1157  M !74 266           36  2074     266
  189                W                                                              1  1164  2                   36
  190                CS    299                                                      4  1165  / 299               36   299
  191                W                                                              1  1169  2                   36
  192         SKPRT  MCW   @0@,SSCNT        *RESET SENSE SWITCH COUNT               7  1170  M !75 387           36  2075     387
  193                MCW   @N@,D1           *RESET THE DRIVE FLAGS                  7  1177  M !76 393           37  2076     393
  194                MCW   @N@,D2           *RESET THE DRIVE FLAGS                  7  1184  M !76 394           37  2076     394
  195                MCW   @N@,D3           *RESET THE DRIVE FLAGS                  7  1191  M !76 395           37  2076     395
  196         *
  197                B     SWB,B            *BRANCE IF SS B IS ON                   5  1198  B S07 B             37  1207
1                          AUTOCODER PROGRAM                                                              PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  198                B     TSSC             *BRANCH TO TEST SS C                    4  1203  B S28               37  1228
  199         SWB    A     @1@,SSCNT        *ADD 1 TO SS COUNT                      7  1207  A !77 387           37  2077     387
  200                MCW   @Y@,D1           *WE USED DRIVE 1                        7  1214  M !78 393           38  2078     393
  201                MCW   @06000@,MAXREC   *WRITE 6000 RECORDS                     7  1221  M !83 409           38  2083     409
  202         TSSC   B     SWC,C            *BRANCE IF SS C IS ON                   5  1228  B S37 C             38  1237
  203                B     TSSD             *BRANCH TO TEST SS D                    4  1233  B S65               38  1265
  204         SWC    A     @1@,SSCNT        *ADD 1 TO SS COUNT                      7  1237  A !77 387           38  2077     387
  205                MCW   @Y@,D1           *WE USED DRIVE 1                        7  1244  M !78 393           38  2078     393
  206                MCW   @Y@,D2           *WE USED DRIVE 2                        7  1251  M !78 394           39  2078     394
  207                MCW   @12000@,MAXREC   *WRITE 12000 RECORDS                    7  1258  M !88 409           39  2088     409
  208         TSSD   B     SWD,D            *BRANCE IF SS D IS ON                   5  1265  B S74 D             39  1274
  209                B     TSSE             *BRANCH TO TEST SS E                    4  1270  B T09               39  1309
  210         SWD    A     @1@,SSCNT        *ADD 1 TO SS COUNT                      7  1274  A !77 387           39  2077     387
  211                MCW   @Y@,D1           *WE USED DRIVE 1                        7  1281  M !78 393           39  2078     393
  212                MCW   @Y@,D2           *WE USED DRIVE 2                        7  1288  M !78 394           40  2078     394
  213                MCW   @Y@,D3           *WE USED DRIVE 3                        7  1295  M !78 395           40  2078     395
  214                MCW   @18000@,MAXREC   *WRITE 18000 RECORDS                    7  1302  M !93 409           40  2093     409
  215         TSSE   NOP                    *WE DON'T TEST BEYONE HERE              1  1309  N                   40
  216                BCE   RUN,SSCNT,1      *IF WE HAVE NO DRIVES OR TOO MANY       8  1310  B T38 387 1         40  1338     387
  217         *****************************************************************
  218         *         HAD A PROBLEM SO PRINT INSTRUCTIONS
  219         *****************************************************************
  220         OOPS   MCW   @SENSE SWITCH ERROR. RESET AND TRY AGAIN@,250            7  1318  M J32 250           40  2132     250
  221                W                                                              1  1325  2                   40
  222                CS    299                  *CLEAR PRINT STORAGE                4  1326  / 299               41   299
  223                W                          *SPACE PAPER                        1  1330  2                   41
  224                W                          *SPACE PAPER                        1  1331  2                   41
  225                W                          *SPACE PAPER                        1  1332  2                   41
  226                W                          *SPACE PAPER                        1  1333  2                   41
  227                B     START                *HALT AND THEN START OVER           4  1334  B '48               41  1048
  228         RUN    NOP                       *CLEAN UP OF CODE                    1  1338  N                   41
  229         DOTAP  MCW   @0000@,LOOP         *RESET LOOP COUNTER                  7  1339  M J36 392           42  2136     392
  230                B     REWIND              *CALL THE REWIND SUBROUTINE          4  1346  B V82               42  1582
  231                MCW   @000@,X1            *CLEAR X1                            7  1350  M J39 089           42  2139     089
  232                MA    RECSIZ,X1           *PUT TAPE SIZE IN X1                 7  1357  # 382 089           42   382     089
  233                LCA   GRPMRK,TBUFF&X1     *PUT THE GROUP MARK                  7  1364  L 379 0''           42   379    4000+1
  234         *                                  *AND WORD MARK OUT THERE
  235                MCW   @000@,X1            *CLEAR X1                            7  1371  M J39 089           42  2139     089
  236                MCW   @000@,X2            *CLEAR X2                            7  1378  M J39 094           43  2139     094
  237                MCW   @00000@,RECWR       *CLEAR RECORD COUNT                  7  1385  M J44 414           43  2144     414
  238         DOTAP2 B     DONE,F              *DONE DOING WHAT YOU                 5  1392  B X03 F             43  1703
  239         *                                  *ARE DOING IF SS F SET
  240                C     RECWR,MAXREC        *SEE IF WE HAVE WRITTEN THE MAX      7  1397  C 414 409           43   414     409
  241                BL    DONE                *YES WE HAVE                         5  1404  B X03 T             43  1703
  242                MN    RNDTBL&1&X1,DNOW    *PICK UP THE DRIVE INDICATOR         7  1409  D 4X2 396           43   472+1   396
  243                BCE   CK1,DNOW,1          *CHECK IF DRIVE 1                    8  1416  B U44 396 1         44  1444     396
  244                BCE   CK2,DNOW,2          *CHECK IF DRIVE 2                    8  1424  B U56 396 2         44  1456     396
  245                BCE   CK3,DNOW,3          *CHECK IF DRIVE 3                    8  1432  B U68 396 3         44  1468     396
  246                H     *-3                 *JUST IN CASE                        4  1440  . U40               44  1440
  247         CK1    BCE   DRVOK,D1,Y          *IT IS READY                         8  1444  B U80 393 Y         44  1480     393
1                          AUTOCODER PROGRAM                                                              PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  248                B     WRITE3              *BYPASS                              4  1452  B V52               45  1552
  249         CK2    BCE   DRVOK,D2,Y          *IT IS READY                         8  1456  B U80 394 Y         45  1480     394
  250                B     WRITE3              *BYPASS                              4  1464  B V52               45  1552
  251         CK3    BCE   DRVOK,D3,Y          *IT IS READY                         8  1468  B U80 395 Y         45  1480     395
  252                B     WRITE3              *BYPASS                              4  1476  B V52               45  1552
  253         DRVOK  MCW   DNOW,WRITE&3        *MODIFY THE WRITE INSTRUCTION        7  1480  M 396 V04           45   396    1504
  254                MCW   @0000@,LOOP         *RESET LOOP COUNTER                  7  1487  M J36 392           46  2136     392
  255                MN    RNDTBL&2&X2,LOOP    *SET UP THE LOOP                     7  1494  D 4P3 392           46   473+2   392
  256         *
  257         *
  258         * WRITE TAPE
  259         *
  260         WRITE  WT    1,TBUFF             *WRITE THE TAPE RECORD               8  1501  M %U1 00' W         46   %U1    4000
  261         *
  262         *              THE ABOVE INSTRUCTION IS MODIFIED IN REAL TIME
  263         *
  264                B     DONE,K              *DONE IF END OF REEL                 5  1509  B X03 K             46  1703
  265                B     TERR,L              *BRANCH ON TAPE ERROR                5  1514  B W34 L             46  1634
  266                A     @1@,RECWR           *ADD 1 TO RECORDS WRITTEN            7  1519  A !77 414           46  2077     414
  267                S     @1@,LOOP            *SUBTRACT 1 FROM NUMBER              7  1526  S !77 392           47  2077     392
  268                MZ    LOOP-1,LOOP         *CLEAR ZONE                          7  1533  Y 391 392           47   391     392
  269                C     @0000@,LOOP         *HAVE WE HIT ZERO?                   7  1540  C J36 392           47  2136     392
  270                BU    WRITE               *NO, WRITE ANOTHER                   5  1547  B V01 /             47  1501
  271         WRITE3 MA    @2@,X1              *INCREMENT X1 FOR NEXT COMMAND       7  1552  # J45 089           47  2145     089
  272                BCE   RESET,RNDTBL&1&X1,9   *END OF TABLE?                     8  1559  B V71 4X2 9         48  1571     472+1
  273                B     DOTAP2              *LETS GET THE NEXT                   4  1567  B T92               48  1392
  274         RESET  MCW   @000@,X1            *RESET X1                            7  1571  M J39 089           48  2139     089
  275                B     DOTAP2              *LETS GET THE NEXT                   4  1578  B T92               48  1392
  276         *******************************************************************
  277         REWIND SBR   REWX&3              *SET RETURN ADDRESS                  4  1582  H W32               48  1632
  278                BCE   RT3,D3,Y            *THREE TAPES?                        8  1586  B W14 395 Y         48  1614     395
  279                BCE   RT2,D2,Y            *TWO TAPES?                          8  1594  B W19 394 Y         49  1619     394
  280                BCE   RT1,D1,Y            *ONLY ONE TAPE?                      8  1602  B W24 393 Y         49  1624     393
  281                H     *-3                 *JUST IN CASE OF ERROR               4  1610  . W10               49  1610
  282         RT3    RWD   3                   *REWIND TAPE 3                       5  1614  U %U3 R             49   %U3
  283         RT2    RWD   2                   *REWIND TAPE 2                       5  1619  U %U2 R             49   %U2
  284         RT1    RWD   1                   *REWIND TAPE 1                       5  1624  U %U1 R             49   %U1
  285         REWX   B     000                 *RETURN ADDRESS                      4  1629  B 000               49   000
  286                NOP                                                            1  1633  N                   50
  287         TERR   SBR   TERX&3              *SET RETURN ADDRESS                  4  1634  H X02               50  1702
  288                BCE   TE1,DNOW,1          *ARE WE WORKING WITH DRIVE 1?        8  1638  B W66 396 1         50  1666     396
  289                BCE   TE2,DNOW,2          *ARE WE WORKING WITH DRIVE 2?        8  1646  B W77 396 2         50  1677     396
  290                BCE   TE3,DNOW,3          *ARE WE WORKING WITH DRIVE 3?        8  1654  B W88 396 3         50  1688     396
  291                B     TERX                *SHOULD NOT BE HERE BUT?             4  1662  B W99               50  1699
  292         TE1    A     @1@,ERR1            *INCREMENT ERR COUNT FOR DRIVE 1     7  1666  A !77 433           51  2077     433
  293                B     TERX                *EXIT                                4  1673  B W99               51  1699
  294         TE2    A     @1@,ERR2            *INCREMENT ERR COUNT FOR DRIVE 2     7  1677  A !77 452           51  2077     452
  295                B     TERX                *EXIT                                4  1684  B W99               51  1699
  296         TE3    A     @1@,ERR3            *INCREMENT ERR COUNT FOR DRIVE 3     7  1688  A !77 471           51  2077     471
  297                B     TERX                *EXIT                                4  1695  B W99               51  1699
1                          AUTOCODER PROGRAM                                                              PAGE    6
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  298         TERX   B     000                 *RETURN ADDRESS                      4  1699  B 000               51   000
  299         *
  300         *
  301         *
  302         *  WE ARE DONE
  303         *
  304         DONE   B     REWIND             *CALL THE REWIND SUBROUTINE           4  1703  B V82               52  1582
  305                MCW   @NUMBER OF RECORDS WRITTEN @,230                         7  1707  M J71 230           52  2171     230
  306                MCW   RECWR,235          *SET THE NUMBER                       7  1714  M 414 235           52   414     235
  307                W                        *PRINT                                1  1721  2                   52
  308                CS    299                *CLEAR PRINT                          4  1722  / 299               52   299
  309                MCW   @TAPE DRIVE ERROR COUNTS   @,230                         7  1726  M J97 230           52  2197     230
  310                W                        *PRINT                                1  1733  2                   52
  311                CS    299                *CLEAR PRINT                          4  1734  / 299               53   299
  312                MCW   ERR3,260           *MOVE IN DATA FOR 3 DRIVES            7  1738  M 471 260           53   471     260
  313                MCW                      *CHAIN                                1  1745  M                   53
  314                MCW                      *CHAIN                                1  1746  M                   53
  315                MCW                      *CHAIN                                1  1747  M                   53
  316                MCW                      *CHAIN                                1  1748  M                   53
  317                MCW                      *CHAIN                                1  1749  M                   53
  318                W                                                              1  1750  2                   54
  319                B     START2,E           *IF WE ARE LOOPING                    5  1751  B '63 E             54  1063
  320                CS    332                                                      4  1756  / 332               54   332
  321                CS                                                             1  1760  /                   54
  322                CC    1                  *TOP OF FORMS                         2  1761  F 1                 54
  323                EXIT                                                                                MACRO
              ********************************** START OF EXIT MACRO *************                       GEN
  324         EXIT   NOP   999,999         *LOAD THE A AND B REGISTERS              7  1763  N 999 999   GEN     54   999     999
  325                H                     *HALT OR I WILL SHOOT                    1  1770  .           GEN     54
              *                                                                                          GEN
  326                B     START,G         *IF G IS ON, RETURN TO START             5  1771  B '48 G     GEN     55  1048
  327                CS    332             *CLEAR PRINT STORAGE                     4  1776  / 332       GEN     55   332
  328                CS                    *CLEAR PRINT STORAGE                     1  1780  /           GEN     55
  329                CS                    *CLEAR PUNCH STORAGE                     1  1781  /           GEN     55
  330                CS                    *CLEAR READ STORAGE                      1  1782  /           GEN     55
              *                                                                                          GEN
  331                C     @SHAY@,14007    *WERE WE LOADED WITH THE LOADER?         7  1783  C K01 !0G   GEN     55  2201   14007
  332                BE    14000           *YES WE WERE. TURN CONTROL               5  1790  B !0? S     GEN     55 14000
              *         OTHERWISE.....       *BACK TO THE LOADER                                         GEN
              *         GET READY TO BOOT FROM THE FOLLOWING DECK                                        GEN
              *                                                                                          GEN
  333                SW    001             *SET WORDMARK IN LOCATION 1              4  1795  , 001       GEN     56   001
  334         EXRED  R                     *READ FIRST CARD OF NEXT  DECK           1  1799  1           GEN     56
  335                BCE   001,001,,       *IS IT A COMMA?                          8  1800  B 001 001 , GEN     56   001     001
              *                              *BRANCH TO THE FIRST INSTRUCTION                            GEN
  336                B     EXRED           *CHECK THE NEXT ONE                      4  1808  B X99       GEN     56  1799
  337                NOP                                                            1  1812  N           GEN     56
              *********************** END OF EXIT MACRO*************************                         GEN
              *                                                                                          GEN
  338         *
1                          AUTOCODER PROGRAM                                                              PAGE    7
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD A-ADDR  B-ADDR

  339         *************************************************
                     DCW   @SENSE SWITCH B = TAPE DRIVE  1 ONLY      @             41  1853              LIT     58
                     DCW   @SENSE SWITCH C = TAPE DRIVES 1 & 2       @             41  1894              LIT     60
                     DCW   @SENSE SWITCH D = TAPE DRIVES 1 & 2 & 3   @             41  1935              LIT     62
                     DCW   @SENSE SWITCH E = LOOP TEST PROGRAM       @             41  1976              LIT     64
                     DCW   @SENSE SWITCH F = TERMINATE PROGRAM       @             41  2017              LIT     66
                     DCW   @SENSE SWITCH G = RERUN THE PROGRAM AFTER @             41  2058              LIT     68
                     DCW   @PROGRAM HALT    @                                      16  2074              LIT     68
                     DCW   @0@                                                      1  2075              LIT     68
                     DCW   @N@                                                      1  2076              LIT     68
                     DCW   @1@                                                      1  2077              LIT     68
                     DCW   @Y@                                                      1  2078              LIT     69
                     DCW   @06000@                                                  5  2083              LIT     69
                     DCW   @12000@                                                  5  2088              LIT     69
                     DCW   @18000@                                                  5  2093              LIT     69
                     DCW   @SENSE SWITCH ERROR. RESET AND TRY AGAIN@               39  2132              LIT     70
                     DCW   @0000@                                                   4  2136              LIT     71
                     DCW   @000@                                                    3  2139              LIT     71
                     DCW   @00000@                                                  5  2144              LIT     71
                     DCW   @2@                                                      1  2145              LIT     71
                     DCW   @NUMBER OF RECORDS WRITTEN @                            26  2171              LIT     71
                     DCW   @TAPE DRIVE ERROR COUNTS   @                            26  2197              LIT     72
                     DCW   @SHAY@                                                   4  2201              LIT     72
  340                END   START                                                             / '48 080               1048
1                                                                                                         PAGE    8
0SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS    SYMBOL   ADDRESS

 .PRINT   0201: 0    .PUNCH   0101: 0    .READ    0001: 0    CK1      1444: 0    CK2      1456: 0    CK3      1468: 0
 D1       0393: 0    D2       0394: 0    D3       0395: 0    DNOW     0396: 0    DONE     1703: 0    DOTAP    1339: 0
 DOTAP2   1392: 0    DRVOK    1480: 0    DUMDRV   0388: 0    ERR1     0433: 0    ERR2     0452: 0    ERR3     0471: 0
 EXIT     1763: 0    EXRED    1799: 0    GRPMRK   0379: 0    IDENT    0378: 0    LOOP     0392: 0    MAXREC   0409: 0
 OOPS     1318: 0    RECSIZ   0382: 0    RECWR    0414: 0    RESET    1571: 0    REWIND   1582: 0    REWX     1629: 0
 RNDTBL   0471: 0    RT1      1624: 0    RT2      1619: 0    RT3      1614: 0    RUN      1338: 0    SKPRT    1170: 0
 SSCNT    0387: 0    START    1048: 0    START2   1063: 0    SWB      1207: 0    SWC      1237: 0    SWD      1274: 0
 TBLKN    0399: 0    TBUFF    4000: 0    TE1      1666: 0    TE2      1677: 0    TE3      1688: 0    TERR     1634: 0
 TERX     1699: 0    TNUMB    0386: 0    TRECS    0404: 0    TSIZE    0004: 0    TSSC     1228: 0    TSSD     1265: 0
 TSSE     1309: 0    WRITE    1501: 0    WRITE3   1552: 0    X1       0089: 0    X2       0094: 0    X3       0099: 0

0UNREFERENCED SYMBOLS

 .PRINT .PUNCH .READ  DOTAP  DUMDRV EXIT   OOPS   TBLKN  TNUMB  TRECS  TSIZE  X3

TapeDemo7.2.out

        TAPE DEMO PROGRAM VERSION 7.2 03/4/2015
         SENSE SWITCH B = TAPE DRIVE  1 ONLY
         SENSE SWITCH C = TAPE DRIVES 1 & 2
         SENSE SWITCH D = TAPE DRIVES 1 & 2 & 3
         SENSE SWITCH E = LOOP TEST PROGRAM
         SENSE SWITCH F = TERMINATE PROGRAM
         SENSE SWITCH G = RERUN THE PROGRAM AFTER PROGRAM HALT

    NUMBER OF RECORDS WRITTEN 18004
    TAPE DRIVE ERROR COUNTS
    TAPE DRIVE 1 00000 TAPE DRIVE 2 00000 TAPE DRIVE 3 00000

TapeDemo7.2.ReadMe

README file for Tape Demo
Saturday, March 07, 2015

Tape Demo is a demonstration program run on the IBM 1401 computer.

The IBM 1401 uses tapes to store large amounts of data.
When processing that data, the each active tape drive would randomly
be sleected and read or write data.

This program makes the dape drices appear to be working very hard.
The program supports the use of one, two or three drives.
When a tape drive is selected, 1 to 9 records are written to the drive.
After a half a reel of tape has been written, the tape drives go into high-speed rewwind.

The program uses the IBM 1401 sense switches to control the actions of the program.
SENSE SWITCH A = (NOT USED)
SENSE SWITCH B = TAPE DRIVE  1 ONLY
SENSE SWITCH C = TAPE DRIVES 1 & 2
SENSE SWITCH D = TAPE DRIVES 1 & 2 & 3
SENSE SWITCH E = LOOP TEST PROGRAM
SENSE SWITCH F = TERMINATE PROGRAM

The program will terminate with a halt.
If you want to run it again, set sense switch H on, and press start.

If you don?t want to run it again, leave sense switch H off and when you press start,
  it will look for and read in the next program.

Radio Music - 'IBM 1401 memory music'
Radio Music - 'IBM 1401 memory music' finally came to our 1401 - In December 2008, Robert Garner found a 1401 card deck/program on e-bay that made musical radio noise. (.pdf of object deck)

- Hold an AM radio (tuned away from a station) near/on a 1401 running this (or many other programs we may/maynot have) and listen to the radio or click here to see and hear compressed file. .wmv file, YouTube version. (The compression hurt the video, but not the sound. The sound is NOT concert hall quality!!)

Table of Contents:
- Re: Reverse assembling the 1401 AM radio music program - Michael Albaugh
- Here's the PDF of a scan of a listing - Van Snyder
-
-
-
-
-
-
-

Re: Reverse assembling the 1401 AM radio music program - Michael Albaugh
> From: Michael Albaugh 
> Subject: Re: Reverse assembling the 1401 AM radio music program
> Date: June 23, 2019 at 3:27:43 PM PDT
> To: Robert Garner 
>
> I am running short of time, but did make some progress on the
> Radio Music program. The attached RMusic.txt is the result of
> my typing in the _code_ from the listing, and processing it
> to add a (half-assed) disassembly in the unused columns of the
> slightly odd loader format.
>
> The files
     bootrm.txt
     payload.txt
     and start.txt
> are annotated versions of the bootstrap, payload, and "start card"
> for the code. I only typed in one line of the data block, as I am
> way behind. That line is bootrm.txt
>
> Feel free to share these, as raw as they are. Possibly someone else
> will take up the torch and make amazing progress while I am off-line.
>
> I'll have my phone (408 568 4563) but not doing heavy-duty programming on it.
>
> -Mike
	

Here's the PDF of a scan of a listing - Van Snyder
From:	Van Snyder < van.snyder@sbcglobal.net >
Date:	Tue, Jun 25, 2019 11:10 am

Here's the PDF of a scan of a listing I got from somebody
           (maybe Rob) in 2010.

I disassembled and reverse engineered the code, and made three versions.
RadioMusic.s is straight disassembly, with some reverse engineering
           to add comments and create "meaningful" labels.
RadioMusic-1.s has the code "straightened out."
RadioMusic-2.s has the code "straightened out"
           and uses indexing to simplify it.

I didn't transcribe the data from the PDF.

Van
	

(Added Dec 22, 2008) - J?hann Gunnarsson, of Icelandic "IBM 1401: A User's Manual" music fame, has identified the tune as "Wheels". He e-mails " It can be found in various versions on Youtube, for instance performed by Chet Atkins: http://www.youtube.com/watch?v=YzL4ntNwpH8&feature=related"..
(Added Dec 23, 2008)
I appealed for help
 "Unfortunately I don't know how to give it a good category
    One can say "1403 Chain Printer Music"
    But the best I can come up with for music generated by
        Radio Frequency Interference
            from a 1401 is
       "1401 RFI Music"
    which is an even a less lovely name than "Chain Printer Music"

The whole field of "computer music" seems to beg for more descriptive names:
      - computer composed tunes
      - audible music caused by actions of a computer by
             - printers of various kinds
             - a loud speaker connected to various parts of a computer circuit
             - Radio Frequency Interference
     - and probably many categories I have forgotten"
J?hann Gunnarsson responded with:
"Regarding descriptive names for this kind of music, I have always connected it with the magnetic core memory. The music pattern, pitch and length of notes is after all controlled by what is going on in the memory.
"If I remember correctly, in order to get best results we used to put the AM radio right on top of the memory module. I vaguely remember that we could hear RFI noise from the IBM 1620 as well, although we never really tried to find out how to play it.
"In my opinion, 'IBM 1401 memory music' is quite a descriptive name for this phenomenon."


J?hann's comments, above, seem good to me:

  1. A major source of the Radio Interference is likely the core memory. To make our "coincident current" core memory work, two sizeable currents ( X and Y currents, about 1/2 amp each) need to be started and stopped suddenly. These take large paths in the core memory area (useful to radiate magnetic pulses efficiently).

  2. The IBM 1620 at Computer History Museum had its memory in a temperature controlled metal box (a long story). The metal box likely shielded much/most of the RFI that would otherwise escaped to be received elsewhere, like by radio near the memory.

--------------------------------------------------------------------

Pi500-25 .s .lst .cd .out

Pi500-25.s

               JOB       PI DEMO
     * HISTORY
     *   00 WORKS - 4 BUFFERS
     *   05 SHORTEN TO 500 DIGITS
     *       TIMER SAYS 3.5 MINUTES RUNNING TIME
     * PRESENT PURPOSE
     *   MAKE PSEUDO-CODE OF FUNCTION AND FLOW
     *  RE-RUNABLE, ANY NON-CONSTANT MUST BE INITIALIZED
     *  SPEC:
     *    A) BE ABLE TO REPEATED RUN, BUT HALT DOES NOT GO TO NEXT STEP??
     *    B) SEPERATE DECKS FOR VARIOUS SIZES WHICH AFFECTS RUNNING TIME
     *       INITIAL = SIZE 500
     *
     *    C) PRINT 25 CHARACTER LINE AS SOON AS COMPUTED
     *          DO NOT PRINT SUB LINES, VISITORS DO NOT HEAR THEM
     * GENERAL FLOW
     *    INITIALIZE - ACCUMULATOR, ADDSUB CONTOL, DIVISORS, ...
     *
     * SO,   D0 BUFFFER SIZE 2020 CHARACTERS
     *       INITIAL DEBUG, BEFORE VARIABLE SIZE WITH THAT
     *       TRY STANDARD ON 50 DIGITS/LINE, MAY HAVE TO GO TO 20??
     *
     * PSEUDO-CODE
     *
     * START INITIALIZE  (400)
     *      COMPUTE  1 ITERATION ATAN (1/5)   B5   + 1 DIGIT
     *  L1  COMPUTE  1 ITERATION ATAN (1/5)   B5   + 1 DIGIT
     *      IF ZB5 < ZB239 THEN L1
     *      COMPUTE  1 ITERATION ATAN (1/239) B239 + 4 DIGIT
     *      IF ZB5 > PNTCNT+31 GO TO L1
     *      CALL PRINTD
     *      IF PNTCNT < 500 GOTO L1
     *      PRINT TOP OF FORM
     *      IF SWITCH G SET, GO TO START
     *      HALT
     *      BR START
     *
               CTL       6611  *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD
     *   1         2         3         4         5         6         7         8
     *78901234567890123456789012345678901234567890123456789012345678901234567890
     * label   | op | OPERATION                                         |xxxxxxx
               ORG  87
     X1        DSA  0                  index register 1
               ORG  92
     X2        DSA  0                  index register 2
               ORG  97
     X3        DSA  0                  index register 3
     *
     * start storage areas
     *  small areas
               ORG  100     * PUT SMALL STUFF IN PUNCH AREA
     ZB5       DCW  000000  * NUMBER OF LEADING ZEROS IN B5
     ZB239     DCW  000000  * NUMBER OF LEADING ZEROS IN B239
     B5WD      DCW  000000  * DIVISOR FOR WORKING AREA FOR B5 OPERATIONS
     B239WD    DCW  000000  * DIVISOR FOR WORKING AREA FOR B239 OPERATIONS
     AF5       DCW  1         *  "1"=ADD, "0" OR OTHER = SUBTRACT B5 OPS
     AF239     DCW  0         *  "1"=ADD, "0" OR OTHER = SUBTRACT B239 OPS
     PRTCNT    DCW  000000    * ITERATION COUNTER, STARTS AT ZERO, INC 50
     LSTCHR    DCW  000000    * LAST PRINTED CHAR
     LIMPCT    DCW  000500    * LIMIT OF PRINT COUNT
     C0        DCW  000000
     C1        DCW  000001
     C2        DCW  000002
     C5        DCW  000005
     C25       DCW  000025
     C239      DCW  000239
     C239P2    DCW  057121
     LC0L9     DCW  000000000
     *
               ORG  400
     *
     START     BIN  INIT,B    * BRANCH IF SENSE SWITCH B ON
     *
     INIT      MCW  C0,ZB5    * ZERO LEADING ZEROS
               MCW  C0,ZB239
               MCW  C0,PRTCNT
               MCW  @30@,LSTCHR
     T1        B    ATN5        * CALL ONE ITTERATION OF +16ATN(1/5)
               C    ZB239,ZB5   *
               BL   T1
               B    ATN239      * CALL ONE ITTERATION OF -4ATN(1/239)
               C    ZB5,LSTCHR  * SEE IF TIME TO PRINT %%%%%%%%%%%%%%
               BH   T1
               B    PRINTD      * CALL PRINT A LINE
               A    @25@,LSTCHR
               C    PRTCNT,LIMPCT
               BU   T1
               H    000          *  DONE FOR NOW
               H    000
     *
     *
     ATN5      SBR  ATN5X&3       * SET UP RETURN
               C    C0,ZB5        * CHECK FOR 1ST TIME THROUGH
               BU   PH1L
               MCW  @000001@,B5WD   * INIT INTER DIVISOR
               MCW  @+@,ACCUM&519  * ZERO ACCUMULATOR
               MCW  @0@,ACCUM&518
               MCW  ACCUM&518,ACCUM&517
               MCW  @0@,B5&518      * INITIALIZE B5
               MCW  B5&518,B5&517
               MCW  @80@,B5&8  * SET A HIGH ORDER TO 1*5*16
               MCW  @006@,X1   * INIT X1 FOR B5
               MCW  @1@,AF5     * SET ADD B5 FLAG TO ADD FIRST
     PH1L      MCW  @+@,B5&519  * SET POSITIVE SIGN
               D    C25,B5&X1     * DIVISION OF B5
               MCW  B5&512,B5&519  * SHIFT QUOTIENT
               MCW  LC0L9,B5&X1      * REMOVE UNSHIFTED
               MCW  B5&519,INTER&519  * MOVE QUOTIENT TO INTERMEDIATE
               MCW  @+@,INTER&519     * SET POSITIVE SIGN
               D    B5WD,INTER&X1    * DIVIDE INTERMEDIATE
               MCW  INTER&512,INTER&519   * SHIFT INTERMEDIATE
               MCW  LC0L9,INTER&X1        * REMOVE UNSHIFTED
               MCW  @+@,INTER&519  * SET UP BASE
               BCE  PH1ADD,AF5,1        * COMPARE FOR ADD
     PH1SUB    MCW  @1@,AF5              * SET NEXT ADD
               S    INTER&519,ACCUM&519   * DO THE SUBTRACTION
               B    PH1W                * GO TO WRAP-UP
     PH1ADD    A    INTER&519,ACCUM&519   * ADD TO ACCUMULATOR
               MCW  @0@,AF5              * SET NEXT SUBTRACT
     PH1W      A    C2,B5WD            * FORM NEXT DIVISOR FOR INTER
     PH1BCE    BCE  PH1X1,B5&X1,0   * CHAR = 0, DONE?
     ATN5X     B    000                * GO DO ANOTHER LOOP PASS
     PH1X1     A    C1,ZB5           * INCREMENT # LEADING ZEROS
               SBR  X1,1&X1             * INCREMENT X1
               C    ZB5,@510@         * CHECK END
               BU   PH1BCE              * NO, CHECK MORE ZEROS
               B    ATN5X                * DONE WITH PASS 1
     *
     * -------------------------------------------------------------
     ATN239    SBR  AT239X&3        * SET UP RETURN EXIT
               C    C0,ZB239
               BU   PH2L
               MCW  @000000@,ZB239  * ZERO ITERATION CNTR
               MCW  @000001@,B239WD  * INIT INTER DIVISOR
               MCW  C0,ZB239       * CLEAR LEADING ZERO COUNTER
               MCW  @0@,AF239     * SET ADD B5 FLAG TO SUBTRACE FIRST
     * DO NOT ZERO ACCUMULATOR
               MCW  @0@,B239&518
               MCW  B239&518,B239&517
               MCW  @956@,B239&8  * SET A HIGH ORDER TO 1*4*239
               MCW  @0@,AF239              * SET NEXT SUBTRACT
               MCW  @006@,X2
     PH2L      MCW  @+@,B239&519  * SET POSITIVE SIGN
               D    C239P2,B239&X2     * TRIAL ARITH
               MCW  B239&512,B239&519  * SHIFT QUOTIENT
               MCW  LC0L9,B239&X2      * REMOVE UNSHIFTED
               MCW  B239&519,INTER&519  * MOVE QUOTIENT TO NEXT
               MCW  @+@,INTER&519     * SET POSITIVE SIGN
               D    B239WD,INTER&X2       DIVIDE INTERMEDIATE
               MCW  INTER&512,INTER&519   * SHIFT INTERMEDIATE
               MCW  LC0L9,INTER&X2        * REMOVE UNSHIFTED
               MCW  @+@,INTER&519  * SET UP BASE
               BCE  PH2ADD,AF239,1        * COMPARE FOR ADD
     PH2SUB    MCW  @1@,AF239              * SET NEXT ADD
               S    INTER&519,ACCUM&519   * DO THE SUBTRACTION
               B    PH2W                * GO TO WRAP-UP
     PH2ADD    A    INTER&519,ACCUM&519   * ADD TO ACCUMULATOR
               MCW  @0@,AF239              * SET NEXT SUBTRACT
     PH2W      A    C2,B239WD            * FORM NEXT WORKING DIVISOR
     PH2BCE    BCE  PH2X2,B239&X2,0     * CHAR = 0, DONE?
               B    AT239X                * GO DO ANOTHER LOOP PASS
     PH2X2     A    @1@,ZB239           * INCREMENT # LEADING ZEROS
               SBR  X2,1&X2             * INCREMENT X2
               B    PH2BCE              * NO, CHECK MORE ZEROS
     AT239X    B    000                * DONE WITH PASS 2
     *  NOW WE PRINT THAT BABY OUT :-))
     * PROPOSED FORMAT
     * 2
     * 0        1         2         3         4         5         6         7         8
     * 12345678901234567890123456789012345678901234567890123456789012345678901234567890
     *                                                        3. * 10E-00000
     * + NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN  * 10E-00050
     * + NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN  * 10E-00100
     *
     PRINTD    SBR  PRINTX&3        * SET UP RETURN EXIT
               C    C0,PRTCNT        * NEED INITIALIZATION ?
               BU   PR1LOP         * NO
               MCW  @008@,X3   * CLEAR PICKUP X
               MCW  C0,PRTCNT   * CLEAR TOTAL CH MOVED
               CS   332    * start clearing down to 200, PRINT AREA
               CS
               MCW  @. * 10E-00000@,244
               SW   227,265       * SET WORD MARK IN EXPONENT FIELD
               MCW  ACCUM&X3,231  MOVE 5TH FIELD
               SBR  X3,5&X3     * STEP X1
               W           *write the print area to the printer
     *
     PR1LOP    CS   231        * CLEAR PREVIOUS NUMERICS
               SW   203,209    * SET WORD MARKS FOR B FIELD
               SW   215,221
               SW   227,240
               A    @00025@,244  * ADD 25 TO EXPONENT
               MCW  ACCUM&X3,207  MOVE 1ST FIELD
               SBR  X3,5&X3     * STEP X3
               MCW  ACCUM&X3,213  MOVE 2ND FIELD
               SBR  X3,5&X3     * STEP X3
               MCW  ACCUM&X3,219  MOVE 3RD FIELD
               SBR  X3,5&X3     * STEP X3
               MCW  ACCUM&X3,225  MOVE 4TH FIELD
               SBR  X3,5&X3     * STEP X3
               MCW  ACCUM&X3,231  MOVE 5TH FIELD
               SBR  X3,5&X3     * STEP X3
               W           *write the print area to the printer
               A    @000025@,PRTCNT   * ADD 25 TO TOTAL DIGITS
     PRINTX    B    000
     *
     *  large areas Ron Mak says that blanks process as zeros
               ORG  2000
     *FLDLEN    EQU  520      * LENGTH OF THE 3 BIG FIELDS
     B5        DA   1X520  * BASE, 1ST DIVISION HERE
               ORG  3000
     B239      DA   1X520  * PARALLEL BUFFER FOR ATAN (1/239)
               ORG  4000
     INTER     DA   1X520  * INTERMEDIATE BUFFER, 2ND DIVISION HERE
               ORG  5000
     ACCUM     DA   1X520  * ACCUMULATOR, ANSWER IS FORMED HERE
     *   1         2         3         4         5         6         7         8
     *78901234567890123456789012345678901234567890123456789012345678901234567890
     * label   | op | OPERATION                                         |xxxxxxx
     *
     *** Nov 15
     * Machin's method -
     * PI = 16arctan(1/5) - 4arctan(1/239)
     * An arctan series is 1/n - 1/(3xn^3) + 1/(5xn^5) - ...
     *
     *** Nov 16
     * In any case,
     *Lets do arctan(x),  x = 1/5
     *   0.19739555984988075837004976519479
     *then  16ARCTAN(1/5)
     *   3.1583289575980921339207962431166
     * then aectan(1/239)
     *   0.0041840760020747238645382149592855
     * times 4
     *   0.016736304008298895458152859837142
     * Pi =
     *    3.1415926535897932384626433832795
     * :-))
     *
     * Set N to 1/x = 5      (this is the fancy footwork :-))
     *
     * 1) a) form three large as practical equal sized areas in memory.
     *       lets call them "Accumulator",       ACCUM
     *                      "Intermediate",      INTER
     *                      "Base of next term"  BASET
     *     b) form smaller working areas
     *          iteration counter ITCNT    used for observation
     *                  starts at zero, counts up after a pass
     *          divisor of BASET, DIVBAS,   usually 5^2 or 239^2
     *                  5^2 = 25,   239^2 = 57121
     *          add/subtract control flag, CF , toggled after a pass
     *                0 means add, other is subtract
     *          divisor of INTER is IX2P1 , ITCNT times 2 plus 1
     *
     * 2) figure where the decimal point will be
     *     (same relative place in each area)
     *     ( several characters or words to the "right" of
     *       the top significance.)
     *
     * 3) a) zero the  ACCUM
     *     b) ( INTER does not need initialization)
     *    c) set X (5.0 in our example) into BASET
     *    d) set counter N to 1
     *
     * 4) While BASET is non-zero
     *    a) Divide BASET by X^2  ( 25 in our example ) giving BASET
     *    b) Divide BASET by (2xN - 1) giving INTER
     *    c) If N is odd, add Intermediate to Accumulator
     *           else, subtract Intermediate from Accumulator
     *    d) Add 1 to N (assure that machine can divide by 2N)
     *
     * 5) Accumulator is a fine approximation of arctan(x)   ;-))
               END  START  * LAST CARD IN DECK, TRANSFER ADDRESS

Pi500-25.lst

 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                               PI DEMO                                                                   PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  101                JOB        PI DEMO
  102         * HISTORY
  103         *   00 WORKS - 4 BUFFERS
  104         *   05 SHORTEN TO 500 DIGITS
  105         *       TIMER SAYS 3.5 MINUTES RUNNING TIME
  106         * PRESENT PURPOSE
  107         *   MAKE PSEUDO-CODE OF FUNCTION AND FLOW
  108         *  RE-RUNABLE, ANY NON-CONSTANT MUST BE INITIALIZED
  109         *  SPEC:
  110         *    A) BE ABLE TO REPEATED RUN, BUT HALT DOES NOT GO TO NEXT STEP??
  111         *    B) SEPERATE DECKS FOR VARIOUS SIZES WHICH AFFECTS RUNNING TIME
  112         *       INITIAL = SIZE 500
  113         *
  114         *    C) PRINT 25 CHARACTER LINE AS SOON AS COMPUTED
  115         *          DO NOT PRINT SUB LINES, VISITORS DO NOT HEAR THEM
  116         * GENERAL FLOW
  117         *    INITIALIZE - ACCUMULATOR, ADDSUB CONTOL, DIVISORS, ...
  118         *
  119         * SO,   D0 BUFFFER SIZE 2020 CHARACTERS
  120         *       INITIAL DEBUG, BEFORE VARIABLE SIZE WITH THAT
  121         *       TRY STANDARD ON 50 DIGITS/LINE, MAY HAVE TO GO TO 20??
  122         *
  123         * PSEUDO-CODE
  124         *
  125         * START INITIALIZE  (400)
  126         *      COMPUTE  1 ITERATION ATAN (1/5)   B5   + 1 DIGIT
  127         *  L1  COMPUTE  1 ITERATION ATAN (1/5)   B5   + 1 DIGIT
  128         *      IF ZB5 < ZB239 THEN L1
  129         *      COMPUTE  1 ITERATION ATAN (1/239) B239 + 4 DIGIT
  130         *      IF ZB5 > PNTCNT+31 GO TO L1
  131         *      CALL PRINTD
  132         *      IF PNTCNT < 500 GOTO L1
  133         *      PRINT TOP OF FORM
  134         *      IF SWITCH G SET, GO TO START
  135         *      HALT
  136         *      BR START
  137         *
  138                CTL        6611  *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD
  139         *   1         2         3         4         5         6         7         8
  140         *78901234567890123456789012345678901234567890123456789012345678901234567890
  141         * LABEL   | OP | OPERATION                                         |XXXXXXX
  142                ORG   87                                                                 0087
  143         X1     DSA   0                  INDEX REGISTER 1                      3  0089  000                  4
  144                ORG   92                                                                 0092
  145         X2     DSA   0                  INDEX REGISTER 2                      3  0094  000                  5
  146                ORG   97                                                                 0097
  147         X3     DSA   0                  INDEX REGISTER 3                      3  0099  000                  6
1                               PI DEMO                                                                   PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  148         *
  149         * START STORAGE AREAS
  150         *  SMALL AREAS
  151                ORG   100     * PUT SMALL STUFF IN PUNCH AREA                            0100
  152         ZB5    DCW   000000  * NUMBER OF LEADING ZEROS IN B5                  6  0105                       6
  153         ZB239  DCW   000000  * NUMBER OF LEADING ZEROS IN B239                6  0111                       6
  154         B5WD   DCW   000000  * DIVISOR FOR WORKING AREA FOR B5 OPERATIONS     6  0117                       6
  155         B239WD DCW   000000  * DIVISOR FOR WORKING AREA FOR B239 OPERATIO     6  0123                       6
  156         AF5    DCW   1         *  "1"=ADD, "0" OR OTHER = SUBTRACT B5 OPS     1  0124                       6
  157         AF239  DCW   0         *  "1"=ADD, "0" OR OTHER = SUBTRACT B239 O     1  0125                       6
  158         PRTCNT DCW   000000    * ITERATION COUNTER, STARTS AT ZERO, INC 5     6  0131                       7
  159         LSTCHR DCW   000000    * LAST PRINTED CHAR                            6  0137                       7
  160         LIMPCT DCW   000500    * LIMIT OF PRINT COUNT                         6  0143                       7
  161         C0     DCW   000000                                                   6  0149                       7
  162         C1     DCW   000001                                                   6  0155                       7
  163         C2     DCW   000002                                                   6  0161                       7
  164         C5     DCW   000005                                                   6  0167                       8
  165         C25    DCW   000025                                                   6  0173                       8
  166         C239   DCW   000239                                                   6  0179                       8
  167         C239P2 DCW   057121                                                   6  0185                       8
  168         LC0L9  DCW   000000000                                                9  0194                       8
  169         *
  170                ORG   400                                                                0400
  171         *
  172         START  BIN   INIT,B    * BRANCH IF SENSE SWITCH B ON                  5  0400  B 405 B              9
  173         *
  174         INIT   MCW   C0,ZB5    * ZERO LEADING ZEROS                           7  0405  M 149 105            9
  175                MCW   C0,ZB239                                                 7  0412  M 149 111            9
  176                MCW   C0,PRTCNT                                                7  0419  M 149 131            9
  177                MCW   @30@,LSTCHR                                              7  0426  M V2/ 137            9
  178         T1     B     ATN5        * CALL ONE ITTERATION OF +16ATN(1/5)         4  0433  B 496                9
  179                C     ZB239,ZB5   *                                            7  0437  C 111 105           10
  180                BL    T1                                                       5  0444  B 433 T             10
  181                B     ATN239      * CALL ONE ITTERATION OF -4ATN(1/239)        4  0449  B 734               10
  182                C     ZB5,LSTCHR  * SEE IF TIME TO PRINT %%%%%%%%%%%%%%        7  0453  C 105 137           10
  183                BH    T1                                                       5  0460  B 433 U             10
  184                B     PRINTD      * CALL PRINT A LINE                          4  0465  B 964               10
  185                A     @25@,LSTCHR                                              7  0469  A V2T 137           10
  186                C     PRTCNT,LIMPCT                                            7  0476  C 131 143           11
  187                BU    T1                                                       5  0483  B 433 /             11
  188                H     000          *  DONE FOR NOW                             4  0488  . 000               11
  189                H     000                                                      4  0492  . 000               11
  190         *
  191         *
  192         ATN5   SBR   ATN5X&3       * SET UP RETURN                            4  0496  H 703               11
  193                C     C0,ZB5        * CHECK FOR 1ST TIME THROUGH               7  0500  C 149 105           11
  194                BU    PH1L                                                     5  0507  B 575 /             11
  195                MCW   @000001@,B5WD   * INIT INTER DIVISOR                     7  0512  M V2Z 117           12
  196                MCW   @+@,ACCUM&519  * ZERO ACCUMULATOR                        7  0519  M V3' V1Z           12
  197                MCW   @0@,ACCUM&518                                            7  0526  M V3/ V1Y           12
1                               PI DEMO                                                                   PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  198                MCW   ACCUM&518,ACCUM&517                                      7  0533  M V1Y V1X           12
  199                MCW   @0@,B5&518      * INITIALIZE B5                          7  0540  M V3/ N18           12
  200                MCW   B5&518,B5&517                                            7  0547  M N18 N17           13
  201                MCW   @80@,B5&8  * SET A HIGH ORDER TO 1*5*16                  7  0554  M V3T !08           13
  202                MCW   @006@,X1   * INIT X1 FOR B5                              7  0561  M V3W 089           13
  203                MCW   @1@,AF5     * SET ADD B5 FLAG TO ADD FIRST               7  0568  M V3X 124           13
  204         PH1L   MCW   @+@,B5&519  * SET POSITIVE SIGN                          7  0575  M V3' N19           13
  205                D     C25,B5&X1     * DIVISION OF B5                           7  0582  % 173 !'0           14
  206                MCW   B5&512,B5&519  * SHIFT QUOTIENT                          7  0589  M N12 N19           14
  207                MCW   LC0L9,B5&X1      * REMOVE UNSHIFTED                      7  0596  M 194 !'0           14
  208                MCW   B5&519,INTER&519  * MOVE QUOTIENT TO INTERMEDIATE        7  0603  M N19 51Z           14
  209                MCW   @+@,INTER&519     * SET POSITIVE SIGN                    7  0610  M V3' 51Z           14
  210                D     B5WD,INTER&X1    * DIVIDE INTERMEDIATE                   7  0617  % 117 0''           15
  211                MCW   INTER&512,INTER&519   * SHIFT INTERMEDIATE               7  0624  M 51S 51Z           15
  212                MCW   LC0L9,INTER&X1        * REMOVE UNSHIFTED                 7  0631  M 194 0''           15
  213                MCW   @+@,INTER&519  * SET UP BASE                             7  0638  M V3' 51Z           15
  214                BCE   PH1ADD,AF5,1        * COMPARE FOR ADD                    8  0645  B 671 124 1         15
  215         PH1SUB MCW   @1@,AF5              * SET NEXT ADD                      7  0653  M V3X 124           16
  216                S     INTER&519,ACCUM&519   * DO THE SUBTRACTION               7  0660  S 51Z V1Z           16
  217                B     PH1W                * GO TO WRAP-UP                      4  0667  B 685               16
  218         PH1ADD A     INTER&519,ACCUM&519   * ADD TO ACCUMULATOR               7  0671  A 51Z V1Z           16
  219                MCW   @0@,AF5              * SET NEXT SUBTRACT                 7  0678  M V3/ 124           16
  220         PH1W   A     C2,B5WD            * FORM NEXT DIVISOR FOR INTER         7  0685  A 161 117           16
  221         PH1BCE BCE   PH1X1,B5&X1,0   * CHAR = 0, DONE?                        8  0692  B 704 !'0 0         17
  222         ATN5X  B     000                * GO DO ANOTHER LOOP PASS             4  0700  B 000               17
  223         PH1X1  A     C1,ZB5           * INCREMENT # LEADING ZEROS             7  0704  A 155 105           17
  224                SBR   X1,1&X1             * INCREMENT X1                       7  0711  H 089 0'1           17
  225                C     ZB5,@510@         * CHECK END                            7  0718  C 105 V4'           17
  226                BU    PH1BCE              * NO, CHECK MORE ZEROS               5  0725  B 692 /             17
  227                B     ATN5X                * DONE WITH PASS 1                  4  0730  B 700               18
  228         *
  229         * -------------------------------------------------------------
  230         ATN239 SBR   AT239X&3        * SET UP RETURN EXIT                     4  0734  H 963               18
  231                C     C0,ZB239                                                 7  0738  C 149 111           18
  232                BU    PH2L                                                     5  0745  B 813 /             18
  233                MCW   @000000@,ZB239  * ZERO ITERATION CNTR                    7  0750  M V4W 111           18
  234                MCW   @000001@,B239WD  * INIT INTER DIVISOR                    7  0757  M V5S 123           18
  235                MCW   C0,ZB239       * CLEAR LEADING ZERO COUNTER              7  0764  M 149 111           19
  236                MCW   @0@,AF239     * SET ADD B5 FLAG TO SUBTRACE FIRST        7  0771  M V3/ 125           19
  237         * DO NOT ZERO ACCUMULATOR
  238                MCW   @0@,B239&518                                             7  0778  M V3/ E18           19
  239                MCW   B239&518,B239&517                                        7  0785  M E18 E17           19
  240                MCW   @956@,B239&8  * SET A HIGH ORDER TO 1*4*239              7  0792  M V5V ?08           19
  241                MCW   @0@,AF239              * SET NEXT SUBTRACT               7  0799  M V3/ 125           20
  242                MCW   @006@,X2                                                 7  0806  M V3W 094           20
  243         PH2L   MCW   @+@,B239&519  * SET POSITIVE SIGN                        7  0813  M V3' E19           20
  244                D     C239P2,B239&X2     * TRIAL ARITH                         7  0820  % 185 ?!0           20
  245                MCW   B239&512,B239&519  * SHIFT QUOTIENT                      7  0827  M E12 E19           20
  246                MCW   LC0L9,B239&X2      * REMOVE UNSHIFTED                    7  0834  M 194 ?!0           21
  247                MCW   B239&519,INTER&519  * MOVE QUOTIENT TO NEXT              7  0841  M E19 51Z           21
1                               PI DEMO                                                                   PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  248                MCW   @+@,INTER&519     * SET POSITIVE SIGN                    7  0848  M V3' 51Z           21
  249                D     B239WD,INTER&X2       DIVIDE INTERMEDIATE                7  0855  % 123 0!'           21
  250                MCW   INTER&512,INTER&519   * SHIFT INTERMEDIATE               7  0862  M 51S 51Z           21
  251                MCW   LC0L9,INTER&X2        * REMOVE UNSHIFTED                 7  0869  M 194 0!'           22
  252                MCW   @+@,INTER&519  * SET UP BASE                             7  0876  M V3' 51Z           22
  253                BCE   PH2ADD,AF239,1        * COMPARE FOR ADD                  8  0883  B 909 125 1         22
  254         PH2SUB MCW   @1@,AF239              * SET NEXT ADD                    7  0891  M V3X 125           22
  255                S     INTER&519,ACCUM&519   * DO THE SUBTRACTION               7  0898  S 51Z V1Z           22
  256                B     PH2W                * GO TO WRAP-UP                      4  0905  B 923               23
  257         PH2ADD A     INTER&519,ACCUM&519   * ADD TO ACCUMULATOR               7  0909  A 51Z V1Z           23
  258                MCW   @0@,AF239              * SET NEXT SUBTRACT               7  0916  M V3/ 125           23
  259         PH2W   A     C2,B239WD            * FORM NEXT WORKING DIVISOR         7  0923  A 161 123           23
  260         PH2BCE BCE   PH2X2,B239&X2,0     * CHAR = 0, DONE?                    8  0930  B 942 ?!0 0         23
  261                B     AT239X                * GO DO ANOTHER LOOP PASS          4  0938  B 960               23
  262         PH2X2  A     @1@,ZB239           * INCREMENT # LEADING ZEROS          7  0942  A V3X 111           24
  263                SBR   X2,1&X2             * INCREMENT X2                       7  0949  H 094 0!1           24
  264                B     PH2BCE              * NO, CHECK MORE ZEROS               4  0956  B 930               24
  265         AT239X B     000                * DONE WITH PASS 2                    4  0960  B 000               24
  266         *  NOW WE PRINT THAT BABY OUT :-))
  267         * PROPOSED FORMAT
  268         * 2
  269         * 0        1         2         3         4         5         6         7
  270         * 1234567890123456789012345678901234567890123456789012345678901234567890123
  271         *                                                        3. * 10E-00000
  272         * + NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN  * 10E-00050
  273         * + NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN NNNNNNNNNN  * 10E-00100
  274         *
  275         PRINTD SBR   PRINTX&3        * SET UP RETURN EXIT                     4  0964  H /41               24
  276                C     C0,PRTCNT        * NEED INITIALIZATION ?                 7  0968  C 149 131           24
  277                BU    PR1LOP         * NO                                      5  0975  B '28 /             24
  278                MCW   @008@,X3   * CLEAR PICKUP X                              7  0980  M V5Y 099           25
  279                MCW   C0,PRTCNT   * CLEAR TOTAL CH MOVED                       7  0987  M 149 131           25
  280                CS    332    * START CLEARING DOWN TO 200, PRINT AREA          4  0994  / 332               25
  281                CS                                                             1  0998  /                   25
  282                MCW   @. * 10E-00000@,244                                      7  0999  M V7/ 244           25
  283                SW    227,265       * SET WORD MARK IN EXPONENT FIELD          7  1006  , 227 265           25
  284                MCW   ACCUM&X3,231  MOVE 5TH FIELD                             7  1013  M '?' 231           26
  285                SBR   X3,5&X3     * STEP X1                                    7  1020  H 099 0?5           26
  286                W            *WRITE THE PRINT AREA TO THE PRINTER              1  1027  2                   26
  287         *
  288         PR1LOP CS    231        * CLEAR PREVIOUS NUMERICS                     4  1028  / 231               26
  289                SW    203,209    * SET WORD MARKS FOR B FIELD                  7  1032  , 203 209           26
  290                SW    215,221                                                  7  1039  , 215 221           26
  291                SW    227,240                                                  7  1046  , 227 240           27
  292                A     @00025@,244  * ADD 25 TO EXPONENT                        7  1053  A V7W 244           27
  293                MCW   ACCUM&X3,207  MOVE 1ST FIELD                             7  1060  M '?' 207           27
  294                SBR   X3,5&X3     * STEP X3                                    7  1067  H 099 0?5           27
  295                MCW   ACCUM&X3,213  MOVE 2ND FIELD                             7  1074  M '?' 213           27
  296                SBR   X3,5&X3     * STEP X3                                    7  1081  H 099 0?5           28
  297                MCW   ACCUM&X3,219  MOVE 3RD FIELD                             7  1088  M '?' 219           28
1                               PI DEMO                                                                   PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  298                SBR   X3,5&X3     * STEP X3                                    7  1095  H 099 0?5           28
  299                MCW   ACCUM&X3,225  MOVE 4TH FIELD                             7  1102  M '?' 225           28
  300                SBR   X3,5&X3     * STEP X3                                    7  1109  H 099 0?5           28
  301                MCW   ACCUM&X3,231  MOVE 5TH FIELD                             7  1116  M '?' 231           29
  302                SBR   X3,5&X3     * STEP X3                                    7  1123  H 099 0?5           29
  303                W            *WRITE THE PRINT AREA TO THE PRINTER              1  1130  2                   29
  304                A     @000025@,PRTCNT   * ADD 25 TO TOTAL DIGITS               7  1131  A V8S 131           29
  305         PRINTX B     000                                                      4  1138  B 000               29
  306         *
  307         *  LARGE AREAS RON MAK SAYS THAT BLANKS PROCESS AS ZEROS
  308                ORG   2000                                                               2000
  309         *FLDLEN    EQU  520      * LENGTH OF THE 3 BIG FIELDS
  310         B5     DA    1X520  * BASE, 1ST DIVISION HERE                            2000   2519
  311                ORG   3000                                                               3000
  312         B239   DA    1X520  * PARALLEL BUFFER FOR ATAN (1/239)                   3000   3519
  313                ORG   4000                                                               4000
  314         INTER  DA    1X520  * INTERMEDIATE BUFFER, 2ND DIVISION HERE             4000   4519
  315                ORG   5000                                                               5000
  316         ACCUM  DA    1X520  * ACCUMULATOR, ANSWER IS FORMED HERE                 5000   5519
  317         *   1         2         3         4         5         6         7         8
  318         *78901234567890123456789012345678901234567890123456789012345678901234567890
  319         * LABEL   | OP | OPERATION                                         |XXXXXXX
  320         *
  321         *** NOV 15
  322         * MACHIN'S METHOD -
  323         * PI = 16ARCTAN(1/5) - 4ARCTAN(1/239)
  324         * AN ARCTAN SERIES IS 1/N - 1/(3XN^3) + 1/(5XN^5) - ...
  325         *
  326         *** NOV 16
  327         * IN ANY CASE,
  328         *LETS DO ARCTAN(X),  X = 1/5
  329         *   0.19739555984988075837004976519479
  330         *THEN  16ARCTAN(1/5)
  331         *   3.1583289575980921339207962431166
  332         * THEN AECTAN(1/239)
  333         *   0.0041840760020747238645382149592855
  334         * TIMES 4
  335         *   0.016736304008298895458152859837142
  336         * PI =
  337         *    3.1415926535897932384626433832795
  338         * :-))
  339         *
  340         * SET N TO 1/X = 5      (THIS IS THE FANCY FOOTWORK :-))
  341         *
  342         * 1) A) FORM THREE LARGE AS PRACTICAL EQUAL SIZED AREAS IN MEMORY.
  343         *       LETS CALL THEM "ACCUMULATOR",       ACCUM
  344         *                      "INTERMEDIATE",      INTER
  345         *                      "BASE OF NEXT TERM"  BASET
  346         *     B) FORM SMALLER WORKING AREAS
  347         *          ITERATION COUNTER ITCNT    USED FOR OBSERVATION
1                               PI DEMO                                                                   PAGE    6
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  348         *                  STARTS AT ZERO, COUNTS UP AFTER A PASS
  349         *          DIVISOR OF BASET, DIVBAS,   USUALLY 5^2 OR 239^2
  350         *                  5^2 = 25,   239^2 = 57121
  351         *          ADD/SUBTRACT CONTROL FLAG, CF , TOGGLED AFTER A PASS
  352         *                0 MEANS ADD, OTHER IS SUBTRACT
  353         *          DIVISOR OF INTER IS IX2P1 , ITCNT TIMES 2 PLUS 1
  354         *
  355         * 2) FIGURE WHERE THE DECIMAL POINT WILL BE
  356         *     (SAME RELATIVE PLACE IN EACH AREA)
  357         *     ( SEVERAL CHARACTERS OR WORDS TO THE "RIGHT" OF
  358         *       THE TOP SIGNIFICANCE.)
  359         *
  360         * 3) A) ZERO THE  ACCUM
  361         *     B) ( INTER DOES NOT NEED INITIALIZATION)
  362         *    C) SET X (5.0 IN OUR EXAMPLE) INTO BASET
  363         *    D) SET COUNTER N TO 1
  364         *
  365         * 4) WHILE BASET IS NON-ZERO
  366         *    A) DIVIDE BASET BY X^2  ( 25 IN OUR EXAMPLE ) GIVING BASET
  367         *    B) DIVIDE BASET BY (2XN - 1) GIVING INTER
  368         *    C) IF N IS ODD, ADD INTERMEDIATE TO ACCUMULATOR
  369         *           ELSE, SUBTRACT INTERMEDIATE FROM ACCUMULATOR
  370         *    D) ADD 1 TO N (ASSURE THAT MACHINE CAN DIVIDE BY 2N)
  371         *
  372         * 5) ACCUMULATOR IS A FINE APPROXIMATION OF ARCTAN(X)   ;-))
                     DCW   @30@                                                     2  5521              LIT     30
                     DCW   @25@                                                     2  5523              LIT     30
                     DCW   @000001@                                                 6  5529              LIT     30
                     DCW   @+@                                                      1  5530              LIT     30
                     DCW   @0@                                                      1  5531              LIT     30
                     DCW   @80@                                                     2  5533              LIT     31
                     DCW   @006@                                                    3  5536              LIT     31
                     DCW   @1@                                                      1  5537              LIT     31
                     DCW   @510@                                                    3  5540              LIT     31
                     DCW   @000000@                                                 6  5546              LIT     31
                     DCW   @000001@                                                 6  5552              LIT     31
                     DCW   @956@                                                    3  5555              LIT     31
                     DCW   @008@                                                    3  5558              LIT     32
                     DCW   @. * 10E-00000@                                         13  5571              LIT     32
                     DCW   @00025@                                                  5  5576              LIT     32
                     DCW   @000025@                                                 6  5582              LIT     32
  373                END   START  * LAST CARD IN DECK, TRANSFER ADDRESS                      / 400 080
1                               PI DEMO                                                                   PAGE    7
0SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS

 ACCUM    5000    AF239     125    AF5       124    AT239X    960    ATN239    734    ATN5      496    ATN5X     700
 B239     3000    B239WD    123    B5       2000    B5WD      117    C0        149    C1        155    C2        161
 C239      179    C239P2    185    C25       173    C5        167    INIT      405    INTER    4000    LC0L9     194
 LIMPCT    143    LSTCHR    137    PH1ADD    671    PH1BCE    692    PH1L      575    PH1SUB    653    PH1W      685
 PH1X1     704    PH2ADD    909    PH2BCE    930    PH2L      813    PH2SUB    891    PH2W      923    PH2X2     942
 PR1LOP   1028    PRINTD    964    PRINTX   1138    PRTCNT    131    START     400    T1        433    X1         89
 X2         94    X3         99    ZB239     111    ZB5       105

Pi500-25.cd

,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
00000000000000000000000000010          L029125,100106,112118,12412510400006
000000000000000500000000000001000002   L036161,132138,144150,15604010400007
000005000025000239057121000000000      L033194,168174,180186,04004010400008
B405BM149105M149111M149131MV2/137B496  L037436,405412,419426,43304010400009
C111105B433TB734C105137B433UB964AV2T137L039475,444449,453460,46546910400010
C131143B433/.000.000H703C149105B575/   L036511,483488,492496,50050710400011
MV2Z117MV3'V1ZMV3/V1YMV1YV1XMV3/N18    L035546,519526,533540,04004010400012
MN18N17MV3T!08MV3W089MV3X124MV3'N19    L035581,554561,568575,04004010400013
%173!'0MN12N19M194!'0MN1951ZMV3'51Z    L035616,589596,603610,04004010400014
%1170''M51S51ZM1940''MV3'51ZB6711241   L036652,624631,638645,04004010400015
MV3X124S51ZV1ZB685A51ZV1ZMV3/124A161117L039691,660667,671678,68504010400016
B704!'00B000A155105H0890'1C105V4'B692/ L038729,700704,711718,72504010400017
B700H963C149111B813/MV4W111MV5S123     L034763,734738,745750,75704010400018
M149111MV3/125MV3/E18ME18E17MV5V?08    L035798,771778,785792,04004010400019
MV3/125MV3W094MV3'E19%185?!0ME12E19    L035833,806813,820827,04004010400020
M194?!0ME1951ZMV3'51Z%1230!'M51S51Z    L035868,841848,855862,04004010400021
M1940!'MV3'51ZB9091251MV3X125S51ZV1Z   L036904,876883,891898,04004010400022
B923A51ZV1ZMV3/125A161123B942?!00B960  L037941,909916,923930,93804010400023
AV3X111H0940!1B930B000H/41C149131B'28/ L038979,949956,960964,96897510400024
MV5Y099M149131/332/MV7/244,227265      L033'12,987994,998999,'0604010400025
M'?'231H0990?52/231,203209,215221      L033'45,'20'27,'28'32,'3904010400026
,227240AV7W244M'?'207H0990?5M'?'213    L035'80,'53'60,'67'74,04004010400027
H0990?5M'?'219H0990?5M'?'225H0990?5    L035/15,'88'95,/02/09,04004010400028
M'?'231H0990?52AV8S131B000             L026/41,/23/30,/31/38,!00?0010400029
3025000001+0                           L012V3/,00''0',V2SV2U,V3'V3/10400030
800061510000000000001956               L024V5V,V3UV3X,V3YV4/,V4XV5T10400031
008. * 10E-0000000025000025            L027V8S,V5ZV7S,V7X040,04004010400032
                                       /400080                         0033

Pi500-25.out

                          00003. * 10E-00000
  14159 26535 89793 23846 26433. * 10E-00025
  83279 50288 41971 69399 37510. * 10E-00050
  58209 74944 59230 78164 06286. * 10E-00075
  20899 86280 34825 34211 70679. * 10E-00100
  82148 08651 32823 06647 09384. * 10E-00125
  46095 50582 23172 53594 08128. * 10E-00150
  48111 74502 84102 70193 85211. * 10E-00175
  05559 64462 29489 54930 38196. * 10E-00200
  44288 10975 66593 34461 28475. * 10E-00225
  64823 37867 83165 27120 19091. * 10E-00250
  45648 56692 34603 48610 45432. * 10E-00275
  66482 13393 60726 02491 41273. * 10E-00300
  72458 70066 06315 58817 48815. * 10E-00325
  20920 96282 92540 91715 36436. * 10E-00350
  78925 90360 01133 05305 48820. * 10E-00375
  46652 13841 46951 94151 16094. * 10E-00400
  33057 27036 57595 91953 09218. * 10E-00425
  61173 81932 61179 31051 18548. * 10E-00450
  07446 23799 62749 56735 18857. * 10E-00475
  52724 89122 79381 83011 94912. * 10E-00500

KS-Pi-DemoPrint (Prints Pretty Pi) .s .lst .cd .out

KS-Pi-DemoPrint.s

               JOB  Pi Program
               CTL  3311
     ******************************************************************
     *  Display Pi program by Ken Shirriff
     *  Based on Lincoln's Birthday Program
     *      by Ronald Mak
     *  Using 500 digits of Pi generated by Ed Thelen
     *
     *  Original version: February 1969
     *  Resurrected:      February 2005
     ******************************************************************
               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  333
     *
     * Enough digits of Pi
     *
     GETTYS    DCW  0
               DC   @3.1415926535897932384626433832795028841@
               DC   @971693993751058209749445923078164062862@
               DC   @089986280348253421170679821480865132823@
               DC   @066470938446095505822317253594081284811@
               DC   @174502841027019385211055596446229489549@
               DC   @303819644288109756659334461284756482337@
               DC   @867831652712019091456485669234603486104@
               DC   @543266482133936072602491412737245870066@
               DC   @063155881748815209209628292540917153643@
               DC   @678925903600113305305488204665213841469@
               DC   @519415116094330572703657595919530921861@
               DC   @173819326117931051185480744623799627495@
               DC   @6735188575272489122793818301194912@
     *
     *
     * Program start.  Set index register X1 to point to the
     * first print map value, and index register X2 to point
     * to the first character of the Gettysburg Address.
     * Index register X3 will later point into the print area.
     *
     START     SBR  X1,MAP              point X1 to print map
               SBR  X2,GETTYS&1         point X2 to Gettysburg address
     *
     * Loop once per print map value.  First check if it's the
     * end of the print map.  If the map value is negative, then
     * print out the current line and start a new one.
     *
     LOOP      MCW  0&X1,MAPVAL         MAPVAL = curent map value
               SBR  X1,2&X1             point X1 to the next value
               C    @00@,MAPVAL         if MAPVAL = 0
               BE   DONE                    then DONE
     *
               BWZ  TEST,MAPVAL,2       if MAPVAL < 0, then
               MZ   @ @,MAPVAL              MAPVAL = abs(MAPVAL)
               W                            print out current line
               CS   299                     clear the print area
               SBR  X3,240                  point X3 to print area
     *
     * Each line alternates between 'skip' and 'take'.
     *
     TEST      BCE  DOSKIP,NEXTDO,0     if 'skip' then do skip
     *
     * Do 'take': Take MAPVAL number of letters from the Gettysburg
     *            Address and append them to the current print line.
     *
     *
     *
     DOTAKE    MN   0&X2,0&X3           append letter to print line
               MZ   0&X2,0&X3
               S    @1@,MAPVAL          MAPVAL = MAPVAL - 1
               SBR  X3,1&X3             point X3 to next print position
     *
     NEXTCH    SBR  X2,1&X2             point X2 to next Gettysburg char
               C    &00,MAPVAL          if MAPVAL > 0
               BH   DOTAKE                  then take some more chars
               MCW  SKIP,NEXTDO             else next do 'skip'
               B    LOOP
     *
     * Do 'skip': Skip MAPVAL number of blanks in the print line.
     *
     DOSKIP    A    MAPVAL,X3           X3 = X3 + MAPVAL
               MCW  TAKE,NEXTDO         next do 'take'
               B    LOOP
     *
     * Done with all print map values.  Print the final line and quit.
     *
     DONE      W
     FINIS     H    FINIS
               H
     *
     SKIP      DCW  0                   'skip' code
     TAKE      DCW  1                   'take' code
     NEXTDO    DCW  0                   what to do next in the line
     MAPVAL    DCW  00                  print map value
     *
     * The print map.  A negative number denotes the start of a new
     * line, and its absolute value becomes the initial 'skip' value.
     * Each line's map values alternate between 'skip' and 'take'
     * values.  The final zero denotes the end of the print map.
     * Map values must each be two digits in length.
     *
     MAP       DCW  -38
               DCW  02
               DCW  -11
               DCW  29
               DCW  -07
               DCW  33
               DCW  -05
               DCW  35
               DCW  -03
               DCW  36
               DCW  -02
               DCW  37
               DCW  -01
               DCW  06
               DCW  05
               DCW  05
               DCW  08
               DCW  08
               DCW  -02
               DCW  01
               DCW  09
               DCW  05
               DCW  08
               DCW  08
               DCW  -12
               DCW  05
               DCW  08
               DCW  08
               DCW  -12
               DCW  05
               DCW  08
               DCW  08
               DCW  -12
               DCW  04
               DCW  09
               DCW  08
               DCW  -11
               DCW  05
               DCW  09
               DCW  08
               DCW  -11
               DCW  05
               DCW  09
               DCW  08
               DCW  -11
               DCW  05
               DCW  09
               DCW  08
               DCW  -11
               DCW  05
               DCW  09
               DCW  08
               DCW  -11
               DCW  05
               DCW  09
               DCW  08
               DCW  -10
               DCW  06
               DCW  09
               DCW  08
               DCW  -10
               DCW  05
               DCW  10
               DCW  08
               DCW  -10
               DCW  05
               DCW  10
               DCW  08
               DCW  -09
               DCW  06
               DCW  10
               DCW  08
               DCW  -09
               DCW  06
               DCW  10
               DCW  08
               DCW  -08
               DCW  06
               DCW  11
               DCW  09
               DCW  -08
               DCW  06
               DCW  11
               DCW  14
               DCW  -07
               DCW  07
               DCW  11
               DCW  14
               DCW  -07
               DCW  06
               DCW  13
               DCW  12
               DCW  -06
               DCW  07
               DCW  14
               DCW  09
               DCW  -06
               DCW  05
               DCW  17
               DCW  06
     *
               END  START

KS-Pi-DemoPrint.lst

 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                          PI PROGRAM                                                                     PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  101                JOB   PI PROGRAM
  102                CTL   3311
  103         ******************************************************************
  104         *  DISPLAY PI PROGRAM BY KEN SHIRRIFF
  105         *  BASED ON LINCOLN'S BIRTHDAY PROGRAM
  106         *      BY RONALD MAK
  107         *  USING 500 DIGITS OF PI GENERATED BY ED THELEN
  108         *
  109         *  ORIGINAL VERSION: FEBRUARY 1969
  110         *  RESURRECTED:      FEBRUARY 2005
  111         ******************************************************************
  112                ORG   87                                                                 0087
  113         X1     DSA   0                  INDEX REGISTER 1                      3  0089  000                  4
  114                ORG   92                                                                 0092
  115         X2     DSA   0                  INDEX REGISTER 2                      3  0094  000                  5
  116                ORG   97                                                                 0097
  117         X3     DSA   0                  INDEX REGISTER 3                      3  0099  000                  6
  118         *
  119                ORG   333                                                                0333
  120         *
  121         * ENOUGH DIGITS OF PI
  122         *
  123         GETTYS DCW   0                                                        1  0333                       7
  124                DC    @3.1415926535897932384626433832795028841@               39  0372                       8
  125                DC    @971693993751058209749445923078164062862@               39  0411                       9
  126                DC    @089986280348253421170679821480865132823@               39  0450                      10
  127                DC    @066470938446095505822317253594081284811@               39  0489                      11
  128                DC    @174502841027019385211055596446229489549@               39  0528                      12
  129                DC    @303819644288109756659334461284756482337@               39  0567                      13
  130                DC    @867831652712019091456485669234603486104@               39  0606                      14
  131                DC    @543266482133936072602491412737245870066@               39  0645                      15
  132                DC    @063155881748815209209628292540917153643@               39  0684                      16
  133                DC    @678925903600113305305488204665213841469@               39  0723                      17
  134                DC    @519415116094330572703657595919530921861@               39  0762                      18
  135                DC    @173819326117931051185480744623799627495@               39  0801                      19
  136                DC    @6735188575272489122793818301194912@                    34  0835                      20
  137         *
  138         *
  139         * PROGRAM START.  SET INDEX REGISTER X1 TO POINT TO THE
  140         * FIRST PRINT MAP VALUE, AND INDEX REGISTER X2 TO POINT
  141         * TO THE FIRST CHARACTER OF THE GETTYSBURG ADDRESS.
  142         * INDEX REGISTER X3 WILL LATER POINT INTO THE PRINT AREA.
  143         *
  144         START  SBR   X1,MAP              POINT X1 TO PRINT MAP                7  0836  H 089 999           21
  145                SBR   X2,GETTYS&1         POINT X2 TO GETTYSBURG ADDRESS       7  0843  H 094 334           21
  146         *
  147         * LOOP ONCE PER PRINT MAP VALUE.  FIRST CHECK IF IT'S THE
1                          PI PROGRAM                                                                     PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  148         * END OF THE PRINT MAP.  IF THE MAP VALUE IS NEGATIVE, THEN
  149         * PRINT OUT THE CURRENT LINE AND START A NEW ONE.
  150         *
  151         LOOP   MCW   0&X1,MAPVAL         MAPVAL = CURENT MAP VALUE            7  0850  M 0'0 997           21
  152                SBR   X1,2&X1             POINT X1 TO THE NEXT VALUE           7  0857  H 089 0'2           21
  153                C     @00@,MAPVAL         IF MAPVAL = 0                        7  0864  C /99 997           21
  154                BE    DONE                    THEN DONE                        5  0871  B 987 S             22
  155         *
  156                BWZ   TEST,MAPVAL,2       IF MAPVAL < 0, THEN                  8  0876  V 903 997 2         22
  157                MZ    @ @,MAPVAL              MAPVAL = ABS(MAPVAL)             7  0884  Y S00 997           22
  158                W                             PRINT OUT CURRENT LINE           1  0891  2                   22
  159                CS    299                     CLEAR THE PRINT AREA             4  0892  / 299               22
  160                SBR   X3,240                  POINT X3 TO PRINT AREA           7  0896  H 099 240           22
  161         *
  162         * EACH LINE ALTERNATES BETWEEN 'SKIP' AND 'TAKE'.
  163         *
  164         TEST   BCE   DOSKIP,NEXTDO,0     IF 'SKIP' THEN DO SKIP               8  0903  B 969 995 0         23
  165         *
  166         * DO 'TAKE': TAKE MAPVAL NUMBER OF LETTERS FROM THE GETTYSBURG
  167         *            ADDRESS AND APPEND THEM TO THE CURRENT PRINT LINE.
  168         *
  169         *
  170         *
  171         DOTAKE MN    0&X2,0&X3           APPEND LETTER TO PRINT LINE          7  0911  D 0!0 0?0           23
  172                MZ    0&X2,0&X3                                                7  0918  Y 0!0 0?0           23
  173                S     @1@,MAPVAL          MAPVAL = MAPVAL - 1                  7  0925  S S01 997           23
  174                SBR   X3,1&X3             POINT X3 TO NEXT PRINT POSITION      7  0932  H 099 0?1           23
  175         *
  176         NEXTCH SBR   X2,1&X2             POINT X2 TO NEXT GETTYSBURG CHAR     7  0939  H 094 0!1           24
  177                C     &00,MAPVAL          IF MAPVAL > 0                        7  0946  C S03 997           24
  178                BH    DOTAKE                  THEN TAKE SOME MORE CHARS        5  0953  B 911 U             24
  179                MCW   SKIP,NEXTDO             ELSE NEXT DO 'SKIP'              7  0958  M 993 995           24
  180                B     LOOP                                                     4  0965  B 850               24
  181         *
  182         * DO 'SKIP': SKIP MAPVAL NUMBER OF BLANKS IN THE PRINT LINE.
  183         *
  184         DOSKIP A     MAPVAL,X3           X3 = X3 + MAPVAL                     7  0969  A 997 099           24
  185                MCW   TAKE,NEXTDO         NEXT DO 'TAKE'                       7  0976  M 994 995           25
  186                B     LOOP                                                     4  0983  B 850               25
  187         *
  188         * DONE WITH ALL PRINT MAP VALUES.  PRINT THE FINAL LINE AND QUIT.
  189         *
  190         DONE   W                                                              1  0987  2                   25
  191         FINIS  H     FINIS                                                    4  0988  . 988               25
  192                H                                                              1  0992  .                   25
  193         *
  194         SKIP   DCW   0                   'SKIP' CODE                          1  0993                      25
  195         TAKE   DCW   1                   'TAKE' CODE                          1  0994                      25
  196         NEXTDO DCW   0                   WHAT TO DO NEXT IN THE LINE          1  0995                      26
  197         MAPVAL DCW   00                  PRINT MAP VALUE                      2  0997                      26
1                          PI PROGRAM                                                                     PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  198         *
  199         * THE PRINT MAP.  A NEGATIVE NUMBER DENOTES THE START OF A NEW
  200         * LINE, AND ITS ABSOLUTE VALUE BECOMES THE INITIAL 'SKIP' VALUE.
  201         * EACH LINE'S MAP VALUES ALTERNATE BETWEEN 'SKIP' AND 'TAKE'
  202         * VALUES.  THE FINAL ZERO DENOTES THE END OF THE PRINT MAP.
  203         * MAP VALUES MUST EACH BE TWO DIGITS IN LENGTH.
  204         *
  205         MAP    DCW   -38                                                      2  0999                      26
  206                DCW   02                                                       2  1001                      26
  207                DCW   -11                                                      2  1003                      26
  208                DCW   29                                                       2  1005                      26
  209                DCW   -07                                                      2  1007                      26
  210                DCW   33                                                       2  1009                      27
  211                DCW   -05                                                      2  1011                      27
  212                DCW   35                                                       2  1013                      27
  213                DCW   -03                                                      2  1015                      27
  214                DCW   36                                                       2  1017                      27
  215                DCW   -02                                                      2  1019                      27
  216                DCW   37                                                       2  1021                      27
  217                DCW   -01                                                      2  1023                      28
  218                DCW   06                                                       2  1025                      28
  219                DCW   05                                                       2  1027                      28
  220                DCW   05                                                       2  1029                      28
  221                DCW   08                                                       2  1031                      28
  222                DCW   08                                                       2  1033                      28
  223                DCW   -02                                                      2  1035                      28
  224                DCW   01                                                       2  1037                      29
  225                DCW   09                                                       2  1039                      29
  226                DCW   05                                                       2  1041                      29
  227                DCW   08                                                       2  1043                      29
  228                DCW   08                                                       2  1045                      29
  229                DCW   -12                                                      2  1047                      29
  230                DCW   05                                                       2  1049                      29
  231                DCW   08                                                       2  1051                      30
  232                DCW   08                                                       2  1053                      30
  233                DCW   -12                                                      2  1055                      30
  234                DCW   05                                                       2  1057                      30
  235                DCW   08                                                       2  1059                      30
  236                DCW   08                                                       2  1061                      30
  237                DCW   -12                                                      2  1063                      30
  238                DCW   04                                                       2  1065                      31
  239                DCW   09                                                       2  1067                      31
  240                DCW   08                                                       2  1069                      31
  241                DCW   -11                                                      2  1071                      31
  242                DCW   05                                                       2  1073                      31
  243                DCW   09                                                       2  1075                      31
  244                DCW   08                                                       2  1077                      31
  245                DCW   -11                                                      2  1079                      32
  246                DCW   05                                                       2  1081                      32
  247                DCW   09                                                       2  1083                      32
1                          PI PROGRAM                                                                     PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  248                DCW   08                                                       2  1085                      32
  249                DCW   -11                                                      2  1087                      32
  250                DCW   05                                                       2  1089                      32
  251                DCW   09                                                       2  1091                      32
  252                DCW   08                                                       2  1093                      33
  253                DCW   -11                                                      2  1095                      33
  254                DCW   05                                                       2  1097                      33
  255                DCW   09                                                       2  1099                      33
  256                DCW   08                                                       2  1101                      33
  257                DCW   -11                                                      2  1103                      33
  258                DCW   05                                                       2  1105                      33
  259                DCW   09                                                       2  1107                      34
  260                DCW   08                                                       2  1109                      34
  261                DCW   -10                                                      2  1111                      34
  262                DCW   06                                                       2  1113                      34
  263                DCW   09                                                       2  1115                      34
  264                DCW   08                                                       2  1117                      34
  265                DCW   -10                                                      2  1119                      34
  266                DCW   05                                                       2  1121                      35
  267                DCW   10                                                       2  1123                      35
  268                DCW   08                                                       2  1125                      35
  269                DCW   -10                                                      2  1127                      35
  270                DCW   05                                                       2  1129                      35
  271                DCW   10                                                       2  1131                      35
  272                DCW   08                                                       2  1133                      35
  273                DCW   -09                                                      2  1135                      36
  274                DCW   06                                                       2  1137                      36
  275                DCW   10                                                       2  1139                      36
  276                DCW   08                                                       2  1141                      36
  277                DCW   -09                                                      2  1143                      36
  278                DCW   06                                                       2  1145                      36
  279                DCW   10                                                       2  1147                      36
  280                DCW   08                                                       2  1149                      37
  281                DCW   -08                                                      2  1151                      37
  282                DCW   06                                                       2  1153                      37
  283                DCW   11                                                       2  1155                      37
  284                DCW   09                                                       2  1157                      37
  285                DCW   -08                                                      2  1159                      37
  286                DCW   06                                                       2  1161                      37
  287                DCW   11                                                       2  1163                      38
  288                DCW   14                                                       2  1165                      38
  289                DCW   -07                                                      2  1167                      38
  290                DCW   07                                                       2  1169                      38
  291                DCW   11                                                       2  1171                      38
  292                DCW   14                                                       2  1173                      38
  293                DCW   -07                                                      2  1175                      38
  294                DCW   06                                                       2  1177                      39
  295                DCW   13                                                       2  1179                      39
  296                DCW   12                                                       2  1181                      39
  297                DCW   -06                                                      2  1183                      39
1                          PI PROGRAM                                                                     PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  298                DCW   07                                                       2  1185                      39
  299                DCW   14                                                       2  1187                      39
  300                DCW   09                                                       2  1189                      39
  301                DCW   -06                                                      2  1191                      40
  302                DCW   05                                                       2  1193                      40
  303                DCW   17                                                       2  1195                      40
  304                DCW   06                                                       2  1197                      40
  305         *
                     DCW   @00@                                                     2  1199              LIT     40
                     DCW   @ @                                                      1  1200              LIT     40
                     DCW   @1@                                                      1  1201              LIT     40
                     DCW   &00                                                      2  1203              LIT     41
  306                END   START                                                             / 836 080
1                          PI PROGRAM                                                                     PAGE    6
0SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS

 DONE      987    DOSKIP    969    DOTAKE    911    FINIS     988    GETTYS    333    LOOP      850    MAP       999
 MAPVAL    997    NEXTCH    939    NEXTDO    995    SKIP      993    START     836    TAKE      994    TEST      903
 X1         89    X2         94    X3         99

KS-Pi-DemoPrint.cd

,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
0                                      L001333,040040,040040,04004010400007
3.1415926535897932384626433832795028841L039372)334334,040040,04004010400008
971693993751058209749445923078164062862L039411)373373,040040,04004010400009
089986280348253421170679821480865132823L039450)412412,040040,04004010400010
066470938446095505822317253594081284811L039489)451451,040040,04004010400011
174502841027019385211055596446229489549L039528)490490,040040,04004010400012
303819644288109756659334461284756482337L039567)529529,040040,04004010400013
867831652712019091456485669234603486104L039606)568568,040040,04004010400014
543266482133936072602491412737245870066L039645)607607,040040,04004010400015
063155881748815209209628292540917153643L039684)646646,040040,04004010400016
678925903600113305305488204665213841469L039723)685685,040040,04004010400017
519415116094330572703657595919530921861L039762)724724,040040,04004010400018
173819326117931051185480744623799627495L039801)763763,040040,04004010400019
6735188575272489122793818301194912     L034835)802802,040040,04004010400020
H089999H094334M0'0997H0890'2C/99997    L035870,843850,857864,04004010400021
B987SV9039972YS009972/299H099240       L032902,876884,891892,89604010400022
B9699950D0!00?0Y0!00?0SS01997H0990?1   L036938,911918,925932,04004010400023
H0940!1CS03997B911UM993995B850A997099  L037975,946953,958965,96904010400024
M994995B8502.988.01                    L019994,983987,988992,99399410400025
0003Q021J290P                          L013'07,996998,'00'02,'04'0610400026
330N350L360K37                         L014'21,'10'12,'14'16,'18'2010400027
0J06050508080K                         L014'35,'24'26,'28'30,'32'3410400028
01090508081K05                         L014'49,'38'40,'42'44,'46'4810400029
08081K0508081K                         L014'63,'52'54,'56'58,'60'6210400030
0409081J050908                         L014'77,'66'68,'70'72,'74'7610400031
1J0509081J0509                         L014'91,'80'82,'84'86,'88'9010400032
081J0509081J05                         L014/05,'94'96,'98/00,/02/0410400033
09081!0609081!                         L014/19,/08/10,/12/14,/16/1810400034
0510081!051008                         L014/33,/22/24,/26/28,/30/3210400035
0R0610080R0610                         L014/47,/36/38,/40/42,/44/4610400036
080Q0611090Q06                         L014/61,/50/52,/54/56,/58/6010400037
11140P0711140P                         L014/75,/64/66,/68/70,/72/7410400038
0613120O071409                         L014/89,/78/80,/82/84,/86/8810400039
0O05170600 1                           L012S01,/92/94,/96/98,S00S0110400040
0?                                     L002S03,040040,040040,04004010400041
                                       /836080                         0042
---------------- improved -- no listing above ----------------
"I've made an improved Pi program that has a header and carriage control
(which Stan explained to me) and repeats every time you hit start.
(This program prints Pi in the shape of Pi,
not to be confused with Ed's impressive Pi program which actually computes Pi.)"
,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
0                                      L001333,040040,040040,04004010400007
3.1415926535897932384626433832795028841L039372)334334,040040,04004010400008
971693993751058209749445923078164062862L039411)373373,040040,04004010400009
089986280348253421170679821480865132823L039450)412412,040040,04004010400010
066470938446095505822317253594081284811L039489)451451,040040,04004010400011
174502841027019385211055596446229489549L039528)490490,040040,04004010400012
303819644288109756659334461284756482337L039567)529529,040040,04004010400013
867831652712019091456485669234603486104L039606)568568,040040,04004010400014
543266482133936072602491412737245870066L039645)607607,040040,04004010400015
063155881748815209209628292540917153643L039684)646646,040040,04004010400016
678925903600113305305488204665213841469L039723)685685,040040,04004010400017
519415116094330572703657595919530921861L039762)724724,040040,04004010400018
173819326117931051185480744623799627495L039801)763763,040040,04004010400019
6735188575272489122793818301194912     L034835)802802,040040,04004010400020
COMPUTER HISTORY MUSEUM, PI DAY 3/14/15L039874,040040,040040,04004010400021
H089'57H094334F1/299M8742402/299       L032906,882889,891895,90290310400022
2M0'0'55H0890'2CS57'55B'45SV961'552    L035941,908915,922929,93404010400023
YS58'552/299H099240B'27'530D0!00?0     L034975,949950,954961,96904010400024
Y0!00?0SS59'55H0990?1H0940!1CS61'55    L035'10,983990,997'04,04004010400025
B969UM'51'53B908A'55099M'52'53B9082    L035'45,'16'23,'27'34,'41'4510400026
.875.010003Q                           L012'57,'50'51,'52'53,'54'5610400027
021J290P330N35                         L014'71,'60'62,'64'66,'68'7010400028
0L360K370J0605                         L014'85,'74'76,'78'80,'82'8410400029
0508080K010905                         L014'99,'88'90,'92'94,'96'9810400030
08081K0508081K                         L014/13,/02/04,/06/08,/10/1210400031
0508081K040908                         L014/27,/16/18,/20/22,/24/2610400032
1J0509081J0509                         L014/41,/30/32,/34/36,/38/4010400033
081J0509081J05                         L014/55,/44/46,/48/50,/52/5410400034
09081J0509081!                         L014/69,/58/60,/62/64,/66/6810400035
0609081!051008                         L014/83,/72/74,/76/78,/80/8210400036
1!0510080R0610                         L014/97,/86/88,/90/92,/94/9610400037
080R0610080Q06                         L014S11,S00S02,S04S06,S08S1010400038
11090Q0611140P                         L014S25,S14S16,S18S20,S22S2410400039
0711140P061312                         L014S39,S28S30,S32S34,S36S3810400040
0O0714090O0517                         L014S53,S42S44,S46S48,S50S5210400041
0600 10?                               L008S61,S56S58,S59S60,04004010400042
                                       /875080                         0043
------------------

KS-Pi-DemoPrint.out


                                                                             3.
                                                  14159265358979323846264338327
                                              950288419716939937510582097494459
                                            23078164062862089986280348253421170
                                          679821480865132823066470938446095505
                                         8223172535940812848111745028410270193
                                        852110     55596        44622948
                                         9         54930        38196442
                                                   88109        75665933
                                                   44612        84756482
                                                   3378         67831652
                                                  71201         90914564
                                                  85669         23460348
                                                  61045         43266482
                                                  13393         60726024
                                                  91412         73724587
                                                 006606         31558817
                                                 48815          20920962
                                                 82925          40917153
                                                643678          92590360
                                                011330          53054882
                                               046652           138414695
                                               194151           16094330572703
                                              6575959           19530921861173
                                              819326             117931051185
                                             4807446              237996274
                                             95673                 518857

To make a nice 083 Sorter Demo Deck by Ken Ross - Feb 2020
               JOB  create a sort deck with random numbers
               CTL  6611
     * ******************************************************************
     * Create sort deck to demo the 083 card sorter
     *      by Ken Ross
     *
     *  Dated November 15, 2015
     *
     *  This uses the "Middle Square" method to generate psuedo random
     *  numbers.  The method is pretty poor but will suffice for this
     *  humble purpose.
     *
     ******************************************************************
               ORG  333
     *
     * Set up constants
     *
     TITLE     DCW  @Ken Ross - Sort Deck Generator@
     SEED      DCW  @34817@
     MULT      DCW  @000000000000@
     COUNT     DCW  @000@
     TEXT      DCW  @SORT DECK@
     *
     * Clear storage and set word marks
     *
     START     CS   332
               CS
               SW   1,201
               SW   101
     *
     * Read a single card and get output count in cols 1-3 (zero filled)
     * and set up text in print area and punch area
     *
     BEGIN     MCW  TITLE,250           MOVE TO PRINT AREA
               W                        PRINT IT
               MCW  TEXT,109
               R                        Read the single card
               MCW  003,COUNT           Save the value which is # cards to punch
     *
     LOOP      B    COMPUT
               MCW  SEED,270
               W
               MCW  SEED,180            MOVE VALUE AND PUNCH IT
               P
               S    @1@,COUNT
               BWZ  LOOP,COUNT,B       LOOP SO LONG AS + ZONE
     DONE      H    DONE
     *
     *
     *  Compute a new number
     *
     COMPUT    SBR  RETURN+3            SAVE RETURN ADDRESS
               MCW  SEED,MULT-7         STORE THE PRIOR NUMBER
               M    SEED,MULT           SQUARE IT
               SW   MULT-7		SET WORKMARK TO EXTRACT MIDDLE DIGITS
               MCW  MULT-3,SEED	        EXTRACT
               CW   MULT-7              CLEAR WORDMARK
     RETURN    B    0000
               END  START

Tape Demo, from Germany, from Van Snyder
Here's my revision of code I got from HzG as an object deck, and then reverse engineered it. In the original version, it could also jiggle the 2311 heads, but since CHM doesn't have a 2311, I removed that code in the "nodisk" version.

Van suggested I include this zip file for more files.

I think the encoding is original SimH, so the group mark is apostrophe. Maybe that will need changing before punching a deck to run it.
 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                          HZG DEMO                                                   SGSVU               PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  101                JOB   HZG DEMO
  102                CTL   6611
  103         *
  104         * CONTROL CARD LAYOUT
  105         *
  106         I3LEN  EQU   4    1-4     TAPE 3 RECORD LENGTH                           0004
  107         I3WMAX EQU   8    6-8     TAPE 3 RECORDS UNTIL REWIND                    0008
  108         I3PMAX EQU   11   10-11   TAPE 3 PROCESSING DELAY                        0011
  109         I3RDLY EQU   16   13-16   TAPE 3 REWIND DELAY                            0016
  110         I4LEN  EQU   21   18-21   TAPE 4 RECORD LENGTH                           0021
  111         I4WMAX EQU   25   23-25   TAPE 4 RECORDS UNTIL REWIND                    0025
  112         I4PMAX EQU   28   27-28   TAPE 4 PROCESSING DELAY                        0028
  113         I4RDLY EQU   33   30-33   TAPE 4 REWIND DELAY                            0033
  114         I5LEN  EQU   38   35-38   TAPE 5 RECORD LENGTH                           0038
  115         I5WMAX EQU   42   40-42   TAPE 5 RECORDS UNTIL REWIND                    0042
  116         I5PMAX EQU   45   44-45   TAPE 5 PROCESSING DELAY                        0045
  117         I5RDLY EQU   50   47-50   TAPE 5 REWIND DELAY                            0050
  118         I6LEN  EQU   55   52-55   TAPE 6 RECORD LENGTH                           0055
  119         I6WMAX EQU   59   57-59   TAPE 6 RECORDS UNTIL REWIND                    0059
  120         I6PMAX EQU   62   61-62   TAPE 6 PROCESSING DELAY                        0062
  121         I6RDLY EQU   67   64-67   TAPE 6 REWIND DELAY                            0067
  122         IRDLY  EQU   72   69-72   FULL REEL TAPE REWIND DELAY                    0072
  123         *
  124                ORG   81           RECORD MARK AT 81 WILL BE                             0081
  125                DC    @'@          SENTINEL AFTER LAST LINE OF IMAGE           1  0081                       4
  126         KP1    DCW   &1                                                       1  0082                       4
  127         KB     DCW   #1           CHANGES BSS C TO BRANCH                     1  0083                       4
  128         KC     DCW   @C@          CHANGES BRANCH TO BSS C                     1  0084                       4
  129                DC    @..@                                                     2  0086                       4
  130         X1     DCW   081                                                      3  0089                       4
  131                DC    @..@                                                     2  0091                       4
  132         X2     DCW   010                                                      3  0094                       5
  133                DC    @..@                                                     2  0096                       5
  134         X3     DCW   000                                                      3  0099                       5
  135         GMWM   DCW   @"@                                                      1  0100              GMARK    5
  136                ORG   336                                                                0336
  137         *
  138         * LOAD PARAMETERS
  139         *
  140         START  R                                                              1  0336  1                    6
  141                MCW   I3RDLY,T3RDLY      TAPE 3 REWIND DELAY                   7  0337  M 016 853            6
  142                MCW                      TAPE 3 PROCESSING DELAY               1  0344  M                    6
  143                MCW                      TAPE 3 RECORDS UNTIL REWIND           1  0345  M                    6
  144                MCW   I4RDLY,T4RDLY      TAPE 4 REWIND DELAY                   7  0346  M 033 881            6
  145                MCW                      TAPE 4 PROCESSING DELAY               1  0353  M                    6
  146                MCW                      TAPE 4 RECORDS UNTIL REWIND           1  0354  M                    6
  147                MCW   I5RDLY,T5RDLY      TAPE 5 REWIND DELAY                   7  0355  M 050 909            7
1                          HZG DEMO                                                   SGSVU               PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  148                MCW                      TAPE 5 PROCESSING DELAY               1  0362  M                    7
  149                MCW                      TAPE 5 RECORDS UNTIL REWIND           1  0363  M                    7
  150                MCW   I6RDLY,T6RDLY      TAPE 6 REWIND DELAY                   7  0364  M 067 937            7
  151                MCW                      TAPE 6 PROCESSING DELAY               1  0371  M                    7
  152                MCW                      TAPE 6 RECORDS UNTIL REWIND           1  0372  M                    7
  153                MCW   IRDLY,RDELAY       REWIND FULL TAPE DELAY COUNT          7  0373  M 072 958            7
  154         *
  155         * CALCULATE TAPE WRITE ADDRESSES FROM RECORD LENGTHS
  156         *
  157                B     GETOFF             CALULATE OFFSET = - I3LEN             4  0380  B 731                8
  158                DSA   I3LEN              TAPE 3 RECORD LENGTH                  3  0386  004                  8
  159                DSA   TAPE3W&6           TAPE 3 WRITE INSTRUCTION              3  0389  860                  8
  160                B     GETOFF             CALULATE OFFSET = - I4LEN             4  0390  B 731                8
  161                DSA   I4LEN              TAPE 4 RECORD LENGTH                  3  0396  021                  8
  162                DSA   TAPE4W&6           TAPE 4 WRITE INSTRUCTION              3  0399  888                  8
  163                B     GETOFF             CALULATE OFFSET = - I5LEN             4  0400  B 731                8
  164                DSA   I5LEN              TAPE 5 RECORD LENGTH                  3  0406  038                  9
  165                DSA   TAPE5W&6           TAPE 5 WRITE INSTRUCTION              3  0409  916                  9
  166                B     GETOFF             CALULATE OFFSET = - I6LEN             4  0410  B 731                9
  167                DSA   I6LEN              TAPE 6 RECORD LENGTH                  3  0416  055                  9
  168                DSA   TAPE6W&6           TAPE 6 WRITE INSTRUCTION              3  0419  944                  9
  169         *
  170                SW    1                                                        4  0420  , 001                9
  171                B     RDIMAG             READ AND STORE THE IMAGE              4  0424  B 473                9
  172         *
  173         * EVENT LOOP -- CHECK SWITCHES TO DETERMINE ACTIONS
  174         *
  175         SWLOOP BSS   PRINT,C            D-MOD CHANGED BY PRINT TO BLANK       5  0428  B 519 C             10
  176                BSS   TAPEX,D            EXERCISE TAPE 3                       5  0433  B 577 D             10
  177         NOP    NOP   T3PAKT                                                   4  0438  N 845               10
  178                BSS   TAPEX,E            EXERCISE TAPE 4                       5  0442  B 577 E             10
  179                NOP   T4PAKT                                                   4  0447  N 873               10
  180                BSS   TAPEX,F            EXERCISE TAPE 5                       5  0451  B 577 F             10
  181                NOP   T5PAKT                                                   4  0456  N 901               10
  182                BSS   TAPEX,G            EXERCISE TAPE 6                       5  0460  B 577 G             11
  183                NOP   T6PAKT                                                   4  0465  N 929               11
  184                B     SWLOOP                                                   4  0469  B 428               11
1                          HZG DEMO -- PRINT THE PICTURE                              SGSVU               PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  185                JOB   HZG DEMO -- PRINT THE PICTURE
  186         *
  187         * READ THE IMAGE AND STORE IT.  THE FIRST CHARACTER AFTER THE LAST
  188         * ONE IN THE STORAGE AREA WILL BE A RECORD MARK.
  189         *
  190         RDIMAG SBR   RDEXIT&3                                                 4  0473  H 518               12
  191         RLOOP  R                                                              1  0477  1                   12
  192                LCA   81,IMAGE&X1        STORE ONE LINE OF THE IMAGE           7  0478  L 081 9W9           12
  193                B     GOTEM,A            DONE?                                 5  0485  B 501 A             12
  194                SBR   X1,80&X1           ADD 80 TO X1                          7  0490  H 089 0Y0           12
  195                B     RLOOP              GET ANOTHER ONE                       4  0497  B 477               12
  196         *
  197         GOTEM  SBR   X1,80              RESET X1 TO 80                        7  0501  H 089 080           12
  198                CS    332                                                      4  0508  / 332               13
  199                CS                                                             1  0512  /                   13
  200                CC    1                                                        2  0513  F 1                 13
  201         RDEXIT H     0                  WAIT FOR THE SWITCHES TO BE SET       4  0515  . 000               13
  202         *
  203         * PRINT THE PICTURE
  204         *
  205         PRINT  SBR   PRINTX&3                                                 4  0519  H 576               13
  206                MCW   KB,SWLOOP&4        MAKE ENTRY TEST UNCONDITIONAL         7  0523  M 083 432           13
  207                LCA   IMAGE&X1,306                                             7  0530  L 9W9 306           13
  208                W                                                              1  0537  2                   14
  209                B     PRINTA,IMAGE&1&X1,'  LAST IMAGE?                         8  0538  B 557 9X0 '         14
  210                SBR   X1,80&X1           ADD 80 TO X1                          7  0546  H 089 0Y0           14
  211                B     PRINTX                                                   4  0553  B 573               14
  212         PRINTA SBR   X1,80              RESET X1 TO 80                        7  0557  H 089 080           14
  213                CC    1                                                        2  0564  F 1                 14
  214                MCW   KC,SWLOOP&4        CHANGE ENTRY TEST TO BSS C            7  0566  M 084 432           14
  215         PRINTX B     0                                                        4  0573  B 000               15
1                          HZG DEMO -- TAPE EXERCISER                                 SGSVU               PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  216                JOB   HZG DEMO -- TAPE EXERCISER
  217         *
  218         * TAPE EXERCISER PACKET LAYOUT
  219         *
  220         TWMAX  EQU   2&X3    NUMBER OF RECORDS INITIAL VALUE                     0002 X
  221         TPMAX  EQU   5&X3    PROCESSING DELAY INITIAL VALUE                      0005 X
  222         TRDLY  EQU   10&X3   REWIND DELAY INITIAL VALUE                          0010 X
  223         TWRIT  EQU   18&X3   TAPE WRITE INSTRUCTION LAST CHAR                    0018 X
  224         TPCNT  EQU   20&X3   CURRENT PROCESSING DELAY COUNT                      0020 X
  225         TWCNT  EQU   23&X3   CURRENT RECORDS UNTIL REWIND                        0023 X
  226         TRCNT  EQU   27&X3   CURRENT REWIND DELAY COUNT                          0027 X
  227         *
  228         * TAPE EXERCISER.  FOLLOW  B TAPEX  WITH  NOP PACKET
  229         *
  230         TAPEX  SBR   TAPEXX&3                                                 4  0577  H 707               16
  231                SBR   X3                                                       4  0581  H 099               16
  232                MCW   4&X3,X3            ADDRESS OF PACKET TO X3               7  0585  M 0?4 099           16
  233                BWZ   TAPEXA,TRCNT,K     ENOUGH REWIND DELAY?                  8  0592  V 611 0B7 K         16
  234                S     KP1,TRCNT                                                7  0600  S 082 0B7           16
  235                B     TAPEXX                                                   4  0607  B 704               16
  236         TAPEXA C     KONE,TPCNT         ENOUGH PROCESSING DELAY?              7  0611  C 968 0B0           17
  237                BE    TAPEXB                                                   5  0618  B 641 S             17
  238                S     KP1,TPCNT          DECR PROCESSING DELAY COUNT           7  0623  S 082 0B0           17
  239                MZ    KZERO,TPCNT                                              7  0630  Y 965 0B0           17
  240                B     TAPEXX                                                   4  0637  B 704               17
  241         TAPEXB LCA   TRDLY,TRCNT        RWD DELAY DEPENDING ON REC CNT        7  0641  L 0A0 0B7           17
  242                BWZ   TAPEXE,TWCNT,K     TIME TO REWIND?                       8  0648  V 708 0B3 K         18
  243                LCA   RDELAY,TRCNT       DELAY FOR FULL REEL REWIND            7  0656  L 958 0B7           18
  244                BEF   TAPEXE                                                   5  0663  B 708 K             18
  245                LCA   KM1,TRCNT          SET FOR NO REWIND DELAY               7  0668  L 962 0B7           18
  246                MCW   TWRIT,*&8          COPY TAPE WRITE INSTRUCTION           7  0675  M 0A8 689           18
  247                WT    3,GMWM                                                   8  0682  M %U3 100 W         19
  248                S     KP1,TWCNT          DECREMENT WRITE COUNTER               7  0690  S 082 0B3           19
  249                MCW   TPMAX,TPCNT        STORE PROCESSING DELAY                7  0697  M 0?5 0B0           19
  250         TAPEXX B     0                                                        4  0704  B 000               19
  251         TAPEXE MN    TWRIT-4,*&4        SET DRIVE NUMBER IN REWIND            7  0708  D 0A4 718           19
  252                RWD   3                                                        5  0715  U %U3 R             19
  253                MCW   TWMAX,TWCNT        RE-INITIALIZE WRITE COUNT             7  0720  M 0?2 0B3           20
  254                B     TAPEXX                                                   4  0727  B 704               20
  255         *
  256         * OFFSET THE TAPE WRITE ADDRESS, GIVEN THE RECORD LENGTH
  257         * DO THIS BY MA-ING THE 16000-COMPLEMENT OF THE RECORD
  258         * LENGTH TO THE ADDRESS IN THE TAPE WRITE INSTRUCTION
  259         *
  260         GETOFF SBR   X3                                                       4  0731  H 099               20
  261                SBR   GETXX&3,6&X3                                             7  0735  H 825 0?6           20
  262                LCA   P16K,ROFF          START WITH 16001                      7  0742  L 842 834           20
  263                MCW   2&X3,*&4           ADDRESS OF RECORD LENGTH              7  0749  M 0?2 759           20
  264                S     0,ROFF             DECREASE BY RECORD LENGTH             7  0756  S 000 834           21
  265                MZ    KZERO,ROFF         CLEAR ZONE                            7  0763  Y 965 834           21
1                          HZG DEMO -- TAPE EXERCISER                                 SGSVU               PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  266         GETL   S     KP1,RTHOU                                                7  0770  S 082 831           21
  267                BWZ   GETX,RTHOU,K       DONE?                                 8  0777  V 796 831 K         21
  268                MA    K1000,ROFF         ADD 1000 TO OFFSET                    7  0785  # 837 834           21
  269                B     GETL                                                     4  0792  B 770               22
  270         GETX   MCW   5&X3,X3            ADDRESS OF TAPE WRITE                 7  0796  M 0?5 099           22
  271                CS    0                  GET LAST ADDRESS TO B REG             4  0803  / 000               22
  272                LCA   GMWM               GMWM TO TOP OF MEMORY                 4  0807  L 100               22
  273                SBR   0&X3               LAST ADDRESS IN MEMORY - 1            4  0811  H 0?0               22
  274                MA    ROFF,0&X3          SUBTRACT RECORD LENGTH                7  0815  # 834 0?0           22
  275         GETXX  B     0                                                        4  0822  B 000               22
  276         *
  277         RLEN   DCW   0000               RECORD LENGTH                         4  0829                      23
  278         RTHOU  DCW   00                 THOUSANDS PART OF OFFSET              2  0831                      23
  279         ROFF   DC    000                OFFSET TO TAPE ADDRESS = - RLEN       3  0834                      23
  280         K1000  DSA   1000               ADDRESS CONSTANT 1000                 3  0837  '00                 23
  281         P16K   DCW   16001                                                    5  0842                      23
  282         *
  283         * TAPE EXERCISER CONTROL PACKETS
  284         *
  285         T3PAKT DCW   000     NUMBER OF RECORDS INITIAL VALUE                  3  0845                      23
  286                DC    #1      FILLER FROM CONTROL CARD                         1  0846                      23
  287                DCW   00      PROCESSING DELAY INITIAL VALUE                   2  0848                      23
  288                DC    #1      FILLER FROM CONTROL CARD                         1  0849                      23
  289         T3RDLY DCW   0000    REWIND DELAY INITIAL VALUE                       4  0853                      23
  290         TAPE3W WT    3,0     TAPE WRITE INSTRUCTION                           8  0854  M %U3 000 W         24
  291                DCW   00      CURRENT PROCESSING DELAY COUNT                   2  0863                      24
  292                DCW   000     CURRENT RECORDS UNTIL REWIND                     3  0866                      24
  293                DCW   -0001   CURRENT REWIND DELAY COUNT                       4  0870                      24
  294         *
  295         T4PAKT DCW   000     NUMBER OF RECORDS INITIAL VALUE                  3  0873                      24
  296                DC    #1      FILLER FROM CONTROL CARD                         1  0874                      24
  297                DCW   00      PROCESSING DELAY INITIAL VALUE                   2  0876                      24
  298                DC    #1      FILLER FROM CONTROL CARD                         1  0877                      24
  299         T4RDLY DCW   0000    REWIND DELAY INITIAL VALUE                       4  0881                      24
  300         TAPE4W WT    4,0     TAPE WRITE INSTRUCTION                           8  0882  M %U4 000 W         25
  301                DCW   00      CURRENT PROCESSING DELAY COUNT                   2  0891                      25
  302                DCW   000     CURRENT RECORDS UNTIL REWIND                     3  0894                      25
  303                DCW   -0001   CURRENT REWIND DELAY COUNT                       4  0898                      25
  304         *
  305         T5PAKT DCW   000     NUMBER OF RECORDS INITIAL VALUE                  3  0901                      25
  306                DC    #1      FILLER FROM CONTROL CARD                         1  0902                      25
  307                DCW   00      PROCESSING DELAY INITIAL VALUE                   2  0904                      25
  308                DC    #1      FILLER FROM CONTROL CARD                         1  0905                      25
  309         T5RDLY DCW   0000    REWIND DELAY INITIAL VALUE                       4  0909                      25
  310         TAPE5W WT    5,0     TAPE WRITE INSTRUCTION                           8  0910  M %U5 000 W         26
  311                DCW   00      CURRENT PROCESSING DELAY COUNT                   2  0919                      26
  312                DCW   000     CURRENT RECORDS UNTIL REWIND                     3  0922                      26
  313                DCW   -0001   CURRENT REWIND DELAY COUNT                       4  0926                      26
  314         *
  315         T6PAKT DCW   000     NUMBER OF RECORDS INITIAL VALUE                  3  0929                      26
1                          HZG DEMO -- TAPE EXERCISER                                 SGSVU               PAGE    6
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  316                DC    #1      FILLER FROM CONTROL CARD                         1  0930                      26
  317                DCW   00      PROCESSING DELAY INITIAL VALUE                   2  0932                      26
  318                DC    #1      FILLER FROM CONTROL CARD                         1  0933                      26
  319         T6RDLY DCW   0000    REWIND DELAY INITIAL VALUE                       4  0937                      26
  320         TAPE6W WT    6,0     TAPE WRITE INSTRUCTION                           8  0938  M %U6 000 W         27
  321                DCW   00      CURRENT PROCESSING DELAY COUNT                   2  0947                      27
  322                DCW   000     CURRENT RECORDS UNTIL REWIND                     3  0950                      27
  323                DCW   -0001   CURRENT REWIND DELAY COUNT                       4  0954                      27
  324         *
  325         RDELAY DCW   0000    DELAY COUNTER FOR EOT REWINDS                    4  0958                      27
  326         KM1    DCW   -0001   CONSTANT -1                                      4  0962                      27
  327         *
  328         KZERO  DCW   000                CONSTANT ZERO                         3  0965                      27
  329         KONE   DCW   001                                                      3  0968                      28
  330         IMAGE  DS    1       STORAGE FOR IMAGE STARTS HERE                       0969
  331                END   START                                                             / 336 080
1                          HZG DEMO -- TAPE EXERCISER                                 SGSVU               PAGE    7
0SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS

 GETL      770    GETOFF    731    GETX      796    GETXX     822    GMWM      100    GOTEM     501    I3LEN       4
 I3PMAX     11    I3RDLY     16    I3WMAX      8    I4LEN      21    I4PMAX     28    I4RDLY     33    I4WMAX     25
 I5LEN      38    I5PMAX     45    I5RDLY     50    I5WMAX     42    I6LEN      55    I6PMAX     62    I6RDLY     67
 I6WMAX     59    IMAGE     969    IRDLY      72    K1000     837    KB         83    KC         84    KM1       962
 KONE      968    KP1        82    KZERO     965    NOP       438    P16K      842    PRINT     519    PRINTA    557
 PRINTX    573    RDELAY    958    RDEXIT    515    RDIMAG    473    RLEN      829    RLOOP     477    ROFF      834
 RTHOU     831    START     336    SWLOOP    428    T3PAKT    845    T3RDLY    853    T4PAKT    873    T4RDLY    881
 T5PAKT    901    T5RDLY    909    T6PAKT    929    T6RDLY    937    TAPE3W    854    TAPE4W    882    TAPE5W    910
 TAPE6W    938    TAPEX     577    TAPEXA    611    TAPEXB    641    TAPEXE    708    TAPEXX    704    TPCNT      20+X3
 TPMAX       5+X3 TRCNT      27+X3 TRDLY      10+X3 TWCNT      23+X3 TWMAX       2+X3 TWRIT      18+X3 X1         89
 X2         94    X3         99


,008015,022026,030037,044,049,053053N000000N00001026 0001SGSVU L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0?0002SGSVU ,008015,022029,036040,047054,061068,072/061039 ,00100110400003SGSVU 'A C..081.. L011091)081081,082083,08408710400004SGSVU 010..000" L009100,097100,040040,04004010400005SGSVU 1M016853MMM033881MM L019354,337344,345346,35335410400006SGSVU M050909MMM067937MMM072958 L025379,362363,364371,37237310400007SGSVU B731004860B731021888B731 L024403,384387,390394,39740010400008SGSVU 038916B731055944,001B473 L024427,407410,414417,42042410400009SGSVU B519CB577DN845B577EN873B577FN901 L032459,433438,442447,45145610400010SGSVU B577GN929B428 L013472,465469,040040,04004010400011SGSVU H5181L0819W9B501AH0890Y0B477H089080 L035507,477478,485490,49750110400012SGSVU /332/F1.000H576M083432L9W9306 L029536,512513,515519,52353010400013SGSVU 2B5579X0'H0890Y0B573H089080F1M084432 L036572,538546,553557,56456610400014SGSVU B000 L004576,040040,040040,04004010400015SGSVU H707H099M0?4099V6110B7KS0820B7B704 L034610,581585,592600,60704010400016SGSVU C9680B0B641SS0820B0Y9650B0B704L0A00B7 L037647,618623,630637,64104010400017SGSVU V7080B3KL9580B7B708KL9620B7M0A8689 L034681,656663,668675,04004010400018SGSVU M%U3100WS0820B3M0?50B0B000D0A4718U%U3R L038719,690697,704708,71504010400019SGSVU M0?20B3B704H099H8250?6L842834M0?2759 L036755,727731,735742,74904010400020SGSVU S000834Y965834S082831V796831K#837834 L036791,763770,777785,04004010400021SGSVU B770M0?5099/000L100H0?0#8340?0B000 L034825,796803,807811,81582210400022SGSVU 000000000'0016001000 00 0000 L028853,830835,838843,84785010400023SGSVU M%U3000W00000000J000 00 0000 L028881,862864,867871,87587810400024SGSVU M%U4000W00000000J000 00 0000 L028909,890892,895899,90390610400025SGSVU M%U5000W00000000J000 00 0000 L028937,918920,923927,93193410400026SGSVU M%U6000W00000000J0000000J000 L028965,946948,951955,95996310400027SGSVU 001 L003968,040040,040040,04004010400028SGSVU /336080 0029SGSVU ....

Assembled and Disassembled code from "Risky line printer music on a vintage IBM mainframe" in Ken Shirriff's blog (Sept 2019)
Please note:
when saving Ken's files into this website, I got a warning to save as Unicode.
I did, but possibly some characters do not show correctly :-(

Assembled cards images

,008015,022033L067135,1050291001/099H104C104135B101/,0011/001199199    0001MUSIC
,109116,121125,126133/101099                                           0002MUSIC
,008015,022029,036040,047054,061068,072/061039              ,00100110400003MUSIC
0000000000000,001/000H099L/49089       L032118,092097,100104,10811210400004MUSIC
L/490941C003/53B334SM0996J5B165DL/54354L039157,126127,134139,14615110400005MUSIC
M0756J1A/56094M0660?0H0991L0660?0H099  L037194,165172,179183,18419110400006MUSIC
A/57089C089/59B126U.100                L023217,202209,214040,04004010400007MUSIC
M585099/332/,0052011N372M002005        L031364,341345,346353,35435810400008MUSIC
M/60002B564001XB353001 B503001RL/49089 L038402,372380,388396,04004010400009MUSIC
C0036/1B438SA/56089C089094B403U.100    L035437,410415,422429,43404010400010MUSIC
L6/80?7L/49089A005089A005089A005089    L035472,445452,459466,04004010400011MUSIC
A005089L8?90A1A/62099B564AB353,002     L034506,480487,494499,50304010400012MUSIC
L/49089A002089A002089A002089A002089?002L039545,514521,528535,54204010400013MUSIC
L?/60?4A/63099B494L5890?4,0?5L/64/99   L036581,553560,564571,57504010400014MUSIC
B/99B590B599B.582B334CB582N            L027608,586590,595599,60460810400015MUSIC
1  L0003322  L0003323  L0003324        L033641,612619,622629,63263910400016MUSIC
L0003325  L0003326  L0003327  L000332  L037678,649652,659662,66967210400017MUSIC
8  L0003329  L000332010L000332011      L033711,682689,692699,70270910400018MUSIC
L000332012L000332013L000332014L000332  L037748,719722,729732,73974210400019MUSIC
015L000332016L000332017L000332018      L033781,752759,762769,77277910400020MUSIC
L000332019L000332020L000332NB846       L032813,789792,799802,80981010400021MUSIC
B862B878B894B910B926B942B958           L028841,818822,826830,83483810400022MUSIC
B974H099B854H?07B994H099B870           L028869,846850,854858,86286610400023MUSIC
H?07B993H099B886H?07B992H099           L028897,874878,882886,89089410400024MUSIC
B902H?07B991H099B918H?07B990           L028925,902906,910914,91892210400025MUSIC
H099B934H?07B989H099B950H?07           L028953,930934,938942,94695010400026MUSIC
B988H099B966H?07B987H099B982           L028981,958962,966970,97497810400027MUSIC
H?07222222                             L010991,986987,988989,99099110400028MUSIC
222B?04GB?08B000FJ                     L018?09,993994,995?00,?04?0810400029MUSIC
FJB0?0NB?53B?68B?83B?98                L023?32,?12?16,?17?21,?25?2910400030MUSIC
B?98B/13B/13B/13B/13H099?/67/71        L031?63,?37?41,?45?49,?53?5710400031MUSIC
B/24H099?/74/71B/24H099?/77/71B/24     L034?97,?68?72,?79?83,?87?9410400032MUSIC
H099?/81/71B/24H099?/85/71S/86/71      L033/30,/02/09,/13/17,/2404010400033MUSIC
C/50/71B/24UB0?0000AENDB10             L026/56,/38/43,/47/51,/54/5510400034MUSIC
121 114N25?                            L011/67,/58/60,/61/63,/64/6510400035MUSIC
    50?75?100?200?A                    L019/86,/72/75,/78/82,/8604010400036MUSIC
                                       /100080                         0037MUSIC



               U               I               K    *            T  1   C3  130
1            M               9                    ?            L    2   C3  130
                                                                    1   CS3 138
16#UZKP*E&38                                                        2   CS3 138
  $            T            D               X            .          1   D3  146
1            K            3            P               0            2   D3  146
         K             U           3          C              M      1   DS3 155
1?          *             K           /          1              B   2   DS3 155
   M         P            *      A         D            I      &    1   E3  164
1                  /         U         X         ?         J        2   E3  164
           F    $       O       J                        M       ,  1   F3  174
1                      /    6    .       F       A                  2   F3  174
              A     V          S     F                X     .       1   FS3 185
1             ?     M                5     R          O     0       2   FS3 185
           H    Q    Y                   X    7 E                   1   G3  196
1                   ? -    ?                   Z    9    I          2   G3  196
  O    F                              J $    .    #    ,    $       1   GS3 207
1    /    J $       1 #                              F    6    W    2   GS3 207
    $         M   V              9      ?         E           P     1   A3  220
1       2   C         Q      ,    ?         T   4         I         2   A3  220
   4      A       Q             P   S      M      /          0      1   AS3 233
1   Q          N      S      M   #             0          7      D  2   AS3 233
 -    /           B    V      T    F           X    &           ,   1   B3  246
1      . %           1       O           7 Q         Q 9            2   B3  246
    #       A        Y       &        N       7     *       S       1   C4  261
1 &     L       5     -       @        G       Z        4       O   2   C4  261
         50TYJO$DI27                                                1   CS4 277
16#UZKP*E&38                                                        2   CS4 277
  $    %       T       3    D       P       X    8       .    R     1   D4  293
1    $       K    T  S    3       F    P       X       0    .       2   D4  293
  P   %         Z      U    8      3   H      C      -    K      Z  1   DS4 311
1    E   -         P      K U         /   6      1      H    *      2   DS4 311
   M 2       P         -       T A         DY      Z    I      &K   1   E4  329
1          Q      R/        *U      V    E      F?         J .      2   E4  329
      6    F    $    M          J #    4       .       F M       ,  1   F4  349
1    A    O    ,       /  Y 6    .       F    O  A ,       W    #   2   F4  349
 V     8&     A     M     X9     ?     C     OY     #     2     E   1   FS4 369
1C     O     Z      2        G   ? -   /     4     G   $     K      2   FS4 369
       1   HA   Q   LY   T               X@   7 E 2 *               1   G4  392
1               5   ?E-   N?               K   ZS   9   4I          2   G4  392
  O$   F.                           M J $   F.   6#U   ,   O$       1   GS4 415
16   /W   JO$   F   16#   W                         AF.   6   /W,   2   GS4 415
    $7        M   V .   *        9N     ?        ZE     @     P3    1   A4  440
1    ?Y     C#    0   Q     3,    ?F      R T   4 -   ,   I     U   2   A4  440
1 2 Q S      . N      S H    M   #    G   K    0 D      J 7      D  2   AS4 466
 ? 4      A X   2 Q       W.    P   S    & M      / G      M 0 D    1   AS4 466
 -    /    A    U B    V C    W  V F U    G    X    & Y       1 ,   1   B4  493
1    J . %    ?    L 1       O 4    P    7 Q  P 8    Q 9 P       @  2   B4  493
&           I *UL            6-I   L          TK6 I *        R % T  1   C5  526
1@       &   MCX           W 9A?M           L7W  A?         J*  7W  2   C5  526
         50TYJO$DI27                         O$DI27@V?LQ            1   CS5 554
16#UZKP*E&38                        KP*E&38/W,M                     2   CS5 554
  $6   %   F   T   R1   ?   D   0   P   1V   B   8   K   .T   R     1   D5  587
1V   $3  8   K 0 HT   R   3   %   F0   P   1   X   D8   K   .   V   2   D5  587
  P     7KI     Z   F  U$   8  O   3  JH   V  C   @  -5   K     2Z  1   DS5 622
1Y  2E   - V 7     P   4  KI   W  D   /  $6   L  1   ?  HT   *  0   2   DS5 622
   MT2  I   HPW       . Z *      A%4 X    5DL  ?   Z   0I      &K/  1   E5  689
1 UH   G V Q      RY? T    1*U  J      X6E      F?9      0BJ .      2   E5  689
  O   6,   F   W$   6M / .    D J #    4 A ,  O.U      F#M      6,  1   F5  698
1W   A#   O   1,   F   /$ Y 6   O.   W   F#   O  A6,   .   W$   #   2   F5  698
$V    K8&   V A    &M    AX9     ?OY   C #   OY2   N#E    2 ?   E   1   FS5 739
1CZ   ?O@   CZ    O 2   Z   /G   ?4-   /G    4-%   G T $   6 K   I  2   FS5 739
U J #  16  HA   Q   LY  0T  5&C   -   N  X@   7 E 2 *  K   ZS   9   1   G5  783
1 &CQ   LY   T  5   ?E-   N? X@   7   2G   B  MRS , 9   4I  $   O   2   G5  783
  O$D   .5   @ ? X N   *E&   50   V M J $   F.4   #U   , R O E   ?  1   GS5 860
16 2 /W   JO$   F 4 1 #   X% Y P*E   ? 0 7 V   %N   AF.   6 U / ,   2   GS5 860
   Y$   9   E/M   VQ.      B5J   9NH    ?T$     6ZE   JI@      3WR  1   A5  880
1U &  Y$7  4C#K 8    VQ.S  *3,  Y7?F N    R?TO  4XC  *   JI@   1UP  2   A5  880
 ?/4  H   AMX0  2 Q G J   W. 0 DP?  S   7&AM     ?/4G   *  MX0 D 3  1   AS5 932
1 @EQ4S J   8. N D ?  S H 7 AM  Y#2   G-  KV . 0 D  Q S J 7&   N D  2   AS5 932
,-   2/%1& A    ULB1   VMC   4W  VPF5U    G - 8XR   &9YP  * 0 1 ,-  1   B5  987
1@ - J . % T A?   UL 1 D S C O 4T   PF U 7 Q  PI8X   Q&9 P ?    1@  2   B5  987
&9 $&  VM8  I *UL    7$&K V    I8* L  UH7  KA TK6 I * SJ  H7   %$   1   C6  1046

Disassembled source code

87 00000                                # X0
92 00000                                # X1
97 000                                  # X2
100 ,001       set wordmark  1          # Start
104 /000       clear storage  0         # Wraps to top of memory?
108 H099       store B*  99             # Top of memory - 100? into X2
112 L/49089    load  1149 89            # X1 = 0
119 L/49094    load  1149 94            # X2 = 0
126 1          read                     # READNOTE: Read first card
127 C003/53    compare  3 1153          # Card has END?
134 B334S      branch  334 S            # Branch if equal to READNOTES:
139 M0996J5    move  99 615(X1)         # line table[X1] = X2
146 B165D      branch  165 D            # if sense D set, branch to SENSED: numeric mode?
151 L/54354    load  1154 354           # Replace NOP with BRANCH
158 M0756J1    move  75 611(X1)         # Store note name in table
165 A/56094    add  1156 94             # SENSED: X1 = X1 + 10 (10 is length of table entry)
172 M0660?0    move  66 0(X2)           # *X2 = 66 character from card (i.e. half the print line)
179 H099       store B*  99             # X2 = left of line
183 1          read                     # Read second card
184 L0660?0    load  66 0(X2)           # *X2 = 66 characters from card and word mark
191 H099       store B*  99             # X2 = left of line
195 A/57089    add  1157 89             # X0 = X0 + 1
202 C089/59    compare  89 1159         # if X0 < 21:
209 B126U      branch  126 U            # then branch to READNOTE:
214 .100       stop                     # else stop. Should have hit END card.
334 M585099    move  585 99             # READNOTES: END card read: X2 = /99 = 1199
341 /332       clear storage  332
345 /          clear storage            # Clear 200 to 332, i.e. print buffer. Note: previous code overlapped print buffer.
346 ,005201    set wordmark  5 201      # Set word marks at 5 and 201 (start of print buffer)
353 1          read                     # READTUNE: Read card
354 N372       no operation  372        # Modifed: if sense D not set, branch to READDONE
358 M002005    move  2 5                # card[5] = card[2] # Numeric format: move number to position 5
365 M/60002    move  1160 2             # card[2] = ' '
372 B564001X   branch  564 1 X          # READDONE: If first char 'X', branch to DOIT1:
380 B353001    branch  353 1            # If first char ' ', branch to READTUNE:
388 B503001R   branch  503 1 R          # If first char 'R' (rest), branch to LOOKUPREST:
396 L/49089    load  1149 89            # X0 = 0
# Find card[2:3] in the table of notes
403 C0036/1    compare  3 611(X0)       # MATCHNOTE: Compare card[2:3] to table[X0] (entries for 1 to 20)
410 B438S      branch  438 S            # if equal, branch to LOOKUPNOTE:
415 A/56089    add  1156 89             # X0 += 10 (length of table entry)
422 C089094    compare  89 94
429 B403U      branch  403 U            # if X0 < X1, branch to MATCHNOTE:
434 .100       stop                     # Bad card? Stop.
438 L6/80?7    load  618(X0) 7(X2)      # LOOKUPNOTE: *X2 = table[X0] (7-char load instruction for note line)
445 L/49089    load  1149 89            # X0 = 0
452 A005089    add  5 89                # X0 += card pos 5
459 A005089    add  5 89                # X0 += card pos 5
466 A005089    add  5 89                # X0 += card pos 5
473 A005089    add  5 89                # X0 += card pos 5, i.e. X0 = card[5] * 4
480 L8?90A1    load  809(X0) 11(X2)     # X2[11] = 809[card pos 5]. Jump table for note duration
487 A/62099    add  1162 99             # X2 += 11
494 B564A      branch  564 A            # MAYBEDOIT1: if sense switch A, branch to DOIT:
499 B353       branch  353              # else branch to READTUNE:
503 ,002       set wordmark  2          # LOOKUPREST: set wordmark on 2nd char in read buffer
507 L/49089    load  1149 89            # X0 = 0
514 A002089    add  2 89                # X0 += card pos 2
521 A002089    add  2 89                # X0 += card pos 2
528 A002089    add  2 89                # X0 += card pos 2
535 A002089    add  2 89                # X0 += card pos 2, i.e. X0 = card[2] * 4
542 ?002       clear wordmark  2
546 L?/60?4    load  1016(X0) 4(X2)     # X2[4] = 1016[X0]: Get branch instruction from rest jump table
553 A/63099    add  1163 99             # X2 += 4
560 B494       branch  494              # Branch to MAYBEDOIT1:
564 L5890?4    load  589 4(X2)          # DOIT1: X2[4] = 'branch 590'
571 ,0?5       set wordmark  5(X2)      # Set wordmark on X2[5]
575 L/64/99    load  1164 1199          # *1199 = 'N' (nop)
582 B/99       branch  1199             # DOIT2: branch to generated instruction sequence at 1199.
# For a note, code starting at 1199: N Lxxx332 Byyy B590. xxx is line pointer, loaded into print buffer at 201-332. yyy is note duration e.g. 846
# For a rest, code starting at 1199: N Bxxx B 590. xxx is e.g. 1053, rest code.
586 B590       branch  590              # Branch instruction to NOTEDONE: copied into X2 buffer
590 B599B      branch  599 B            # NOTEDONE: If not sense switch B,
595 .582       stop                     # then stop, continue at DOIT2:
599 B334C      branch  334 C            # F: if sense switch C, branch to READNOTES:
604 B582       branch  582              # Branch to DOIT2:
608 N          no operation
609 1                                   # Note table: name can be overwritten with name from card e.g. G5
612 L000332    load  0 332              # Note table: addresses filled in to point to lines
619 2
622 L000332    load  0 332              # 332 is end of print buffer
629 3
632 L000332    load  0 332
639 4
642 L000332    load  0 332
649 5
652 L000332    load  0 332
659 6
662 L000332    load  0 332
669 7
672 L000332    load  0 332
679 8
682 L000332    load  0 332
689 9
692 L000332    load  0 332
699 010
702 L000332    load  0 332
709 011
712 L000332    load  0 332
719 012
722 L000332    load  0 332
729 013
732 L000332    load  0 332
739 014
742 L000332    load  0 332
749 015
752 L000332    load  0 332
759 016
762 L000332    load  0 332
769 017
772 L000332    load  0 332
779 018
782 L000332    load  0 332
789 019
792 L000332    load  0 332
799 020
802 L000332    load  0 332
809 N          no operation
810 B846       branch  846              # Duration table entry 1. Branch to DURATION1:
814 B862       branch  862              # Branch to DURATION2:
818 B878       branch  878              # Branch to DURATION3:
822 B894       branch  894              # Branch to DURATION4:
826 B910       branch  910              # Branch to DURATION5:
830 B926       branch  926              # Branch to DURATION6:
834 B942       branch  942              # Branch to DURATION7:
838 B958       branch  958              # Branch to DURATION8:
842 B974       branch  974              # Branch to DURATION9:
# Entry points to play a note of particular duration
846 H099       store B*  99             # DURATION1: X2 = return addr, i.e. 1211 holding branch to 590 NOTEDONE:
850 B854       branch  854              # Branch to next instruction to set up B*
854 H?07       store B*  1007           # Store 854 (i.e. this address) in LOOPPRINT:
858 B994       branch  994              # Branch to PRINT1
862 H099       store B*  99             # DURATION2: X2 = addr
866 B870       branch  870
870 H?07       store B*  1007           # Store addr in LOOPPRINT:
874 B993       branch  993              # Branch to PRINT2
878 H099       store B*  99             # DURATION3: X2 = addr
882 B886       branch  886
886 H?07       store B*  1007           # Store addr in LOOPPRINT:
890 B992       branch  992              # Branch to PRINT3
894 H099       store B*  99             # DURATION4: X2 = addr
898 B902       branch  902              # Branch to
902 H?07       store B*  1007           # Store addr in LOOPPRINT:
906 B991       branch  991              # Branch to PRINT4
910 H099       store B*  99             # DURATION5: X2 = addr
914 B918       branch  918              # Branch to
918 H?07       store B*  1007           # Store addr in LOOPPRINT:
922 B990       branch  990              # Branch to PRINT5
926 H099       store B*  99             # DURATION6: X2 = addr
930 B934       branch  934
934 H?07       store B*  1007           # Store addr in LOOPPRINT:
938 B989       branch  988              # Branch to PRINT7
942 H099       store B*  99             # DURATION7: X2 = addr
946 B950       branch  950
950 H?07       store B*  1007           # Store addr in LOOPPRINT:
954 B988       branch  988              # Branch to PRINT8
958 H099       store B*  99             # DURATION8: X2 = addr
962 B966       branch  966
966 H?07       store B*  1007           # Store addr in LOOPPRINT:
970 B987       branch  987              # Branch to PRINT9
974 H099       store B*  99             # DURATION9: X2 = addr
978 B982       branch  982
982 H?07       store B*  1007           # Store addr in LOOPPRINT:
986 2          print                    # PRINT9
987 2          print                    # PRINT8
988 2          print                    # PRINT7
989 2          print                    # PRINT6
990 2          print                    # PRINT5
991 2          print                    # PRINT4
992 2          print                    # PRINT3
993 2          print                    # PRINT2
994 2          print                    # PRINT1
995 B?04G      branch  1004 G           # if sense switch G, goto LOOPPRINT:
1000 B?08       branch  1008            # else goto CARRIAGE:
1004 B000       branch  0               # LOOPPRINT: loop address stored here
1008 FJ         control carriage J      # CARRIAGE: one line
1010 FJ         control carriage J      # one line
1012 B0?0       branch  0(X2)           # Return (to X2) i.e. NOTEDONE:
1016 N          no operation
1017 B?53       branch  1053            # Rest jump table entry 1. Branch REST1:
1021 B?68       branch  1068            # Branch REST2:
1025 B?83       branch  1083            # Branch REST3:
1029 B?98       branch  1098            # Branch REST4:
1033 B?98       branch  1098            # Branch REST4:
1037 B/13       branch  1113            # Branch REST5:
1041 B/13       branch  1113            # Branch REST5:
1045 B/13       branch  1113            # Branch REST5:
1049 B/13       branch  1113            # Rest jump table entry 9. Branch REST5:
1053 H099       store B*  99            # REST11: X2 = B*, i.e. return address 1205 holding branch to 590 NOTEDONE:
1057 ?/67/71    zero and add  1167 1171 # *1171 = +250: rest loop for 250 counts
1064 B/24       branch  1124            # Branch RESTLOOP:
1068 H099       store B*  99            # REST2: X2 = B*
1072 ?/74/71    zero and add  1174 1171 # *1171 = +500
1079 B/24       branch  1124            # Branch RESTLOOP:
1083 H099       store B*  99            # REST3: X2 = B*
1087 ?/77/71    zero and add  1177 1171 # *1171 = +750
1094 B/24       branch  1124            # Branch RESTLOOP:
1098 H099       store B*  99            # REST4: X2 = B*
1102 ?/81/71    zero and add  1181 1171 # *1171 = +1000
1109 B/24       branch  1124            # Branch RESTLOOP:
1113 H099       store B*  99            # REST5: X2 = B*
1117 ?/85/71    zero and add  1185 1171 # *1171 = +2000
1124 S/86/71    subtract  1186 1171     # RESTLOOP: *1171 -= +1
1131 C/50/71    compare  1150 1171      # Compare +0001 to 1171
1138 B/24U      branch  1124 U          # Branch if B higher to RESTLOOP:
1143 B0?0       branch  0(X2)           # Return to X2, i.e. NOTEDONE:
1147 000A                               # +0001
1151 END                                # 'END'
1154 B                                  # Branch
1155 10                                 # 10 (table length inc)
1157 1                                  # 1 (increment)
1158 21                                 # 21 (loop limit)
1160                                    # ' '
1161 11                                 # 11
1163 4                                  # 4
1164 N                                  # NOP
1165 25?                                # +250
1168                                    # Rest timing counter
1172 50?                                # +500
1175 75?                                # +750
1178 100?                               # +1000
1182 200?                               # +2000
1186 A                                  # +1

1199                                    # Holds instruction.
1207                                    # Jump table branch here 1207-1210

- Ron 2.1
Problem - from Pat Buder
We ran the tape program v2.0 before the demo to get sufficient tape on the takeup reels to show high speed rewind. When running the tape program during the demo an odd thing happened. At first it operated normally on drives 1-3. After a while, drives 1 and 3 stopped but drive 2 kept running. We were not touching any sense switches. However we did hit reset and start on the drives in an attempt to restart the motion.

Usually when the program gets stuck on a single tape drive it is encountering errors and retrying the write/read after advancing the tape very slightly Attempting to stop the program by turning off sense switch G usually makes that obvious because the program doesn't check the switch in the error loop and will keep going until it finally has a success. Not sure why it started acting up, possibly changing temperatures. Will check on it next week.

Discussion - by Jack Ghiselli - Oct 24, 2019, 3:27 PM
Hi Carl,
I wrote it so I?ll fix it. Thanks for the heads-up. What happens now in ?Ron 2.0? is if it gets a persistent write error, it performs Skip-and-Blank-Tape (about 3 inches) which hopefully gets to a better piece of tape, and tries writing again. This could cause one tape to appear to be running while the others stop. My original reason for modifying Ron Williams? original ?Wear Out Tapes? was it could run off the end of reel. I fixed that, but introduced write-error checking, since I was interested in how often errors occur on our tape drives & reels. Better dock my pay until I get the fix in.
--Jack

Jack Ghiselli, Consultant

Solution - by Jack Ghiselli - Nov 2, 2019
Hi Ed,
Paperwork is always late. Attached is the ?Listing? for my updated IBM1401 program ?Ron 2.1 Exercise Tapes?. The updates are per the discussions below.
Ron Williams wrote his original program by hand. As a real man, he didn?t use any of that Assembler program stuff! Thus, there is no true ?listing?. But, attached is a .PDF pseudo-listing I used to punch up the object cards. It?s merely a listing of an Excel file I used to reduce my mistakes (also included).
Thanks so much for your wonderful archives, Ed.

Jack Ghiselli, Consultant