* PROGRAM TO TEST DRIVERS * ORG '1000 STRT EQU * CALL O$LH HEADER DAC HBUF * ************************************************************** * TEST 1 * READ TESTFILE FROM PAPERTAPE (WHILE PRINTING ON LINEPRINTER * AND WRITE TO MAGTAPE-1. * THEN, PRINT THE FILE ON MAGTAPE-1 ON THE LINEPRINTER ************************************************************** * OPEN MAGTAPE 1 CALL C$MR REWIND TAPE UNIT 1 DEC 1 * READ TESTFILE FROM PAPERTAPE READER NI CALL I$PA READ RECORD DAC IBUF JMP EOF END OF PAPERTAPE LDA SPSP STA MARK+1 CALL O$LA MESSAGE ON LINEPRINTER DAC LPMS * NL LDA STAR JST ASRO CALL I$MA READ RECORD FROM MAGTAPE DAC IBUF DEC 40 DEC 1 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF1 EOF RETURN * NORMAL RETURN LDA IBUF PRINT 1ST 2 CHARS HEX JST PHEX LDA PLUS JST ASRO CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF LDA IBUF JST PRIN JMP NL READ NEXT LINE * ENDFILE ON MAGTAPE 1 EOF1 LDA CRLF JST PRIN LDA IBUF JST PHEX LDA STOP JST PRIN CALL C$MR REWIND TAPE UNIT 1 DEC 1 LDA RDY READY JST PRIN ************************************************************* * TEST 2 * WRITE THE FILE ON MAGTAPE-1 9 TIMES TO MAGTAPE-2 (AS A SINGLE FILE) * THEN, PRINT THE WRITTEN FILE OF MAGTAPE-2 ON THE LINEPRINTER ************************************************************* LDA CRLF JST PRIN LDA P2 JST PRIN INDICATE TEST2 ON CONSOLE LDA =-9 STA TEL NF LDA FNR FILENUMMER AOA STA FNR STORE AS 1ST RECORD ON MAGTAPE 2 LDX =-40 MOVE RECORD FOR CONVERSION LDA FIMS+40,1 STA IBUF+40,1 IRS 0 JMP *-3 CALL C$8TO6 CONVERT DAC IBUF DEC 40 CALL O$MA WRITE RECORD O DAC IBUF DEC 40 DEC 2 JMP EOT CALL C$MR REWIND TAPE UNIT 1 DEC 1 LDA STAR JST ASRO NR CALL I$MA READ RECORD FROM MAGTAPE 1 DAC IBUF DEC 40 DEC 1 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF2 EOF RETURN CALL O$MA AND WRITE ON MAGTAPE 2 DAC IBUF DEC 40 DEC 2 JMP EOT JMP NR * EOF2 CALL O$ME WRITE EOF DEC 2 ON TAPE UNIT 2 LDA PLUS JST ASRO IRS TEL JMP NF WRITE NEXT FILE ON UNIT 2 LDA CRLF 9 FILES READY ON UNIT 2 JST PRIN LDA STOP JST PRIN CALL C$MR REWIND TAPE UNIT 1 DEC 1 CALL C$MR REWIND TAPE UNIT 2 DEC 2 * PRINT TAPE 2 LDA =-9 STA TEL NR2 CALL I$MA READ RECORD FROM MAGTAPE DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF3 EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF JMP NR2 EOF3 LDA STAR JST PRIN IRS TEL JMP NR2 LDA RDY READY JST PRIN *********************************************************** * TEST 3 * TEST FILE/RECORD FORWARD/BACKWARD SKIPPING * *********************************************************** LDA CRLF JST PRIN LDA P3 JST PRIN INDICATE TEST 3 ON THE CONSOLE * CALL C$MR REWIND UNIT 2 => AT FILE 1 DEC 2 CALL I$MA READ 1ST RECORD FROM MAGTAPE FILE DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP ERR EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF * CALL C$FF FORWARD TO NEXT FILE => AT FILE 2 DEC 2 LDA PLUS JST PRIN CALL I$MA READ 1ST RECORD FROM MAGTAPE FILE DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP ERR EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF * CALL C$FF FORWARD TO NEXT FILE => AT FILE 3 DEC 2 LDA PLUS JST PRIN CALL I$MA READ 1ST RECORD FROM MAGTAPE FILE DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP ERR EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF * CALL C$FF FORWARD TO NEXT FILE => AT FILE 4 DEC 2 LDA PLUS JST PRIN CALL I$MA READ 1ST RECORD FROM MAGTAPE FILE DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP ERR EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF * CALL C$FF FORWARD TO NEXT FILE => AT FILE 5 DEC 2 LDA PLUS JST PRIN CALL I$MA READ 1ST RECORD FROM MAGTAPE FILE DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP ERR EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF * CALL C$BF BACKWARD, SO AT THE END OF FILE 4 DEC 2 CALL C$BF BACKWARD, SO AT THE END OF FILE 3 DEC 2 LDA MIN JST PRIN CALL C$FR ??????????????? SKIP FORWARD OVER DEC 2 ??????????????? TAPEMARK=> AT START OF FILE 4 NOP CALL I$MA READ 1ST RECORD FROM MAGTAPE FILE 4 DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP ERR EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF * * COPY FILE 4 TO UNIT 3 CALL C$BR DEC 2 NOP NR3 CALL I$MA READ RECORD FROM MAGTAPE 2 DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF4 EOF RETURN CALL O$MA DAC IBUF DEC 40 DEC 3 JMP EOT JMP NR3 EOF4 CALL O$ME WRITE EOF ON UNIT 3 DEC 3 * * TO FILE 7 ON UNIT 2 * WRITE 9 TIMES THE 1ST RECORD OF THIS FILE TO UNIT 3 * THEN THE REMAINING PART OF FILE 7 TO UNIT 3 SKIPPING EACH 2ND LINE * CALL C$FF AT BEGIN OF FILE 6 DEC 2 CALL C$FF AT BEGIN OF FILE 7 DEC 2 CALL C$BF AT END OF FILE 6 DEC 2 CALL C$FR ??????????????? SKIP FORWARD OVER DEC 2 ??????????????? TAPEMARK NOP AT BEGIN OF FILE 7 LDA =-9 STA TEL NR4 CALL I$MA READ RECORD FROM MAGTAPE 2 DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF5 EOF RETURN CALL O$MA DAC IBUF DEC 40 DEC 3 JMP EOT CALL C$BR DEC 2 NOP IRS TEL JMP NR4 * NR5 CALL I$MA READ RECORD FROM MAGTAPE 2 DAC IBUF DEC 40 DEC 2 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF5 EOF RETURN CALL O$MA DAC IBUF DEC 40 DEC 3 JMP EOT CALL C$FR DEC 2 NOP CALL C$FR DEC 2 NOP CALL C$BR DEC 2 NOP JMP NR5 EOF5 CALL O$ME WRITE EOF ON UNIT 3 DEC 3 CALL C$MR REWIND TAPE UNIT 3 DEC 3 * * PRINT THE CONTENT OF TAPE 3 ON THE LINEPRINTER * 2 FILES: FILE4 AND FILE 7 WITH SKIPPED RECORDS * NR6 CALL I$MA READ RECORD FROM MAGTAPE DAC IBUF DEC 40 DEC 3 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF6 EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF JMP NR6 EOF6 CALL I$MA READ RECORD FROM MAGTAPE DAC IBUF DEC 40 DEC 3 JMP ERR ERROR RETURN JMP EOT EOT RETURN JMP EOF7 EOF RETURN CALL C$6TO8 CONVERT TO ASCII DAC IBUF DEC 40 CALL O$LA AND PRINT DAC PBUF JMP EOF6 EOF7 LDA RDY READY JST PRIN LDA CRLF JST PRIN LDA RDY JST PRIN LDA ALL1 JST PRIN LDA ALL2 JST PRIN HLT * *********************************************************** *********************************************************** * EOT LDA CEOT END OF MAGTAPE MEDIA JST PRIN HLT * ERR LDA MERR JST PRIN HLT * PRIN DAC ** ICA JST ASRO ICA JST ASRO JMP* PRIN * ASRO DAC ** SKS '104 JMP *-1 OCP '104 OTA 4 JMP *-1 JMP* ASRO * * PRINT A HEX PHEX DAC ** IAB A => B CRA LLL 2 CAS =10 JMP A1 JMP A1 ADD ='260 + 0 JST ASRO JMP N2 A1 SUB =10 ADD ='301 + A JST ASRO N2 CRA LLL 4 CAS =10 JMP A2 JMP A2 ADD ='260 + 0 JST ASRO JMP N3 A2 SUB =10 ADD ='301 + A JST ASRO N3 CRA LLL 2 CAS =10 JMP A3 JMP A3 ADD ='260 + 0 JST ASRO JMP N4 A3 SUB =10 ADD ='301 + A JST ASRO N4 CRA LLL 4 CAS =10 JMP A4 JMP A4 ADD ='260 + 0 JST ASRO JMP E A4 SUB =10 ADD ='301 + A JST ASRO E JMP* PHEX * HBUF BCI 24, ** LINEPRINTER DRIVER TEST OUTPUT ** BCI 24, PBUF BCI 1, IBUF BSS 40 MARK BCI 19, * * MESSAGES * LPMS BCI 12, ** MAGTAPE OUTPUT ** CNT BCI 1,1 BCI 7, BCI 20, BCI 20, * FIMS BCI 6, ** FILE FNR BCI 1, 0 BCI 3, ** BCI 10, BCI 20, * STOP BCI 1,ST CEOT BCI 1,ET RDY BCI 1,RY CRLF OCT 106612 SPSP OCT 120240 CONV OCT 120303 P1 BCI 1,P1 P2 BCI 1,P2 P3 BCI 1,P3 MERR BCI 1,ER ALL1 BCI 1, A ALL2 BCI 1,LL TEL OCT 0 PLUS OCT 253 STAR OCT 252 MIN OCT 255 END STRT