// DATE 100820 // NOHALT * *** RUN MAINT. * // LOAD $MAINT,F1 // RUN // COPY FROM-READER,TO-F1,RETAIN-R,LIBRARY-S,NAME-@VMD MACRO @VMD &EXP-N .* .* 5703-XM1 COMMON CORE LOCATIONS OUTSIDE NUCLEUS .* TEXT PRINT OFF AIF (&EXP EQ 'Y').ON PRINT ON REQUESTED ? AIF (&EXP EQ 'N').OFF PRINT OFF REQUESTED ? .ERR MNOTE 00,'INVALID MACRO OPTION SPECIFIED.' AGO .MEND .ON ANOP PRINT ON .OFF ANOP TITLE '@VMDEQ - VIRTUAL MEMORY DIRECTORY EQUATES' ********************************************************************** * LABELING METHOD DESCRIPTION * ********************************************************************** * * 1ST AND 2ND CHARACTERS - '@$' - DEFINES MODULE * * 3RD CHARACTER - TYPE OF EQUATE * * D - DISPLACEMENT * L - LENGTH * M - MASK * * 4TH CHARACTER - DIRECTORY IDENTIFICATION * * 1 - DIRECTORY 1 (ALLOCATED DATA) * 2 - DIRECTORY 2 (EXECUTION DATA) * B - BOTH D1 AND D2 * **** DISPLACEMENT EQUATES - DIRECTORY 1 * @$D1E1 EQU 0 LEFTMOST BYTE OF 1ST ENTRY * * ALL ENTRY DISPLACEMENTS ARE RELATIVE TO THE 1ST BYTE OF * THE ENTRY AND REFER TO THE RIGHTMOST BYTE OF THE FIELD * UNLESS OTHERWISE SPECIFIED. * @$D1DC EQU 0 DEVICE CODE @$D1BF EQU 8 BASIC (GET/PUT) FILENAME @$D1FS EQU 10 SCRATCH FILE SIZE IN SECTORS @$D1DV EQU 14 DISK VOLUME-ID @$D1DP EQU 22 DISK PASSWORD @$D1DF EQU 30 DISK USER-FILENAME * @$D1SW EQU 31 2ND PAGE SWITCH , 0=NONE * *** DISPLACEMENT EQUATES - DIRECTORY 2 * @$D2CF EQU 1 CURRENT FILE DISPLACEMENT @$D2AS EQU 2 ACTIVE SCRATCH FILE INDICATOR @$D2PN EQU 10 DISP TO PROGRAM NAME @$D2SF EQU X'0B' DISP TO SAVED SCRATCH ADDR 1-4 @$D2E1 EQU 64 LEFTMOST BYTE OF 1ST ENTRY @$D2DC EQU 0 DEVICE CODE @$D2IO EQU 1 I/O USAGE STATUS @$D2VB EQU 2 VM BUFFER BASE PAGE @$D2BS EQU 3 VM BUFFER SIZE IN PAGES @$D2CP EQU 5 CURRENT POINTER @$D2CS EQU 4 * CURRENT PAGE DISP. @$D2CB EQU 5 * CURRENT BYTE DISP. @$D2CY EQU 6 CYL BYTE OF FILE DISK ADDR @$D2DA EQU 7 FILE DISK ADDRESS @$D2DD EQU 9 DISP TO CURR DISK LOCATION DISP @$D2FS EQU 11 DISP TO FILE SIZE @$D2LC EQU 13 DISP TO SPACE LEFT IN RCD CNTR @$D2EE EQU 15 RIGHT-MOST END OF ENTRY * *** LENGTH EQUATES - DIRECTORY 1 * @$L1E EQU 32 ENTRY @$L1DC EQU 1 DEVICE CODE @$L1BF EQU 8 BASIC RILENAME @$L1FS EQU 2 SCRATCH FILE SIZE @$L1DF EQU 8 DISK FILENAME @$L1DP EQU 8 DISK PASSWORD @$L1DV EQU 6 DISK VOLUME-ID * *** LENGTH EQUATES - DIRECTORY 2 * @$L2HD EQU 64 HEADER 1-3 @$L2CF EQU 2 CURRENT FILE DISPLACEMENT @$L2AS EQU 1 ACTIVE SCRATCH FILE INDR @$L2SF EQU 2 LNG OF LIB ADDR FIELD IN D2 1-3 @$L2PN EQU 8 LENGTH OF PROGRAM NAME @$L2E EQU 16 ENTRY @$L2DC EQU 1 DEVICE CODE @$L2IO EQU 1 IO USAGE STATUS @$L2VB EQU 1 VM BUFFER BASE PAGE @$L2BS EQU 1 VM BUFFER SIZE @$L2CP EQU 2 CURRENT POINTER @$L2CS EQU 1 CURRENT PAGE @$L2CB EQU 1 CURRENT BYTE @$L2DA EQU 2 DISK ADDRESS @$L2DD EQU 2 LENGTN OF CURR DADDR DISP @$L2FS EQU 2 FILE SIZE OF DATA @$L2LC EQU 2 SDF COUNT * *** MASK EQUATES * @$MBEN EQU 12 MAX NO. OF ENTRIES IN D1/D2 @$M2NS EQU X'FF' NO SPACE FOR SCRATCH FILE MASK @$M2EF EQU X'02' END OF FILE INDICATOR @$MBPU EQU X'01' 'PUT' STMT INDR WITHIN I$PARM * *** MASKS FOR THE DEVICE CODE IN BOTH D1 AND D2 * @$MBND EQU X'00' NULL DEVICE CODE @$MBPD EQU X'80' PERMANENT DISK FILE @$MBSD EQU X'40' SCRATCH DISK FILE @$MBCD EQU X'20' CARD FILE @$MBPT EQU X'10' PRINTER FILE @$MBCR EQU X'08' CRT FILE * *** MASKS FOR FILE I/O USAGE * @$M2FI EQU X'80' INPUT @$M2FO EQU X'40' OUTPUT @$M2FP EQU X'20' PRECISION * '0' = SHORT * '1' = LONG @$M2FT EQU X'10' FILE TYPE * '0' = KEYBOARD GENERATED * '1' = PROGRAM GENERATED * * MASKS FOR CURRENT I/O USAGE * @$M2CI EQU X'08' INPUT @$M2CO EQU X'04' OUTPUT * END OF VIRTUAL MEMORY DIRECTORY EQUATES .* END OF MACRO; RESTORE PRINT ON. .MEND ANOP PRINT ON MEND // CEND // END * // READER CONSOLE