0                          TAPE ERROR SUBROUTINE                                                          PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  101                JOB   TAPE ERROR SUBROUTINE
  103         * GENERALIZED TAPE ERROR SUBROUTINE
  104         *  READ OR WRITE ERRORS ON ANY DRIVE.
  105         *  LCA OR MCW TAPE COMMAND
  106         * REQUIRED ENTRY LINKAGE
  107         *  AFTER   LCA/MCW %UX  AREA  R/W
  108         *  MUST BE    B    TAPERR      L
  109         *   I.E., EVERY 8 CHARACTER TAPE I/O COMMAND
  110         *   MUST BE IMMEDIATELY FOLLOWED BY A BRANCH TO
  111         *   TAPERR IF INDICATOR IS ON
  112         * READ ERROR
  113         *  ROUTINE WILL REREAD RECORD 10 TIMES, THEN HLT
  114         * WRITE ERROR
  115         *  ROUTINE TRIES TO WRITE 2 TIMES WITHOUT
  116         *  SKIPPING TAPE, THEN TRIES 7 SKIP AND WRITES,
  117         *  THEN STOPS.
  118         * PRESS START AFTER HALT FOR AN ADDITIONAL 10
  119         *  ATTEMPTS.
  120         * IF SENSE SW G IS ON WHEN START IS PRESSED
  121         *  CONTROL WILL RETURN TO MAIN PROGRAM.
  122         *
  123                ORG   1                                                                  0001
  124         TAPERR SBR   TAPERX+3            STORE EXIT                           4  0001  H 096
  125                SBR   *+4                 INIT A ADDR TO ERROR CMND+13         4  0005  H 012
  126                C     *,TAPERC+13         USE COMPARE TO DECREMENT ADDR        7  0009  C 015 093
  127                C                          TO ERROR COMMAND                    1  0016  C
  128                MLC                       MOVE ERROR COMMAND TO ROUTINE        1  0017  M
  129                MN    C7,TAPERX+4         SET COUNT TO 7                       7  0018  D 098 097
  130                MN    TAPERC+3,TAPERB+3   SET DRIVE IN BACKSPACE               7  0025  D 083 060
  131         TAPERP A     *-6,TAPERX+4        ADD 1 TO COUNT                       7  0032  A 032 097
  132                C     TAPERX+4,C7         COMPARE COUNT TO 7                   7  0039  C 097 098
  133                BU    *+7                 Q. 10 REPEATS.                       5  0046  B 057 /
  134                H                          YES. PRESS START FOR 10 MORE OR     1  0051  .
  135                BSS   TAPERX,G             IF G ON ACCEPT AS CORRECT-ED.       5  0052  B 093 G
  136         TAPERB BSP   1                   BACKSPACE FOR ANOTHER TRY            5  0057  U %U1 B
  137                BCE   TAPERC,TAPERC+7,R   Q. READ COMMAND.                     8  0062  B 080 087 R
  138                BL    TAPERC               NO Q. TWO RETRIES IN SAME PLACE     5  0070  B 080 T
  139                SKP   1                        YES, TURN ON SKIP SWITCH        5  0075  U %U1 E
  140         TAPERC NOP   *,*,*               REPEAT TAPE I/O COMMAND.             8  0080  N 087 087 *
  141                BER   TAPERP              Q. ERROR AGAIN.                      5  0088  B 032 L
  142         TAPERX B     *-3                  NO, EXIT PROGRAM                    4  0093  B 093
  143                DCW   @ @                 COUNT, NO OVFL ZONE IN ONE POS.      1  0097
  144         C7     DCW   7                   MUST NOT HAVE ZONE.                  1  0098
  145                END   0                                                                 / 000 080
1                          TAPE ERROR SUBROUTINE                                                          PAGE    2
0SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  

 C7         98    TAPERB     57    TAPERC     80    TAPERP     32    TAPERR      1    TAPERX     93   
