ASMB,R,L,C HED CLOSE * NAME: CLOSE * SOURCE: 92064-18064 * RELOC: 92064-16061 * PGMR: G.L.M. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. 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 CLOSE,7 92064-16061 REV.1650 761010 * ENT CLOSE EXT EXEC,.ENTR,CLD.R,.P1,.P2 SUP * * THIS IS THE CLOSE SUBROUTINE--A PART OF THE * REAL-TIME FILE MANAGEMENT PACKAGE * * THE ASSEMBLY CALL TO CLOSE A FILE IS: * * JSB CLOSE * DEF RTN RETURN ADDRESS * DEF IDCB DATA CONTROL BLOCK ADDRESS * DEF IERR (OPTIONAL) ERROR CODE RETURNED HERE AND IN A REG * DEF IRX (OPTIONAL) NO. OF 128 WORD DOUBLE *RTN SECTORS TO BE DELETED FROM THE FILE * * ERRORS ARE: * 0 NONE * -1 DISC DOWN * -10 NOT ENOUGH PARAMETERS * -11 FILE NOT OPEN * -13 DISC LOCKED * * * SKP * CLOSE NOP LDA DZ RESET PARMS STA IDCB STA IERR STA IRX LDA CLOSE STA DLOSE SET PARM ADDR IN DUMMY ENT JMP DLOSE+1 * IDCB DEF CLOSE DCB ADDRESS IERR DEF CLOSE ERROR CODE ADDRESS IRX DEF CLOSE TRUNICATE CODE ADDRESS SPC 1 DLOSE NOP ENTRY POINT JSB .ENTR TRANSFER THE ADDRESSES DM DEF IDCB LDA IDCB IF NO PARAMETERS CPA DZ THEN JMP ER10 ERROR EXIT ADA .9 ADD 9 TO GET THE THE OPEN FLAG STA OPNFL SAVE THE OPEN FLAG ADDRESS LDB A,I GET THE OPEN FLAG CPB XEQT FILE OPEN? CLE,RSS YES SKIP JMP ER11 NO; ERROR EXIT * * * CLB SET FUNCTION STB .P1 CODE FOR CLOSE LDA IDCB,I SET LU/TYPE SSA IF DEVICE--DON'T JMP SKIP CALL D.R CMA,INA SET NEGATIVE STA .P2 FOR D.R JSB CLD.R GO CALL D.R * CLA STA OPNFL,I CLEAR THE OPEN FLAG STB IDCB,I CLEAR M FLAG LDA B,I FETCH ERROR CODE EXIT STA IERR,I SET ERROR CODE JMP DLOSE,I * SKIP LDA IDCB INA LDB A,I FETCH DEVICE TYPE CPB B1000 PUNCH?? RSS YEP JMP SSCC ADA .3 ADVANCE TO EOF CODE STA CNT * JSB EXEC GO DEF SSCC DO DEF .3 IT CNT NOP SPC 2 * SSCC CLA 0 FOR ERROR RETURN JMP EXIT SPC 3 ER11 CCA FILE NOT OPEN - ERROR 11 ER10 ADA N10 NOT ENOUGH PRAMS - ERROR 10 JMP EXIT GO EXIT SPC 3 N10 DEC -10 .3 OCT 3 B1000 OCT 1000 .9 DEC 9 OPNFL NOP DZ DEF CLOSE SPC 2 A EQU 0 B EQU 1 XEQT EQU 1717B SPC 1 END EQU * SPC 1 END