MACRO 00001000 ADT 00002000 PUSH PRINT 00002200 AIF ('&SYSPARM' NE 'SUP').ACC01 00002400 PRINT OFF,NOGEN 00002600 .ACC01 ANOP 00002800 * 00003000 * ACTIVE DISK TABLE BLOCK 00004000 * 00005000 ADTSECT DSECT 00006000 * 00007000 * NEEDED FOR READ-ONLY DISKS AND READ-WRITE DISKS 00008000 * 00009000 ADTID DS CL6 DISK-IDENTIFIER (LABEL) 00010000 ADTFLG3 DS 1X THIRD FLAG BYTE 00011100 ADTFTYP DS 1X FILETYPE FLAG-BYTE 00012000 ADTPTR DS 1A POINTER TO NEXT ADT BLOCK IN CHAIN 00013000 ADTDTA DS 1A DEVICE TABLE ADDRESS IN NUCON 00014000 ADTFDA DS 1A FILE DIRECTORY (PSTAT) ADDRESS 00015000 ADTMFDN DS 1F (1) NUMBER DBL-WORDS IN MFD 00016000 ADTMFDA DS 1A (2) MASTER FILE DIRECTORY ADDRESS 00017000 OSADTVTA DS 0F VTOC ADDRESS OF O/S PACK 00018000 ADTHBCT DS 1F FST HYPERBLOCK COUNT 00019000 ADTFSTC DS 1F NUMBER OF FST 40-BYTE ENTRIES (FILES) 00020000 OSADTFST DS 0F ADDRESS OF 1ST. O/S FST 00021000 ADTCHBA DS 1A (1) POINTER TO CURRENT FST HYPERBLOCK 00022000 OSADTVTB DS 0F UPPER VTOC ADDR OF O/S PACK 00023000 ADTCFST DS 1F (2) DISPLACEMENT OF CURRENT FST ENTRY 00024000 ADT1ST DS 1F (1) DISP. OF 1ST WORD IN BIT-MASK WITH 'HOLE' 00025000 OSADTDSK DS 0F O/S DISK ADDRESS (CUU) 00026000 ADTNUM DS 1F (2) NUMBER OF RECORDS (NUMTRKS) 00027000 OSADTSV1 DS 0F SAVE AREA 00028000 ADTUSED DS 1F (3) NUMBER OF RECORDS IN USE (QTUSEDP) 00029000 ADTLEFT DS 1F (4) NUMBER OF RECORDS LEFT (QTLEFTP) 00030000 ADTLAST DS 1F (5) DISP. OF LAST NONZERO BYTE IN BIT-MASK 00031000 ADTCYL DS 1F (6) NUMBER OF CYLINDERS ON DISK (NUMCYLP) 00032000 ADTM DS 1C MODE LETTER (A,B,C,...,S,Y, ETC.) 00033000 ADTMX DS 1C EXTENSION-OF-MODE LETTER (A,B,C, ETC.) 00034000 ADTFLG1 DS 1X FIRST FLAG-BYTE 00035000 ADTFLG2 DS 1X SECOND FLAG BYTE 00036000 * 00037000 ADT2ND DS 0D 00038000 * 00039000 * NEEDED PRIMARILY FOR READ-WRITE DISKS 00040000 * (ADTLHBA & ADTLFST APPLY TO ALL CMS DISKS EXCEPT S-DISK) 00040100 * 00041000 ADTMSK DS 1A 800-BYTE (PQMSK) BIT-MASK ADDRESS 00042000 ADTQQM DS 1A 200-BYTE (PQQMSK) BIT-MASK ADDRESS 00043000 ADTPQM1 DS 1F (1) PQMSIZ = NO. BYTES IN PQMSK > 215 00044000 ADTPQM2 DS 1F (2) PQMNUM = NO. 800 BYTE-REC FOR PQMSK 00045000 ADTPQM3 DS 1F (3) R0NUM = NO. DBL-WORDS IN PQMSK 00046000 ADTLHBA DS 1A (1) POINTER TO LAST FST HYPER-BLOCK 00047000 ADTLFST DS 1F (2) DISP. OF LAST FST IN LAST HYPER-BLOCK 00048000 ADTNACW DS 1H NUMBER OF ACTIVE WRITE FILES - HALFWORD 00049000 ADTRES DS 1H RESERVE-COUNT (RESRVCNT) - HALFWORD 00050000 * 00051000 ADTXNREC DS 1F (1) NO. DBL WORDS OF EXTRA CHAIN LINK RECORDS 00051100 ADTXAREC DS 1F (2) ADDR OF BLOCK OF EXTRA CHAIN LINK RECORDS 00051200 * 00051300 ADTLBM EQU ADT2ND-ADTSECT LENGTH OF MINIMUM ADT BLOCK (BYTES) 00052000 ADTLDM EQU ADTLBM/8 LENGTH OF MINIMUM ADT BLOCK IN DBL-WORDS 00053000 * 00054000 ADTLB EQU *-ADTSECT LENGTH OF FULL ADT BLOCK (BYTES) 00055000 ADTLD EQU (ADTLB+7)/8 LENGTH OF FULL ADT BLOCK IN DBL-WORDS 00056000 * 00057000 * FIRST FLAG-BYTE (ADTFLG1) DEFINITIONS 00058000 * 00059000 ADTFSF EQU X'80' ADT BLOCK IN FREE STORAGE 00060000 ADTFRO EQU X'40' CMS READ-ONLY DISK (ATTACHED & READY) 00061100 ADTFRW EQU X'20' CMS READ-WRITE DISK (ATTACHED & READY) 00062100 ADTFFSTF EQU X'10' 1ST FST HYPERBLOCK IS IN FREE STORAGE 00063000 ADTFFSTV EQU X'08' FST HYPERBLOCKS ARE OF VARYING LENGTH 00064000 ADTFQQF EQU X'04' 200-BYTE QQMSK IS IN FREE STORAGE 00065000 ADTROX EQU X'02' THIS DISK HAS READ-ONLY EXTENSION(S) 00066000 ADTFMIN EQU X'01' ADT BLOCK IS MINIMUM SIZE 00067000 * 00068000 * SECOND FLAG-BYTE (ADTFLG2) DEFINITIONS 00069000 * 00070000 ADTFMFD EQU X'80' MFD IS IN CORE 00071000 ADTFALNM EQU X'40' ALL FILENAMES ARE IN CORE 00072000 ADTFALTY EQU X'20' ALL FILETYPES ARE IN CORE 00073000 ADTFMDRO EQU X'10' MODES 1-5 ARE IN CORE 00074100 ADTFALMD EQU ADTFMDRO+X'08' ALL MODES (0-5) ARE IN CORE 00075100 ADTFALUF EQU ADTFMFD+ADTFALNM+ADTFALTY+ADTFALMD ALL UFD IS IN CORE 00076000 ADTPSTM EQU X'02' ADT PSTAT CHAIN MODIFIED N3220 00078000 ADTFROS EQU X'04' INDICATES THIS IS AN OS DISK N3220 00079000 ADTFDOS EQU X'01' INDICATES THIS IS A DOS DISK 00080000 * 00081000 * THIRD FLAG-BYTE (ADTFLG3) DEFINITIONS 00081100 ADTFUPD1 EQU X'80' 1ST HALF OF "UPDISK" HAS BEEN CALLED 00081200 ADTFXCHN EQU X'40' EXTRA CHAIN LINK(S) NEED TO BE RETURNED 00081300 ADTFRWOS EQU X'20' READ-WRITE OS OR DOS DISK 00081350 ADTFSORT EQU X'10' ALL FST HYPERBLOCKS & FST ENTRIES SORTED 00081400 ADTFORCE EQU X'08' CMS/DOS/OS DISK FORCED READ-ONLY 00081500 ADTFNOAB EQU X'04' FOR DMSAUD - DON'T ABEND IF DISK ERROR 00081600 ADTFZERO EQU X'01' ACCESS MODE 0 HRC010DS 00081650 * 00081700 * OTHER PARAMETERS 00082000 * 00083000 ADTRL EQU 800 LOGICAL RECORD LENGTH 00084000 ADTMXBML EQU 10 MAX BIT MAP LENGTH (NO. RECORDS) FOR 3330 00085100 * 00086000 * NUCON DEVICE TABLE OFFSETS 00087000 * 00088000 DTAD EQU 0 DEVICE NUMBER 00089000 DTADT EQU 3 DEVICE TYPE BYTE 00090000 DTAS EQU 4 SYMBOLIC DEVICE NAME 00091000 EJECT 00092000 POP PRINT 00092100 MEND 00093000