.TITLE QIORCV ; ; TEST PROGRAM USING QIOS ONLY FOR CD DRIVER .PSECT TOTS,RW,GBL,REL,OVR,D NTOT: .BLKW STAT: .BLKW 2 LUN=2 BUFFER: .BLKW 4000. .PSECT AST: .MCALL ASTX$S,QIOW$S,SAVE,RESTOR,CALLFT SAVE MOV 20(SP),R4 ASL R4 ;CONVERT TO BYTES MOV #BUFFER,R3 QIOW$S #1000,#LUN,#LUN,,#STAT,, INC NTOT CLR R0 MOV #BUFFER,R4 CMP STAT,#1 BNE TRAP MOV STAT+2,R2 ASR R2 1$: INC R0 CMP R0,(R4)+ BNE TRAP1 CMP R0,R2 BLT 1$ MOV #7777,BUFFER EXIT: RESTOR ADD (SP),SP ASTX$S ; TRAP: CALLFT DLOUT,<<' AST ERROR >,STAT,STAT+2> BR EXIT TRAP1: CALLFT DLOUT,<<' DATA ERROR >,R0,-2(R4)> BR EXIT TOT: .WORD 100. .MCALL CALLFT,QIOW$S,EXIT$S IO.SPA=25.*^O400 QIORCV: CALLFT DLDEC,<<' TOTAL TRANSFERS>,TOT,TOT> QIOW$S #IO.SPA,#LUN,#LUN,,#STAT,,<#1,#AST> BCS DSWERR CMP STAT,#1 BNE ERR 1$: CMP NTOT,TOT BLT 1$ CALLFT DLOUT,<<' DONE>> EXIT$S ; DSWERR: MOV #$DSW,R0 CALLFT DLOUT,<<' ERROR>,R0> EXIT$S ERR: CALLFT DLOUT,<<' I/O ERROR >,STAT> EXIT$S .END QIORCV ; ; ;