COPY START 0 COPY FILE FROM INPUT TO PUTPUT FIRST STL LETADR SAVE RETURN ADDRESS .CLOOP RDBUFF F1,BUFFER,LENGTH CLOOP CLEAR X CLEAR LOOP COUNTER   CLEAR A     CLEAR S     +LDT #4096 SET MAXIMUM RECORD LENGTH   TD =X'F1' TEST INPUT DEVICE   JEQ *-3 LOOP UNTIL READY   RD =X'F1' READ CHARACTER INTO REG A   COMPR A,S TEST FOR END OF RECORD   JEQ *+11 EXIT LOOP IF EOR   STCH BUFFER,X STORE CHARCTER IN BUFFER   TIXR T LOOP UNLESS MAXIMUM LENGTH   JLT *-19 HAS BEEN REACHED   STX LENGTH SAVE RECORD LENGTH   LDA LENGTH TEST FOR END OF FILE   COMP #0     JEQ ENDFIL EXIT IF EOF FOUND .  WRBUFF O5,BUFFER,LENGTH    CLEAR X CLEAR LOOP COUNTER   LDT LENGTH     LDCH BUFFER,X GET CHARCTER FROM BUFFER   TD =X'O5' TEST OUTPUT DEVICE   JEQ *-3 LOOP UNTIL READ   WD =X'O5' WRITE CHARACTER   TIXR T LOOP UNTIL ALL CHARACTERS   JLT *-14 HAVE BEEN WRITTEN   J CLOOP LOOP .ENDFIL WRBUFF 05,EOF,THREE ENDFIL  CLEAR X CLEAR LOOP COUNTER   LDT THREE     LDCH EOF,X GET CHARCTER FROM BUFFER   TD =X'05' TEST OUTPUT DEVICE   JEQ *-3 LOOP UNTIL READ   WD =X'05' WRITE CHARACTER   TIXR T LOOP UNTIL ALL CHARACTERS   JLT *-14 HAVE BEEN WRITTEN   J @RETADR   EOF BYTE C'EOF'   THREE WORD 3   RETADR RESW 1   LENGTH RESW 1 LENGTH OF RECORD BUFFER RESB 4096 4096-BYTE BUFFER AREA   END FIRST