ASMB,R,L,C * NAME: RWNDF * SOURCE: 92070-18053 * RELOC: 92070-16053 * PGMR: G.A.A. * MOD: M.L.K. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * * NAM RWNDF,7 92070-1X053 REV.1941 790709 * HED RWNDF ENT RWNDF EXT .ENTR,RWND$,EXEC EXT R/W$,GTOPN * THE MODULE OF THE RTE FILE MANAGER PERFORMS * THE REWIND OR RESET FUNCTION * * A FILE IS RESET TO EXTENT 0 RECORD 1 VIA RWND$ * A TYPE ZERO UNIT IS REWOUND VIA AN EXEC CALL * * * CALLING SEQUENCE * * CALL RWNDF(IDCB,IER) * * WHERE: * * IDCB IS THE FILES DATA CONTROL BLOCK ARRAY * * IER IS THE ERROR RETURN LOCATION. * ERRORS ARE RETURNED IN THE A REG * ALSO. * ERRORS CODES ARE: * 0 NO ERROR * -11 DCB NOT OPEN * * SKP RWNDF NOP LDB DFDM PRESET STB DCB ENTRY STB IER ADDRESSES LDA RWNDF MOVE RETURN ADDRESS STA DWNDF TO DUMMY ENTRY POINT JMP DWNDF+1 GO DO IT * DCB DEF DCB IER DEF DCB SPC 1 DWNDF NOP ENTRY POINT JSB .ENTR FETCH DFDM DEF DCB PRAM ADDRESSES SPC 1 LDB DCB GET DCB ADDRESS ADB .2 INDEX TO TYPE AND STB TYPE SET ADDRESS ADB .7 INDEX TO OPEN FLAG AND JSB GTOPN GET CURRENT OPEN FLAG DEF *+1 CPA B,I SAME AS IN DCB? CLA,INA,RSS YES; SET AWRWND RECORD COUNT/SKIP JMP NOOPN NO; TAKE ERROR EXIT ADB .5 INDEX TO RECORD COUNT AND STA B,I SET RECORD COUNT LDA TYPE,I GET TYPE CLE,SZA IF NOT ZERO JMP DISC GO DO DISC THING SPC 1 ISZ TYPE TYPE =0 -STEP TO LU LDA TYPE,I FETCH LU AND AND B77 ISOLATE IT THEN ADA B400 ADD THE REWIND BIT STA TYPE AND SAVE FOR EXEC SPC 1 JSB EXEC CALL EXEC TO DEF RTN REWIND DEF .3I TYPE DEF TYPE ZERO FILE RTN JMP ER17 EXEC ERROR EXRTN CLA,RSS SET ERROR CODE AND SKIP TO EXIT NOOPN LDA N11 NOT OPEN- EXIT -11 EXIT STA IER,I SET ERROR CODE JMP DWNDF,I RETURN * ER17 LDA N17 ILLEGAL CONTROL REQUEST JMP EXIT SPC 2 DISC LDB DCB SET UP AND JSB R/W$ WRITE THE BLOCK IF NECESSARY JMP EXIT IF ERROR EXIT SPC 1 LDB DCB DISC FILE-CALL CLA RWND$ JSB RWND$ TO SET UP DCB JMP EXIT ERROR RETURN JMP EXRTN NORMAL RETURN SKP * CONSTANT AREA SPC 1 .3I OCT 100003 TYPE NOP .2 DEC 2 .5 DEC 5 .7 DEC 7 N17 DEC -17 B77 OCT 77 B400 OCT 400 N11 DEC -11 SPC 2 A EQU 0 B EQU 1 SPC 1 END EQU * SPC 1 END