.TITLE SBCOPY SYNCHRONOUS COPY (SINGLE-BUFFERED) ; ; ROUTINE ASSUMES THAT INPUT FILE IS OPENED ON CHANNEL 3 ; AND OUTPUT FILE IS OPENED ON CHANNEL 0 ; ; RETURNS CARRY BIT SET IF ERROR IS ENCOUNTERED DURING COPY ; ; R0 IS NOT PRESERVED. ALL OTHER REGISTERS ARE. ; ; ; The following programs are used in the RT-11 User and RT-11 ; Programmer self paced instruction courses for RT-11 V4.They are also ; similar to programs used in the Programming with RT-11 series for ; RT-11 V5.0 or later. The name of the files are as specified in the ; self paced course. ; ; The code is supplied as a service as Digital does not supply these ; on diskette. ; Any copyright is the property of Digital Equipment Corporartion ; .MCALL .READW,.WRITW,.PRINT .GLOBL EMTARG ; BUFFER: .BLKW 256. ERROR: .BYTE RERRMS: .ASCIZ /READ ERROR, COPY ABORTED/ WERRMS: .ASCIZ /WRITE ERROR, COPY ABORTED/ .EVEN ; CPYRTN:: MOV R1,-(SP) CLR R1 ;BLOCK # CLRB ERROR ;INDICATE NO ERROR YET 1$: .READW #EMTARG,#3,#BUFFER,#256.,R1 BCC 2$ ;READ OK TSTB @#52 ;ERROR DUE TO EOF? BEQ EXIT ;FINE. RETURN. BR RDERR ;ANY OTHER ERROR, PRINT MESSAGE 2$: .WRITW #EMTARG,#0,#BUFFER,@256.,R1 ;WRITE OUT BUFFER JUST READ IN ;USE SAME BLOCK # BCS WERR ;PRINT ERROR MESSAGE IF BAD WRITE INC R1 ;ADVANCE TO NEXT BLOCK OF INPUT FILE BR 1$ ;GO READ THAT BLOCK RDERR: .PRINT #RERRMS ;"READ ERROR" BR EREXIT WERR: .PRINT #WERRMS ;.WRITE ERROR. EREXIT: DECB ERROR ;SET ERROR FLAG ;(-1 MEANS ERROR) EXIT: MOV (SP)+,R1 TSTB ERROR ;RETURN C BIT SET? BEQ 1$ ;NO SEC ;YES 1$: RETURN .END