*DECK MACNIP
IDENT FSTATUS
ENTRY FSTATUS
B1=1
COMMENT DETERMINE IF FILE IS A LOCAL FILE.
SPACE 4
*** FSTATUS - DETERMINE IF FILE IS A LOCAL FILE.
*
* CALL FSTATUS(FILE)
*
* ENTRY (FILE) = FIRST WORD OF THE FET
*
* FSTATUS(FILE); ( SYMPL CALL )
*
* ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
FSTATUS SUBR =
SB1 1
STATUS X1
JP FSTATUSX
END
IDENT GETFIL
B1=1
TITLE GETFIL - GET A PERMANENT FILE.
COMMENT GET A PERMANENT FILE.
SPACE 4
*** NOS PERMANENT FILE MANAGER SYMPL INTERFACE ROUTINES
*
* GETFIL(LFN,PFN)
*
* LFN - LOGICAL FILE NAME, LEFT JUSTIFIED, ZERO FILLED,
* SEVEN CHARACTER MAXIMUM
* PFN - PERMANENT FILE NAME, SAME CHARACTERISTICS AS LFN
*
* THIS IS A SYMPL FUNCTION AND RETURNS THE STATUS FROM WORD 0,
* BITS 17-10. SEE NOS REFERENCE MANUAL FOR PFM ERROR CODES.
*
PFMFET FILEB DUMMY,DUMMYL,EPR,(FET=16D) DUMMY PFM FET
DUMMYL EQU 0
DUMMY BSS 0
SPACE 4
*** GETFIL - GETS A NOS PERMANENT FILE
*
* SYMPL CALL - STATUS = GETFIL(LFN,PFN);
*
ENTRY GETFIL
GETFIL SUBR = ENTRY/EXIT
SB1 1
SA4 X1 GET LFN
SA3 A1+B1 ADDRESS OF PFN IN X3
SA5 PFMFET GET CONTENTS OF FET+0
MX0 -18
BX7 -X0*X5 MASK OLD LFN, LEAVE LOWER 18 BITS
BX6 X0*X4 MASK OUT UNWANTED BITS
SA1 X3 GET PFM
BX6 X6+X7 PUT FET+0 TOGETHER
BX1 X0*X1 X1 = PFM
SA6 A5 PUT LFN IN FET+0
GET PFMFET,X1 GET FILE
SPACE 2
BSS 0 RETURN ERROR CODE
SA1 PFMFET GET FET+0
MX0 -8
AX1 10 RIGHT JISTIFY BITS 17-10
BX6 -X0*X1 ISOLATE ERROR CODE IN X6
JP GETFILX RETURN
END
IDENT READ
ENTRY READ
B1=1
TITLE READ - READ FILE TO CIO BUFFER.
COMMENT READ FILE TO CIO BUFFER.
READ SPACE 4,10
*** READ - READ FILE TO CIO BUFFER.
*
* CALL READ (FILE)
*
* ENTRY (FILE) = FIRST WORD OF THE FET
*
* READ(FILE); ( SYMPL CALL )
*
* ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
READ SUBR =
SB1 1
READ X1,R
JP READX
END
IDENT REWIND
ENTRY REWIND
B1=1
TITLE REWIND - REWIND FILE.
COMMENT REWIND FILE.
REWIND SPACE 4,10
*** REWIND - REWIND FILE.
*
* CALL REWIND (FILE)
*
* ENTRY (FILE) = FIRST WORD OF THE FET
*
* REWIND(FILE); ( SYMPL CALL )
*
* ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
REWIND SUBR =
SB1 1
REWIND X1,R
JP REWINDX
END
IDENT ROUTE
ENTRY ROUTE
COMMENT ROUTES FILE TO INPUT
TITLE ROUTE - ROUTES A FILE
*IF DEF,IMS
*#
* 1. ROUTINE NAME AUTHOR DATE
* ROUTE S. KRULEVITCH 78/11/13
*
* 2. FUNCTIONAL DESCRIPTION
* ROUTES A FILE TO DESTINATION SPECIFIED BY PARAMETER BLOCK
*
* 3. METHOD USED
* SYMPL CALL:
* ROUTE (PARAM,RECALL);
*
* 4. ENTRY CONDITIONS
* PARAM - PARAMETER BLOCK ADDRESS
* RECALL - CIO CALL WITH RECALL IF SET
*
* 5. EXIT CONDITIONS
* NONE
*
* 6. COMDECKS CALLED
*
* 7. MACROS CALLED
* ROUTE
*
* 8. DAYFILE MESSAGES
*#
*ENDIF
ROUTE SUBR =
SA3 A1+1 ADDRESS OF RECALL BIT
SA3 X3
ROUTE X1,X3
EQ ROUTEX RETURN TO ENTRY POINT
END
IDENT WRITEO
ENTRY WRITEO
TITLE WRITEO - WRITES ONE WORD TO FILE
COMMENT WRITES ONE WORD TO FILE
*IF DEF,IMS
*#
*1DC WRITEO
*
* 1. SUBROUTINE NAME AUTHOR DATE
* WRITEO C. BITTNER 83/05/23
*
* 2. FUNCTIONAL DESCRIPTION
* THIS ROUTINE WRITES ONE WORD TO THE CIRCULAR IO BUFFER.
*
* 3. METHOD USED
* SYMPL CALL: WRITEO(FILE,WORD);
*
* 4. ENTRY PARAMETERS
* FILE - FIRST WORD OF THE FET
* WORD - WORD TO BE TRANSFERRED
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. COMMON DECKS CALLED
* NONE
*
* 7. DAYFILE MESSAGES
* NONE
*
*#
*ENDIF
WRITEO SUBR =
SA3 A1+B1 ADDRESS OF WORD
SA3 X3 WORD
BX6 X3
WRITEO X1
EQ WRITEO
END
IDENT WRITER
ENTRY WRITER
B1=1
TITLE WRITER - WRITE END OF RECORD.
COMMENT WRITE END OF RECORD.
WRITER SPACE 4,10
*** WRITER - WRITE END OF RECORD.
*
* CALL WRITER (FILE)
*
* ENTRY (FILE) = FIRST WORD OF THE FET
*
* WRITER(FILE); ( SYMPL CALL )
*
* ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
WRITER SUBR =
SB1 1
SA3 A1+B1 ADDRESS OF LEVEL
SA3 X3 LEVEL
WRITER X1,X3
EQ WRITERX
END
IDENT XCOD
ENTRY XCOD
B1=1
LIST F
TITLE XCOD - CONVERT INTEGER TO OCTAL DISPLAY CODE.
COMMENT CONVERT INTEGER TO OCTAL DISPLAY CODE.
XCOD SPACE 4,10
*** XCOD - CONVERT INTEGER TO OCTAL DISPLAY CODE.
*
* HOLLERITH = XCOD (INTEGER)
*
* XX = XCOD(YY); ( SYMPL CALL )
*
* ENTRY - YY, AN ITEM THAT CONTAINS THE INTEGER TO BE CONVERTED
*
* EXIT - XX, A CHAR. ITEM TO CONTAIN DISPLAY CODE ON EXIT
XCOD SUBR = ENTRY/EXIT
SB1 1
SA1 X1+
RJ =XCOD=
JP XCODX RETURN, RESULT IN X6
END
IDENT OPEN
ENTRY OPEN
B1=1
TITLE OPEN A FILE (CREATE A FILE)
COMMENT OPEN A FILE
OPEN SPACE 4,10
** OPEN - OPEN A FILE
*
* OPEN(FILE); (SYMPL CALL)
*
* ENTRY - FILE AN ARRAY THAT CONTAINS THE FET
*
OPEN SUBR =
SB1 1
OPEN X1,WRITE,R
EQ OPENX
END