The following was my first "for real" computer program at White Sands Missle Range, New Mexico, written in assembly language for the IBM 1401 computer. This was before the days of compiler languages such as FORTRAN. I was a co-op student majoring in physics at New Mexico State University. The first section was a typed instruction sheet. The second section shows the program as listed by the computer. ----------------------------------------------------------------------------------- FIRST DIFFERENCES PROGRAM IBM 1401-TAPE TO PRINTER James D. Hartsell - 30 Jul 1962 LOAD CARD: Col. 1-6 Project number Col. 10-13 ^t; decimal point is between col. 10 and 11. Punch a load card for each run if different. OPERATING INSTRUCTIONS: 1. Put input tape on Tape Unit Nr. 2 2. Sense Switch A on. 3. Load program with first load card behind it. Read in load card again if a -99 is at the beginning of the first run. 4. if ^t was punched wrong, ^x, ^y, and ^z will not print out. 5. If the project number was punched wrong, there will be no output after printing the IDEN line, but the 1401 lights will be flashing. 6. A 1873 stop indicates the end of the run has been reached. Put next load card in reader and hit start. 7. A 1890 stop indicates an end of file. OPERATING FEATURES: 1. The I.D. line and "COMPUTATION OF FIRST DIFFERENCES" will be printed at beginning of run. 2. ^x, ^y, and ^z will be computed, where: ^x = x2-x1 ^y = y2 - y1 ^z = z2 - z1 3. Negative signs will be printed to the right of the result. 4. Garbage at the beginning of or between runs is ignored. 5. This program will compute first differences on any input tape where data is in BCD tape fields 3, 4, and 5 such as x, y, z on FPS-16 unsmoothed positions. ----------------------------------------------------------------------------------- LABEL OP A OPERAND B OPERAND D ------ --- --------- --------- --- CTL 3 ORG 0800 GRPMRK DC * BLANKS DCW * HEADIN DCW * COMPUTATION OF FIRST DIFFERENCES CNTR1 DCW * CNTR2 DCW * ONE DCW * 1 DCW * TAPE ERROR - ALL ATTEMPTS TO REA COMM DC * D HAVE FAILED - DISCONTINUE RUN ID1 DCW * -119 ID2 DCW * - 19 ECR DCW * - 99 EOF DCW * ZERO DCW * 0 EDIT DCW * 0 - ZEROES DCW * 000 NEG DCW * - ACC1 DCW * ACC2 DCW * ACC3 DCW * ACC4 DCW * START CS 0080 CS 0299 CS 0332 RDLDOD R SW 0001 0010 SW 0521 0721 MCW GRPMK 0521 MCW GRPMK 0721 RDTAPE MCW (U2 0601 R SW 0601 0605 B TAPER L B SKIP - PROJNO C 0610 0006 B IDEN / MZ ONE 0601 SW 0087 LCA ZEROES 0089 TESTT BWZ MVNEGT 0611 1 K A ONE 0089 B TESTX 0089 8 B TESTT MVNEGT MZ NEG 0619 MZ ONE 0611 1 TESTX LCA ZEROES 0089 BWZ MVNEGX 0621 1 K A ONE 0089 B TESTY 0089 8 B TEXTX +007 MVNEGX MZ NEG 0629 MZ ONE 0621 1