*************************************************************************** * SSSSS = CARD SEQUENCE NUMBER ********** = LABEL * OPER- = OPERATION OPERATION--- = OPERATION SSSSS**********OPER-OPERANDS---------------------------------------------------- **********|****|*********************************************************** JOB TAPE DEMONSTRATION CTL 6611 *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD * TSIZE EQU 004 *SIZE OF TAPE RECORD TO WRITE * ORG 87 X1 DCW 000 *INDEX REGISTER 1 DCW 11 *IDENTIFING FILLER X2 DCW 000 *INDEX REGISTER 2 DCW 22 *IDENTIFING FILLER X3 DCW 000 *INDEX REGISTER 3 DCW 33 *IDENTIFING FILLER * ORG 340 *ORG JUST AFTER PRINT BUFFER * IDENT DCW @TAPE DEMOMSTRATION PROGRAM VERSION 2 08/11/2008@ *ID THE PROGRAM DECK GRPMRK DCW @"@ *DEFINE GROUP MARK * RECSIZ DCW 0000 NUMBER DCW 0000 TNUMB DCW 0000 SSCNT DCW 0 DUMDRV DCW 0 LOOP DCW 0000 DRIVES DCW @000000@ 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? * START H CS 332 *CLEAR 332 TO 300 CS *CLEAR 299 TO 200 CS *CLEAR 199 TO 100 CS 080 *CLEAR 080 TO 000 SW 201 *SET WORD MARK FOR PRINTING SW 001 *SET WORD MARK FOR READING * MCW @0@,SSCNT *RESET SENSE SWITCH COUNT 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 @1111112@,DRIVES *SET THE NUMBER OF DRIVES TO ONE MCW @Y@,D1 *WE USED DRIVE 1 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 @12121212@,DRIVES *SET THE NUMBER OF DRIVES TO TWO MCW @Y@,D1 *WE USED DRIVE 1 MCW @Y@,D2 *WE USED DRIVE 2 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 @123123@,DRIVES *SET THE NUMBER OF DRIVES TO THREE TSSE NOP *WE DON'T TEST BEYONE HERE BCE RUN,SSCNT,1 *IF WE HAVE ONLY ONE, LETS GO MCW @TAPE DEMO PROGRAM 08/11/2009 @,240 W MCW @SENSE SWITCH B = ONE TAPE DRIVE ONLY@,240 W MCW @SENSE SWITCH C = TWO TAPE DRIVES @,240 W MCW @SENSE SWITCH D = THREE TAPE DRIVES @,240 W CS 299 CC 1 H B START ************* NOW LETS READ IN THE CARDS ***************** RUN R *READ THE FIRST CARD MCW @000@,X1 *CLEAR X1 MA TSIZE,X1 *PUT TAPE SIZE IN X1 LCA GRPMRK,TBUFF&X1 *PUT THE GROUPMARK AND WORDMARK OUT THERE MCW @000@,X1 *RESET X1 *********************************************************** *READ IN DATA CARDS AND STORE HERE *********************************************************** GETRAN R *READ FIRST RANDOM CARD MCW 0080,TABLE&79&X1 *MOVE IT INTO MEMORY BCE DOTAP,001,9 *DID WE LOAD THE LAST CARD? MA @080@,X1 *INCREMENT X1 B GETRAN *GO GET ANOTHER ***************************************************************** DOTAP MCW @000@,X1 *CLEAR X1 MCW @000@,X2 *CLEAR X2 DOTAP2 BCE REWIND,TABLE&X1,9 *IF 9, YOUR DONE MN TABLE&X1,X2 *PICK UP THE DRIVE INDICATOR (NUMERIC) MN DRIVES-6&X2,DNOW *SELECT THE REAL DRIVE NUMBER MCW DNOW,WRITE&3 *MODIFY THE INSTRUCTION MN TABLE&1&X2,LOOP *SET UP THE LOOP * * * WRITE TAPE * WRITE WT 1,TBUFF *WRITE THE TAPE RECORD 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 MA @2@,X1 *INCREMENT X1 FOR NEXT COMMAND B DOTAP2 *LETS GET THE NEXT ************************************************************************** REWIND BCE RW1,D1,Y *IS D1 SET? B CK2 *CHECK DRIVE 2 RW1 RWD 1 *REWIND TAPE ONE CK2 BCE RW2,D2,Y *IS D2 SET? B CK3 *CHECK DRIVE 2 RW2 RWD 2 *REWIND TAPE TWO CK3 BCE RW3,D3,Y *IS D3 SET? B DONE *WE ARE DONE RW3 RWD 3 *REWIND TAPE THREE * * * * WE ARE DONE * DONE NOP 999,999 H *HALT BEFORE GOING TO THE NEXT PROGRAM CC 1 *EJECT THE PAGE CS 332 *CLEAR UPPER PRINT BUFFER CS *CLEAR LOWER PRINT BUFFER CS *CLEAR PUNCH BUFFER CS *CLEAR READ BUFFER SW 001 *SET FIRST WM R *READ A CARD B 001 *GO TO THE CODE NOP *TRAILER WITH A WM LTORG *PUT YOUR LITERALS HERE ORG 1000 *SET TAPE SPACE TBUFF DC 0 *START WRITING HERE ORG 4000 *TABLE SPACE TABLE DC 0 *TABLE END START