ASMB,R,L,C HED COMPILER LIBRARY CREATE ROUTINE NAM CRE.C,7 92060-16102 780921 REV. 1901 $CLIB * * *************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * * REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * *************************************************************** * * * * SOURCE PART NUMBER : 92060-18070 * * * CREATE FILE SUBROUTINE * * THIS ROUTINE WILL CREATE A FILE AS REQUIRED BY THE OPEN ROUTINE. * CRE.C WILL TAKE THE 'NAMR' DATA AND PUT IT IN A BUFFER WHICH IS * A SKELETON FOR A DIRECTORY ENTRY AND WRITE OUT TO A DISC TRACK * THEN CALL D.RTR WHICH READS THE DISC TRACK AND CREATES A FILE * DIRECTORY. THE DISC TRACK IS THEN RETURNED. * * * * CALLING SEQUENCE: * * * A = CREATED FILE TYPE(4 FOR SOURCE, 5 FOR BINARY) * JSB CRE.C * ERROR RETURN * NO ERROR RETURN * * * A <= INDICATES ERROR NUMBER * * ENTRY POINT: * ENT CRE.C * * EXTERNALS: * EXT EXEC SYSTEM EXECUTIVE EXT GEX.C CREATE/OPEN ROUTINE EXT NAM.. CHECK NAME ROUTINE * EXT C.NAM DEFAULT FILE NAME EXT C.NA3 FILE NAME - LAST 2 CHARACTERS EXT C.SC DEFAULT FILE SECURITY CODE EXT C.CR DEFAULT FILE CARTRIDGE OR LU NUMBER EXT C.FTY DEFAULT FILE TYPE EXT C.FSZ DEFAULT FILE SIZE EXT C.TYP 'NAMR' TYPE * * * A EQU 0 B EQU 1 * CRE.C NOP LDB C.FTY,I HAS USER REQUESTED SZB,RSS A FILE TYPE? STA B YES, USE IT! STB BUF+3 NO, USE DEFAULT!! JSB NAM.. IS NAME DEF *+2 OK? DEF C.NAM,I SZA JMP ERROR NO! DLD C.NAM,I SET DST BUF UP NAME LDA C.NA3,I IN BUFFER STA BUF+2 PRIOR TO WRITING OUT ON DISC TRACK LDB C.FSZ,I SZB,RSS IS SIZE ZERO? LDB .24 YES, USE DEFAULT OF 1 TRACK WORTH BLS DOUBLE TO SSB GET 64 CCB 64 WORD SECTORS, SET TO -1 IF ALL OF DISC STB BUF+6 CLA SSB CMA STA BUF+5 SESSION USES DBL WRD LDA C.SC,I SET SECURITY CODE STA BUF+8 * CLA,INA LDB C.CR,I JSB GEX.C CREATE FILE DEF BUF ERROR JMP CRE.C,I ERROR RETURN ISZ CRE.C JMP CRE.C,I GOOD RETURN * * * CONSTANTS AND BUFFERS * .24 DEC 24 BUF NOP NAME NOP IS NOP HERE NOP PRGRAM TYPE NOP NOP NOP NOP NOP PRGRAM SECURITY CODE NOP END