ASMB,R,L,C * NAME: FCONT * SOURCE: 92070-18042 * RELOC: 92070-16042 * 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 FCONT,7 92070-1X042 REV.1941 790709 * HED FCONT ENT FCONT EXT .ENTR,EXEC,GTOPN * * THIS IS THE TYPE ZERO CONTROL ROUTINE OF * THE RTE FILE MANAGEMENT PACKAGE. * * A STANDAD RTE CONTROL REQUEST IS ISSUED * TO THE DEVICE VIA THE EXEC IF THE * DCB IS OPEN TO A TYPE ZERO FILE. * CALLING SEQUENCE * CALL FCONT(IDCB,IERR,ICON1,ICON2) * WHERE: * IDCB IS THE DATA CONTROL BLOCK FOR * THE FILE. * IERR IS THE LOCATION FOR RETURNED * ERRORS. * POSSIBLE ERRORS ARE: * 0 NO ERRORS * -10 NOT ENOUGH PARAMETERS * -11 DCB NOT OPEN * >0 NOT A TYPE ZERO FILE (IERR=TYPE) * ICON1 IS CONTROL WORD #1 - THE DEVICE * LU IS MURGED INTO THE LOW * 6 BITS OF THIS WORD * ICON2 IS CONTROL WORD TWO - OPTIONAL * ZERO IS USED IF NOT SPECIFIED * ON RETURN A = IERR * B = DEVICE STATUS SKP FCONT NOP LDB DZERO RESET X REP 7 ENTRY STB *-X+IDCB ADDRESS CLB CLEAR DUMMY STB ZERO ZERO LDA FCONT STA DCONT MOVE PARM ADDRESS TO DUMMY ENTRY JMP DCONT+1 * * IDCB DEF ZERO PARAMETER IERR DEF ZERO ADDRESS ICNWD DEF ZERO AREA IPRM1 DEF ZERO IPRM2 DEF ZERO IPRM3 DEF ZERO IPRM4 DEF ZERO SPC 1 DCONT NOP ENTRY POINT JSB .ENTR FETCH PARAMETERS DEF IDCB * LDA N10 FETCH ERROR CODE LDB ICNWD FOR NOT ENOUGH PARMS CPB DZERO OK????? JMP EXIT NOPE--GET OUT * LDB IDCB GET DCB ADB .2 ADDRESS STB TYPE OF TYPE ADB .7 AND JSB GTOPN GET CURRENT OPEN FLAG DEF *+1 CPA B,I IS IT THE SAME AS IN DCB? JMP OK YES, CONTINUE LDA N11 NO; SEND NOT OPEN ERROR EXIT STA IERR,I TO CALLER LDB STAT STATUS TO B AND JMP DCONT,I RETURN SKP OK LDA TYPE,I GET FILE TYPE SZA ZERO? JMP EXIT NO; EXIT : TYPE IN A SPC 1 ISZ TYPE YES; STEP TO WORD WITH LU LDA TYPE,I GET LU AND B77 AND ISOLATE THEN STA B SAVE LDA ICNWD,I GET THE FUNCTION AND B1777 MAKE SURE THE LOW END IS ZERO IOR B PUT THEM TOGETHER STA ICNWD SET FOR CALL JSB EXEC CALL EXEC TO DEF EXRTN DO DEF FUNC THE DEF ICNWD CONTROL DEF IPRM1,I FUNCTION DEF IPRM2,I DEF IPRM3,I DEF IPRM4,I EXRTN JMP EXM17 ERROR RETURN FROM EXEC STA STAT SAVE STATUS FOR RETURN JMP EXIT GO; EXIT * * EXM17 LDA N17 JMP EXIT SKP * * CONSTANT AREA * FUNC OCT 100003 B1777 OCT 177700 B200 OCT 200 N17 DEC -17 .2 OCT 2 TYPE NOP .7 DEC 7 N10 DEC -10 N11 DEC -11 DZERO DEF ZERO ZERO NOP STAT NOP B77 OCT 77 SPC 2 A EQU 0 B EQU 1 SPC 1 END EQU * SPC 1 END