/ 1 OS/8 V3D FORTRAN II DISK/DECTAPE / R/W SUBROUTINE / / 14-SEP-78 WOLFGANG HOUBEN / / CALL RDISK ( IBLK , NBLK , ARRAY ) / CALL WDISK ( IBLK , NBLK , ARRAY ) / ENTRY RDISK ENTRY WDISK OPDEF KRS 6034 OPDEF BSW 7002 OPDEF JMSI 4400 DUMMY IBLK DUMMY NBLK DUMMY ARRAY IBLK, BLOCK 2 NBLK, BLOCK 2 ARRAY, BLOCK 2 XPNT, IBLK PNTR, 0 CNTR, 0 RW, 0 OLDBLK, 0 DIR, 0 / WDISK, BLOCK 2 / WRITE ROUTINE TAD (4000 DCA RW / READ/WRITE SWITCH TAD WDISK DCA RDISK TAD WDISK# DCA RDISK# JMP RWCOM / GOTO COMMON ROUTINE / IOER, 1117;0522 / "IOER" ERROR MESSAGE / RDISK, BLOCK 2 / READ ROUTINE DCA RW / RWCOM, TAD XPNT DCA PNTR TAD (-6 DCA CNTR A1, TAD I RDISK INC RDISK# DCA I PNTR INC PNTR ISZ CNTR JMP A1 / TAD I IBLK DCA ARG3 / START BLOCK ON DISK / TAD OLDBLK / GET LAST BLOCK CIA TAD ARG3 / SUB THE BLOCK # TAD (-7 / SUB SEVEN SMA CLA IAC DCA DIR / LOAD DIRECTION BIT / TAD I NBLK DCA PNTR / SAVE FOR A MOMENT TAD PNTR TAD ARG3 DCA OLDBLK / SET NEW OLDBLK / TAD PNTR / GET THE BLK # AGAIN CLL RAL AND (37 BSW TAD RW / R/W BIT TAD DIR / ADD THE DIRECTION BIT DCA ARG1 / # OF BLOCKS TO TRANSFER TAD ARRAY# DCA ARG2 / BUFFER ADDR IN CORE TAD ARRAY AND (70 TAD ARG1 DCA ARG1 / BUFFER FIELD / CPAGE 7 / NEXT SEVEN LOC'S / ON ONE PAGE !!! 6201 / CIF 00 JMSI (7607 / SYSTEM HANDLER ENTRY ARG1, 0 ARG2, 0 ARG3, 0 JMP IOERR / ERROR RETURN KSF / TEST ^C JMP RETURN TAD (200 / SET PARITY BIT KRS TAD (-203 SNA CLA / ^C ? JMP EXIT / YES:EXIT RETURN, RETRN RDISK / IOERR, CALL 1,ERROR ARG IOER / EXIT, CALL 0,EXIT END