;$IO WAIT WAIT ON I/O COMPLETE ;. 13-SEPT-76 P. CANNON ;. ;. THIS MODULE GIVES THE FORTRAN PROGRAMMER THE OPTION ;. OF OVERLAPPING I/O AND COMPUTATION. ALL I/O ROUTINES ;. STARTING WITH I ONLY INITIATE AN I/O OPERATION AND ;. THE USER MUST CHECK ON I/O COMPLETION USING WAIT. ;. ;. CALL WAIT(FDB,/NBT/,/IER/) ;. ;. FDB FILE DESCRIPTOR BLOCK ;. NBT OPTIONAL PARAMETER CONTAINING THE NUMBER OF BYTES ;. TRANSFERRED ;. IER ERROR FLAG ;. POSITIVE IMPLIES NO ERROR ;. ZERO IMPLIES END OF FILE ;. NEGATIVE IMPLIES HARDWARE I/O ERROR ;. ; THE GENERAL FORM OF THE WAIT$ MACRO IS : ; WAIT$ FDB,BKEF,BKST,ERR ; ; WHERE: ; FDB ADDRESS OF THE FILE DESCRIPTOR BLOCK ; BKEF A NUMERIC VALUE SPECIFYING THE EVENT FLAG NUMBER ; TO BE USED FOR SYNCHRONIZING BLOCK I/O OPERATIONS. ; BKST ADDRESS OF A 2-WORD I/O STATUS BLOCK IN THE USER ; PROGRAM. ; ERR THE SYMBOLIC ADDRESS OF AN OPTIONAL USER-CODED ; ERROR-HANDLING ROUTINE. ; .TITLE WAIT - WAIT ON I/O COMPLETE .IDENT /V01/ .PSECT .GLOBL WAIT .GLOBL BIOCMP .MCALL WAIT$ EF: .WORD 0 ;ADDRESS OF PARAMETER LIST .WORD 0 ;NBR OF TIMES CALLED WAIT: MOV R5,EF ;SAVE ADDRESS OF PARAMETER LIST INC EF+2 ;ADD ONE TO THE NBR OF TIMES CALLED MOV (R5)+,R4 ;LOAD THE NUMBER OF PARAMETERS MOV (R5)+,R0 ;LOAD THE ADDRESS OF THE FDB DEC R4 ;COMPUTE THE NBR OF OPTIONAL PARAMETERS JSR PC,BIOCMP ;WAIT ON I/O TO COMPLETE,UPDATE THE ;OPTIONAL PARAMETERS RTS PC .END