link 2 points to the associated text buffer @: address is LQFy, shortened to '@' y = F or I or X @ -5 LUNy @ +0 MSTATy status word of the control bank MEDIUy bit 1-3: medium: 0 disk, 1 T tape, normal 2 K disk, 3 TK tape, user 4 C disk, 5 TC tape, channel 6 M memory IFIFOy bit 4-6: file fmt: 0 native 1 X exchange sequential 2 D direct-access 3 M memory 4 A alfa IDAFOy bit 7: data fmt: 0 native, 1 exchange IACMOy bit 8-10: access: 0 F Fortran 1 Y special 2 L c library 3 C channel bit 11: read permission bit 12: write permission bit 13-14: NEOF = 0, 1, 2, or 3 bit 15: option S for separate d/ss IUPAKy bit 16: option U for unpacked d/ss @ 1 IADOPy Channel: adr of user routine Memory: current memory pointer @ 2 IACTVy last activity: = 0 file unused 10 switch input to output or: rewind to over-write or: new output file connected 1 read start-of-run 11 write start-of-run 2 read d/s 12 write d/s 3 read end-of-run 13 write d/s, buffer flushed 4 read Zebra end-of-file 14 write end-of-run 5 read system end-of-file 15 write end-of-file 6 read end-of-data 16 write end-of-data 7 attempted read beyond 17 attempted write beyond EoD 8 rewind after read 18 rewind after write for input or: new input file connected @ 3 INCBFy incr. to go to the buffer param.: LBPARy = LQFy + INCBFy @ 4 LOGLVy logging level @ 5 MAXREy native mode: maximum logical record size exchange file format: physical record size @ 6 @ 8 Memory: LMEM: User memory starts at IQ(LMEM) @ 9 Memory: NWMEM: Size of the user memory @+11 number of system file marks @ 12 number of Zebra EoF signals @ 13 number of end-of-run records @ 14 number of start-of-run records @ 15 number of pilot records @ 16 number of non-empty d/s @ 17 number of empty d/s @ 18 number of errors @ 19 number of Mwords read/written @ 20 number of words read/written (up to 1 M) @ 21 number of good logical records @ 22 number of good physical records (exchange file format) @ 23 number of steering blocks (exchange file format) @ 24 number of conversion problems (exchange data format) @ 26 input: last read status returned @ 27 input: LRTYP status of last record read @ 28 number of pilots printed by last statistic message @ 29 current run number @ 30 input: pending: 0 nothing, 1 EoF, 2 st/end of run @ 31 DsA word 1: record # for current d/s @ 32 DsA word 2: offset @ 33 current record number for direct-access if -ve: FZINXT called, reset from previous @ 34 saved DsA word 1 of the direct access table @ 35 word 2
@ 41 NWTB, number of table words @ 42 NWBK, number of words of bank material @ 43 LENTRY, entry adr to d/s @ 50 NWIOI, number of words in I/O characteristic @ 51 -> 66 I/O characteristic for last user header vector @ 68 NWSEG, number of words in the segment table @ 69 ->128 last segment table read @130 NTBE, number of early table words (only if native file format) @131 -> 170 early table buffer parameters in the control bank, LBPARI = LQFI + INCBFI -9 non-zero if last LR abended next physical record ready in the buffer if N4ENDI not zero -7 expected next PhR number -6 zero if current block is steering, = 1 if last fast block in burst, =2 if last-but-one, etc -5 number of fast blocks to follow current block -4 N4SKII, # of words to be skipped before next transmission -3 N4RESI, # of words still to be read for current LR -2 N4DONI, # of words of the current buffer already done -1 N4ENDI, # of words in buffer before start of next LR if = buffer-size: record continues in next PhR LBPARI+0 maximum size of buffer, file words +1 expected size of PhR, machine words +2 displacement from LBPAR to start-of-buffer LSTO +3 off-set from start-of-buffer to read position for packed records +4 off-set for writing LSTO = LBPARI + IQ(LBPARI+2) LSTO -1 space for left half of double-precision number spanning PhRs LSTO +0 start-of-buffer: read (if 32-bit machine) or unpack into here
@ 37 limit: Mega-words @ 38 limit: words @ 39 original parameter from FZLIMI buffer parameters in the control bank, LBPARX = LQFX + INCBFX -6 zero if current block is steering, = 1 if last fast block in burst, =2 if last-but-one, etc -5 number of fast blocks to follow current block -4 -3 N4RESX, # of words still to be done for current LR -2 N4DONX, # of words of the current buffer already done -1 LBPARX+0 maximum size of buffer, file words +1 size of PhR, machine words +2 displacement from LBPAR to start-of-buffer LSTO +3 off-set for input +4 off-set for output LSTO = LBPARX + IQ(LBPARX+2) -1 free to allow packing with shift LSTO +0 start-of-buffer for accumulation last buffer-word + 1: space for right half of a double-precision number spanning physical records