DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59

TABLE OF CONTENTS



    23-   36	PARAMETERS

    24-   59	VOLUME SUMMARY BLOCK FORMAT

    25-   93	FILE ATTRIBUTE BLOCK FORMAT

    26-  137	IMPURE DATA

    30-  512	CALL DISPATCH TABLE

    31-  602	OTHER PURE DATA

    31-  611	TRAP VECTOR

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 3





      1	000000					$BEGIN	DSCDAT,0042,<DATA BASE FOR DSC UTILITY>

						.TITLE	DSCDAT	X0042 - DATA BASE FOR DSC UTILITY

						.IDENT	"X0042"

      2

      3					; ALTERED:

      4					; GEORGE RITTENBURG    20-SEP-76  14:15

      5					;

      6					;

      7					; GEORGE RITTENBURG 4-OCT-77 /BL SWITCH ADDED

      8					;

      9					; COPYRIGHT (C) 1976 BY DIGITAL EQUIPMENT CORPORATION,

     10					; MAYNARD, MASSACHUSETTS

     11					;

     12					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A

     13					; SINGLE  COMPUTER  SYSTEM AND MAY BE COPIED ONLY WITH THE IN-

     14					; CLUSION OF THE ABOVE COPYRIGHT NOTICE.   THIS  SOFTWARE,  OR

     15					; ANY  OTHER  COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE

     16					; MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR  USE  ON  SUCH

     17					; SYSTEM  AND TO ONE WHO AGREES TO THESE LICENSE TERMS.  TITLE

     18					; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL  TIMES  REMAIN

     19					; IN DIGITAL.

     20					;

     21					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITH-

     22					; OUT  NOTICE  AND  SHOULD NOT BE CONSTRUED AS A COMMITMENT BY

     23					; DIGITAL EQUIPMENT CORPORATION.

     24					;

     25					; DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY  FOR

     26					; THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS

     27					; NOT SUPPLIED BY DIGITAL.

     28					;

     29					; ANDREW C. GOLDSTEIN  3-AUG-78  16:33

     30					; GEORGE RITTENBURG   5-APR-77	MODIFIED FOR CMP/VFY DISK TO/FROM TAPE

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 4





     32					;

     33					; RANDOM PARAMETERS

     34					;

     35		000004 			BLKF   ==	4		; TAPE BLOCKING FACTOR

     36						.SBTTL	PARAMETERS

     37

     38					;

     39					; LUN USAGE

     40					;

     41		000001 			TTYLUN ==	1		; CONSOLE I/O

     42		000002 			INLUN  ==	2		; INPUT LUN

     43		000003 			OUTLUN ==	3		; OUTPUT LUN

     44					;

     45					; EVENT  FLAGS

     46					;

     47		000002 			EFN    ==	2		; EVENT FLAG FOR DATA I/O

     48		000001 			TTEFN	==	1		; EVENT FLAG FOR TTY I/O

     49					;

     50					; $ESTAT IS SIGNIFICANT ONLY FOR ON-LINE DSC

     51					; $ESTAT IS THE STATUS WORD FOR EXIT WITH STATUS (SEE GTCML)

     52					;  -1 INDICATES NO ERRORS

     53					;  0 INDICATES AT LEAST 1 WARNING MESSAGE

     54					;  2  INDICATES AT LEAST 1 FATAL ERROR MESSAGE

     55					;  ONLY THE WORST CONDITION IS REPORTED AT EXIT TIME

     56	000000	177777 			$ESTAT::.WORD	 -1			; THIS LOC.WILL BE SET TO THE WORST CURRENT COND.

     57	000002				GCLFLG:: .BLKW   1		; MCR LINE FLAG

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 5

VOLUME SUMMARY BLOCK FORMAT



     59						.SBTTL	VOLUME SUMMARY BLOCK FORMAT

     60

     61					;

     62					; THE FOLLOWING IS THE FORMAT OF THE VOLUME SUMMARY BLOCK. ONE SUCH

     63					; BLOCK IS PRESENT AT THE FRONT OF A DSC FILE FOR EACH VOLUME IN THE

     64					; VOLUME SET BEING BACKED UP. THE BLOCK IS 512 BYTES IN LENGTH AND

     65					; HAS A SIMPLE ADDITIVE CHECKSUM IN THE LAST WORD. APPENDED TO THE

     66					; SUMMARY BLOCK IS THE VOLUME'S INDEX FILE HEADER.

     67					;

     68

     69	000000					.ASECT

     70		000000 			.=0

     71

     72	000000				S.NAME::.BLKB	12.		; TAPE FILE NAME

     73	000014				S.DVNM::.BLKB	12.		; SOURCE DEVICE NAME

     74	000030				S.SNAM::.BLKB	12.		; SOURCE STRUCTURE NAME

     75	000044				S.VNAM::.BLKB	12.		; SOURCE VOLUME LABEL

     76	000060				S.RVN::	.BLKW	1		; RELATIVE VOLUME NUMBER OF THIS UNIT

     77	000062				S.NVOL::.BLKW	1		; NUMBER OF VOLUMES IN SET

     78	000064				S.CLF::	.BLKW	1		; VOLUME CLUSTER FACTOR

     79	000066				S.VSIZ::.BLKW	2		; SOURCE DEVICE SIZE IN BLOCKS

     80	000072				S.USE::	.BLKW	2		; NUMBER OF BLOCKS IN USE

     81	000076				S.NFIL::.BLKW	2		; NUMBER OF FILES ON VOLUME

     82	000102				S.HFNU::.BLKW	2		; HIGHEST FILE NUMBER ON VOLUME

     83	000106				S.IFSZ::.BLKW	2		; SIZE OF INDEX FILE

     84	000112				S.IBSZ::.BLKW	1		; SIZE OF INDEX FILE BITMAP

     85	000114				S.IBLB::.BLKW	2		; STARTING LBN OF INDEX FILE BITMAP

     86	000120				S.BLKF::.BLKW	1		; DATA BLOCKING FACTOR

     87	000122				S.MRG::	.BLKW	1		; MERGE MODE FLAG

     88	000124					.BLKB	510.-.		; UNUSED

     89	000776				S.CKSM::.BLKW	1		; BLOCK CHECKSUM

     90	001000					.BLKB	512.		; INDEX FILE HEADER

     91	002000				S.SIZ::				; SIZE OF SUMMARY BLOCK

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 6

FILE ATTRIBUTE BLOCK FORMAT



     93						.SBTTL	FILE ATTRIBUTE BLOCK FORMAT

     94

     95					;

     96					; THE FOLLOWING IS THE FORMAT OF THE FILE ATTRIBUTE BLOCK. ONE SUCH

     97					; BLOCK IS PRESENT IN THE TAPE FILE FOR EACH DISK FILE. IT CONTAINS

     98					; A SUMMARY OF THE CHARACTERISTICS OF THE FILE AND IS PRESENT FOR

     99					; USE BY THE INCREMENTAL RESTORE UTILITY.

    100					;

    101					; WARNING! ALTHOUGH THE ATTRIBUTE FORMAT IS DEFINED WITH PARAMETERS

    102					; HERE, THE CODE THAT ACTUALLY BUILDS THE ATTRIBUTE BLOCK ASSUMES

    103					; THIS FORMAT AND USES AUTO-INCREMENTS.

    104					;

    105

    106	002000					.ASECT

    107		000000 			.=0

    108

    109	000000				A$ID1::	.BLKB	6		; .ASCII "BACKUP"

    110	000006				A$VER::	.BLKW	1		; .WORD 1 - VERSION NUMBER

    111	000010				A$FLN::	.BLKW	1		; BYTE COUNT OF FILE NAME

    112	000012				A$FNM::	.BLKB	80.		; FULL FILE NAME

    113	000132				A$ALQ::	.BLKW	2		; FILE SIZE IN VIRTUAL BLOCKS

    114	000136				A$ORG::	.BLKB	1		; FILE ORGANIZATION

    115	000137				A$RAT::	.BLKB	1		; RECORD ATTRIBUTES

    116	000140				A$RFM::	.BLKB	1		; RECORD FORMAT

    117	000141				A$FSZ::	.BLKB	1		; RECORD CONTROL AREA SIZE

    118	000142				A$BKS::	.BLKB	1		; BUCKET SIZE IN VIRTUAL BLOCKS

    119	000143				A$FLG::	.BLKB	1		; MULTI-SECTION FLAG

    120	000144				A$MRN::	.BLKW	2		; MAXIMUM RECORD NUMBER

    121	000150				A$MRS::	.BLKW	1		; MAXIMUM RECORD SIZE

    122	000152				A$FOP::	.BLKW	1		; CONTIGUOUS INDICATOR

    123	000154				A$CDT::	.BLKB	8.		; CREATION DATE

    124	000164				A$RDT::	.BLKB	8.		; REVISION DATE

    125	000174				A$EDT::	.BLKB	8.		; EXPIRATION DATE

    126	000204				A$BDT::	.BLKB	8.		; DATE/TIME OF LAST BACKUP.

    127	000214				A$PRG::	.BLKW	1		; OWNER PROGRAMMER #

    128	000216				A$PRJ::	.BLKW	1		; OWNER PROJECT

    129	000220				A$SYS::	.BLKB	1		; SYSTEM PROTECTION

    130	000221				A$OWN::	.BLKB	1		; OWNER PROTECTION

    131	000222				A$GRP::	.BLKB	1		; GROUP PROTECTION

    132	000223				A$WLD::	.BLKB	1		; WORLD PROTECTION

    133	000224					.BLKB	2040.-.		; UNUSED

    134	003770				A$ID2::	.BLKB	6		; .ASCII "PUKCAB"

    135	003776				A$CD::	.BLKW	1		; CHECKSUM

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 7

IMPURE DATA



    137						.SBTTL	IMPURE DATA

    138

    139					;

    140					; THE ENTIRE IMPURE AREA IS ZEROED BY THE MAIN PROGRAM BEFORE

    141					; EACH COMMAND. THIS STARTS HERE.

    142					;

    143

    144	000004					.PSECT

    145

    146	000004				$ZERO::

    147

    148					;

    149					; INPUT AND OUTPUT VOLUME TABLES. EACH TABLE ENTRY REPRESENTS

    150					; THE ASSIGNMENT AND STATE OF AN ACTIVE INPUT OR OUTPUT DEVICE.

    151					; EACH ENTRY IS OF THE FOLLOWING FORMAT:

    152					;

    153	004000					.ASECT

    154		000000 			.=0

    155

    156	000000				V.DVNM::.BLKB	2		; DEVICE NAME (ASCII)

    157	000002				V.DVUN::.BLKW	1		; UNIT NUMBER (BINARY)

    158	000004				V.RVN::	.BLKW	1		; RELATIVE VOLUME NUMBER

    159	000006				V.HFNU::.BLKW	2		; HIGHEST FILE NUMBER USED

    160	000012				V.FRBK::.BLKW	2		; NUMBER OF FREE BLOCKS

    161	000016				V.FLBN::.BLKW	1		; FIRST FREE BLOCK

    162	000020				V.IBSZ::.BLKW	1		; INDEX FILE BITMAP SIZE

    163	000022				V.IBLB::.BLKW	2		; INDEX FILE BIMAP LBN

    164	000026				V.SBSZ::.BLKW	1		; STORAGE MAP SIZE

    165	000030				V.SBLB::.BLKW	2		; STORAGE MAP LBN

    166	000034				V.CLF::	.BLKW	1		; CLUSTER FACTOR

    167	000036				V.SIZ::				;SIZE OF TABLE ENTRY

    168

    169	000004					.PSECT

    170					;

    171					; NUMBER OF UNITS SUPPORTED.

    172					;

    173					.IF DF,R$$11S

    174					V.LENG == 2                     ; STAND ALONE LIMIT IS 2

    175					.IFF

    176		000010 			V.LENG == 8.			; ON LINE LIMIT IS 8 UNITS.

    177					.ENDC

    178					;

    179					; INPUT DEVICE TABLE

    180					;

    181	000004				$IVNUM::.BLKW	1		; NUMBER OF UNITS IN USE

    182	000006				$ILAB::	.BLKB	12.		; SPACE FOR FILE LABEL

    183	000022				$INDEV::.BLKW	1		; POINTER TO CURRENT INPUT DEVICE

    184	000024				$IVTAB::.BLKB  	V.SIZ*V.LENG	; SPACE FOR V.LENG UNITS

    185					;

    186					; OUTPUT DEVICE TABLE

    187					;

    188	000404				$OVNUM::.BLKW	1		; NUMBER OF UNITS IN USE

    189	000406				$OLAB::	.BLKB	12.		; SPACE FOR FILE LABEL

    190	000422				$OUDEV::.BLKW	1		; POINTER TO CURRENT OUTPUT DEVICE

    191	000424				$OVTAB::.BLKB	V.SIZ*V.LENG	; SPACE FOR V.LENG UNITS

    192					;

    193					; PARSER OUTPUT AREA. THE PARSER FILLS IN THE ABOVE DEVICE TABLES AND

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 7-1

IMPURE DATA



    194					; RETURNS ASSORTED ITEMS IN THE FOLLOWING AREA.

    195					;

    196	001004				$IFLAG::.BLKW	1		; INPUT FILE FLAGS

    197	001006				$OFLAG::.BLKW	1		; OUTPUT FILE FLAGS, CONTAINING:

    198		000001 				KY.RWD == 1		; REWIND BEFORE USE

    199		000002 				KY.APD == 2		; APPEND TO TAPE

    200		000010 				KY.160 == 10		; 1600 BPI FILE DENSITY

    201		000040 				KY.16B == 40		; 1600 BPI BOOT DENSITY

    202		000100 				KY.DSK == 100		; DISK DEVICE

    203		000200 				KY.TAP == 200		; TAPE DEVICE

    204		000400 				KY.MRG == 400		; MERGE MODE

    205		001000 				KY.EOT == 1000		; END OF TAPE SEEN ON OUTPUT TAPE

    206		002000 				KY.LOS == 2000		; TAPE SYNCHRONIZATION LOST

    207		004000 				KY.NBO == 4000		; DISK VOLUME IS NOT BOOTABLE

    208		010000 				KY.MAN == 10000		; MANUAL BAD BLOCK PROCESSING

    209		020000 				KY.NAU == 20000		; NO AUTO BAD BLOCKS

    210		040000 				KY.VER == 40000		; VERIFY AFTER COPY

    211		100000 				KY.CMP == 100000	; COMPARE ONLY

    212

    213									; FLAGS LEGAL FOR INPUT TAPES

    214		000251 				KY.ITP == KY.RWD!KY.TAP!KY.160!KY.16B

    215									; FLAGS LEGAL FOR OUTPUT TAPES

    216		140653 				KY.OTP == KY.APD!KY.MRG!KY.RWD!KY.TAP!KY.160!KY.16B!KY.VER!KY.CMP

    217									; FLAGS LEGAL FOR INPUT DISKS

    218		000100 				KY.IDK == KY.DSK

    219									; FLAGS LEGAL FOR OUTPUT DISKS

    220		170500 				KY.ODK == KY.DSK!KY.MRG!KY.MAN!KY.NAU!KY.VER!KY.CMP

    221

    222

    223	001010				$FLAG1::.BLKW	1		; MISCELLANEOUS FLAGS, CONTAINING:

    224		000001 				KY.NCP == 1		; NON-COPY OPERATION

    225		000002 				KY.NIP == 2		; OUTPUT USING INPUT ROUTINES

    226		000004 				KY.BSP == 4		; BACKSPACE FOR VERIFY

    227		000010 				KY.VFY == 8.		; VERIFY PASS

    228		000020 				KY.EOF == 16.		; END OF INPUT DETECTED

    229					;

    230					; RANDOM VARIABLES.

    231					;

    232	001012				$SBMEF::.BLKW	2		; STORAGE BIT MAP END OF FILE VBN.

    233	001016				$CYL::	.BLKW	1		; # OF CYLINDERS ON VOLUME.

    234	001020				$TRAK::	.BLKW	1		; # OF TRACKS PER CYLINDER.

    235	001022				$SECT::	.BLKW	1		; # OF SECTORS PER TRACK.

    236	001024				$HBDLT::.BLKW	2		; DELTA OFFSET FOR HOME BLOCK SEARCH/PLACEMENT.

    237	001030				$STAK::	.BLKW	1		; INITIAL STACK POINTER

    238	001032				$IWAIT::.BLKW	1		; HEADER FOR INPUT WAIT LIST

    239	001034				$OWAIT::.BLKW	1		; HEADER FOR OUTPUT WAIT LIST

    240	001036				$NVOL::	.BLKW	1		; NUMBER OF VOLUMES IN SET

    241	001040				$FID::  .BLKW   2		; FILE ID CURR. FILE

    242	001044				$RVN::  .BLKW   1		;REL. VOL. NO. CURR. FILE

    243	001046				$TFID:: .BLKW   3		; SAVED FID

    244	001054				$VBN::	.BLKW	2		; CURRENT VBN OF FILE

    245	001060				$WVBN::	.BLKW	2		; VBN FOR FILE WRITER

    246	001064				$TVBN::	.BLKW	2		; VBN OF EXPECTED TAPE BLOCK

    247	001070				$TESQN::.BLKW	1		; TAPE FILE SEGMENT NUMBER

    248	001072				$LBN::	.BLKW	2		; CURRENT LBN

    249	001076				$BLCNT::.BLKW	1		; TAPE BLOCK COUNT

    250	001100				$RELNI::.BLKW	1		; CURRENT INPUT TAPE REEL NUMBER .

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 7-2

IMPURE DATA



    251	001102				$RELNO::.BLKW	1		; CURRENT OUTPUT TAPE REEL NUMBER .

    252	001104				$FNU::	.BLKW	1		; CURRENT FILE NUMBER BEING READ

    253	001106				$FISIZ::.BLKW	2		; SIZE OF CURRENT FILE

    254	001112				$TFSIZ::.BLKW   2		; SAVED FISIZ

    255	001116				$BOLBN::.BLKW	2		; LBN OF BOOT FILE OF DISK

    256	001122				$BOVBN::.BLKW	2		; VBN IN BOOT FILE OF BOOTABLE IMAGE

    257	001126				$HOMLB::.BLKW	2		; LBN OF INPUT VOLUME HOME BLOCK

    258	001132				$HM2LB::.BLKW	2		; LBN OF OUTPUT VOLUME 2ND HOME BLOCK

    259	001136				$IHVBN::.BLKW	2		; SIZE OF CURRENT HEADER'S WORTH

    260	001142				$ALSIZ::.BLKW	2		; AMOUNT OF SPACE BEING ALLOCATED

    261	001146				$CURAL::.BLKW	4		; RESIDUAL ALLOCATION FROM LAST HEADER

    262	001156				$EXFLG::.BLKW	1		; FLAG TO INDICATE EXTENSION HEADER

    263	001160				$SWFLG::.BLKW	1		; FLAG TO INDICATE HEADER BUFFER SWAP

    264	001162				$UCBAD::.BLKW  1		; CURRENT UCB ADDRESS FOR HDW. SWITCHES

    265

    266	001164				$THVBN::.BLKW	2		; SAVED IHVBN.

    267	001170				$OHVBN:: .BLKW 2		; SIZE OF CURRENT OUTPUT HDR'S WORTH

    268	001174				$HOLD::  .BLKW 9.		; TEMP STORAGE FOR PMTRS FOR VERIFY

    269									;$VBN-2WORDS

    270									;$FID-3 WORDS

    271									;$IHVBN- 2 WORDS

    272									;$FISIZ -2 WORDS

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 8

IMPURE DATA



    274					;

    275					; BUFFER FOR GET LUN INFO DIRECTIVE.

    276					;

    277	001216				$LUNBF::

    278	001216				$DVNM::	.BLKW	1		; DEVICE NAME

    279	001220				$DVUN::	.BLKW	1		; UNIT NUMBER

    280	001222				$CW1::	.BLKW	1		; CHARACTERISTICS WORDS

    281	001224				$CW2::	.BLKW	1

    282	001226				$CW3::	.BLKW	1

    283	001230				$CW4::	.BLKW	1

    284					;

    285					; I/O BUFFERS. EACH BUFFER IS PREFIXED WITH A BUFFER CONTROL BLOCK.

    286					; THE FIRST 8 WORDS OF EACH DATA BUFFER ARE THE MAGTAPE RECORD

    287					; PREAMBLE. THE BUFFER COTROL BLOCK CONTAINS THE FOLLOWING:

    288					;

    289	000036					.ASECT

    290		000000 			.=0

    291

    292	000000				B.IOST::.BLKW	2		; I/O STATUS BLOCK

    293	000004				B.LINK::.BLKW	1		; LINK TO NEXT ACTIVE CONTROL BLOCK

    294	000006				B.STAT::.BLKW	1		; STATUS WORD

    295	000010				B.SIZ::	; SIZE OF STATUS BLOCK,SAME AS ST.SIZ IN DSCBUF

    296					;

    297					; THE BLOCK PREAMBLE CONTAINS THE FOLLOWING:

    298					;

    299	000010					.ASECT

    300		000000 			.=0

    301

    302	000000				P.CNT::	.BLKW	1		; BYTE COUNT OF DATA

    303	000002				P.FLAG::.BLKW	1		; FLAGS WORD

    304	000004				P.VBN::	.BLKW	2		; STARTING VBN OF BLOCK

    305	000010				P.FID::	.BLKW	3		; FILE ID OF THIS BLOCK

    306	000016					.BLKW	1		; SPARE

    307	000020				P.SIZ::				; SIZE OF PREAMBLE,SAME AS PR.SIZ IN DSCBUF

    308					;

    309					; BITS DEFINED IN THE PREAMBLE FLAGS WORD

    310					;

    311		000001 			PF.DAT == 1			; DATA BLOCK

    312		000002 			PF.ATR == 2			; ATTRIBUTE BLOCK

    313		000004 			PF.HDR == 4			; FILE HEADER

    314		000010 			PF.RWR == 10			; REWRITE DATA

    315		000020 			PF.SUS == 20			; SUSPECT DATA

    316		000040 			PF.SUM == 40			; VOLUME SUMMARY DATA

    317		100000 			PF.ERR == 100000		; ERROR IN THIS BLOCK

    318

    319	001232					.PSECT

    320					;

    321					; ***** CODE IN READ AND WRITE DATA FUNCTIONS MAKES USE OF THE ORDER

    322					; ***** OF THE FOLLOWING AREAS. DO NOT SHUFFLE!

    323					;

    324					; SPARE BUFFER CONTROL BLOCKS FOR SCATTERED READS AND WRITES

    325					;

    326	001232				$B1HD1::.BLKB	B.SIZ

    327	001242				$B1HD2::.BLKB	B.SIZ

    328	001252				$B1HD3::.BLKB	B.SIZ

    329					;

    330					; DATA BUFFERS, ALL ACTUAL DATA I/O (AND ALL TAPE I/O) PASS THROUGH

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 8-1

IMPURE DATA



    331					; HERE.

    332					;

    333	001262				$B1HD:: .BLKB	B.SIZ	; BUFFER CONTROL BLOCK

    334	001272				$BUF1::	.BLKB	P.SIZ		;BLOCK PREAMBLE

    335	001312				$B1DAT::.BLKB	2048.		; DATA AREA

    336					;

    337					; SPARE BUFFER CONTROL BLOCKS FOR SCATTERED READS AND WRITES

    338					;

    339	005312				$B2HD1::.BLKB	B.SIZ

    340	005322				$B2HD2::.BLKB	B.SIZ

    341	005332				$B2HD3::.BLKB	B.SIZ

    342					;

    343					; SECOND I/O BUFFER

    344					;

    345	005342				$B2HD:: .BLKB	B.SIZ		;BUFFER CONTROL BLOCK

    346	005352				$BUF2:: .BLKB	P.SIZ		; BLOCK PREAMBLE

    347	005372				$B2DAT::.BLKB	2048.		; DATA AREA

    348					;

    349					; ***** CODE IN READ AND WRITE DATA FUNCTIONS MAKES USE OF THE ORDER

    350					; ***** OF THE PRECEDING AREAS. DO NOT SHUFFLE!!

    351					;

    352					; FILE HEADER BUFFERS. THESE HOLD THE HEADER OF THE DISK FILE BEING

    353					; READ OR WRITTEN AND ARE USED TO MAP THE FILE VBN'S.

    354					;

    355	011372				$IHHD::	.BLKB	B.SIZ		; CONTROL BLOCK

    356	011402				$IHBF::	.BLKB	512.		; INPUT FILE HEADER BLOCK

    357

    358		001000 			H.VBN	== .-$IHBF

    359	012402					.BLKW	2		; STARTING VBN OF THIS HEADER

    360

    361	012406				$OHHD::	.BLKB	B.SIZ		; CONTROL BLOCK

    362	012416				$OHBF::	.BLKB	512.		; OUTPUT FILE HEADER BLOCK

    363	013416					.BLKW	2		; STARTING VBN

    364

    365					;

    366					; INDEX FILE HEADER BUFFERS. THESE HOLD THE HEADER OF THE INDEX FILE

    367					; OF THE DISK BEING READ OR WRITTEN.

    368					;

    369	013422				$IXHD::	.BLKB	B.SIZ		; CONTROL BLOCK

    370	013432				$IXBF::	.BLKB	512.		; INPUT INDEX FILE HEADER

    371

    372	014432				$OXHD::	.BLKB	B.SIZ		; CONTROL BLOCK

    373	014442				$OXBF::	.BLKB	512.		; OUTPUT INDEX FILE HEADER

    374

    375					;;	;

    376					;;	; STORAGE BITMAP BUFFER. USED TO ALLOCATE SPACE ON THE OUTPUT DISK.

    377					;;	;

    378					;;	$OBHD::	.BLKB	B.SIZ		; CONTROL BLOCK

    379					;;	$OBBF::	.BLKB	512.		; BITMAP BUFFER

    380					;;

    381					;;	;

    382					;;	; INDEX FILE BITMAP BUFFER. USED TO FIND ACTIVE FILES ON THE INPUT

    383					;;	; DEVICE.

    384					;;	;

    385					;;	$IXBHD::.BLKB	B.SIZ		; CONTROL BLOCK

    386					;;	$IXBBF::.BLKB	512.		; INDEX FILE BITMAP BUFFER

    387

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 8-2

IMPURE DATA



    388		015442'			$$$TMP=.

    389					;

    390					; TAPE LABEL BUFFERS. THESE ARE USED FOR LABEL PROCESSING ON INPUT

    391					; AND OUTPUT TAPES. THEY OVERLAP THE INDEX FILE HEADER BUFFERS.

    392					;

    393					; INPUT TAPE

    394					;

    395		013422'			.=$IXHD

    396

    397	013422				$IVHD::	.BLKB	B.SIZ		; CONTROL BLOCK

    398	013432				$IVBF::	.BLKB	80.		; VOLUME HEADER LABEL

    399

    400	013552				$IF1HD::.BLKB	B.SIZ		; CONTROL BLOCK

    401	013562				$IF1BF::.BLKB	80.		; FILE HEADER LABEL #1

    402

    403	013702				$IF2HD::.BLKB	B.SIZ		; CONTROL BLOCK

    404	013712				$IF2BF::.BLKB	80.		; FILE HEADER LABEL #2

    405					;

    406					;

    407					; ADDITIONAL CONTROL BLOCKS FOR TAPE MARK I/O

    408					;

    409	014032				$IF3HD::.BLKB	B.SIZ

    410	014042				$IF4HD::.BLKB	B.SIZ

    411	014052				$IF5HD::.BLKB	B.SIZ

    412	014062				$IF6HD::.BLKB	B.SIZ

    413					;

    414					; OUTPUT TAPE

    415					;

    416		014432'			.=$OXHD

    417

    418	014432				$OVHD::	.BLKB	B.SIZ		; CONTROL BLOCK

    419	014442				$OVBF::	.BLKB	80.		; VOLUME HEADER LABEL

    420

    421	014562				$OF1HD::.BLKB	B.SIZ		; CONTROL BLOCK

    422	014572				$OF1BF::.BLKB	80.		; FILE HEADER LABEL #1

    423

    424	014712				$OF2HD::.BLKB	B.SIZ		; CONTROL BLOCK

    425	014722				$OF2BF::.BLKB	80.		; FILE HEADER LABEL #2

    426					;

    427					; ADDITIONAL CONTROL BLOCKS FOR TAPE MARK I/O

    428					;

    429	015042				$OF3HD::.BLKB	B.SIZ

    430	015052				$OF4HD::.BLKB	B.SIZ

    431	015062				$OF5HD::.BLKB	B.SIZ

    432	015072				$OF6HD::.BLKB	B.SIZ

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 9

IMPURE DATA



    434					;

    435					; DATA AREA FOR STORAGE MAP ALLOCATOR

    436					; THIS OVERLAYS $BUF1 (INTO WHICH THE FILE ATTRIBUTE BLOCK WAS

    437					; READ AND IS NO LONGER NEEDED).

    438					;

    439		001272'			.=$BUF1

    440					;

    441					; I/O BUFFER FOR STORAGE MAP

    442					;

    443	001272				.SMBUF::.BLKB	512.

    444	002272				.SMVBN::.BLKW	1	; VBN OF STORAGE MAP IN BUFFER

    445	002274				.SMFLG::.BLKW	1	; BUFFER DIRTY FLAG

    446					;

    447					; ***DO NOT ALTER THE ORDER OF THE FOLLOWING LINES

    448					;

    449	002276				.SVLBN::.BLKW	2	; SAVED LOGICAL BLOCK NUMBER

    450	002302				.SM1BT::.BLKW	2	; NUMBER OF BITS DESIRED/FOUND,BLOCKS RETURNED

    451	002306				.SM1MK::.BLKW	1	; SAVED MASK WORD FOR START OF SEARCH

    452	002310				.SM1AD::.BLKW	1	; SAVED BIT WORD ADDRESS FOR START OF SEARCH

    453	002312				.SM1VB::.BLKW	1	; SAVED VBN FOR START OF SEARCH

    454	002314				.SM2VB::.BLKW	1	; SAVED VBN FOR LARGEST CHUNK FOUND

    455	002316				.SM2AD::.BLKW	1	; SAVED BIT WORD ADDRESS FOR LARGEST CHUNK FOUND

    456	002320				.SM2MK::.BLKW	1	; SAVED MASK WORD FOR LARGEST CHUNK FOUND

    457	002322				.SM2BT::.BLKW	2	; NO. OF BITS IN LARGEST CHUNK

    458					;

    459					; ***DO NOT ALTER THE ORDER OF THE PRECEDING LINES

    460					;

    461	002326				.SMEXT::.BLKB	1	; HIGH ORDER EXTEND SIZE

    462	002327				.SMCTL::.BLKB	1	; EXTEND CONTROL BYTE

    463	002330					.BLKW	1	; LOW ORDER EXTEND SIZE

    464	002332				.SMCNT::.BLKW	1	; NO. OF BLOCKS OF STORAGE MAP NOT YET SCANNED

    465	002334				.USEPT::.BLKW	1	; POINTER TO M.USE IN MAP AREA OF FILE HEADER

    466	002336				.FREPT::.BLKW	1	; POINTER TO NEXT FREE RETRIEVAL POINTER

    467

    468		000001 				EX.AC1 == 1	; EXTEND CONTIGUOUS FLAG

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 10

IMPURE DATA



    470					;

    471					; ALLOCATION TABLE. THIS TABLE IS USED TO REPRESENT SPACE ALLOCATED

    472					; ON THE VOLUME BY THE INITIALIZATION CODE.

    473					; EACH ENTRY CONSISTS OF FOUR WORDS - A 32 BIT BLOCK

    474					; COUNT, FOLLOWED BY A 32 BIT LBN. A ZERO COUNT INDICATES THAT NO

    475					; SPACE IS IN USE. THE FIRST SEVERAL LOCATIONS ARE USED FOR SPECIFIC

    476					; ARTIFACTS OF THE FILE STRUCTURE AND ARE TAGGED APPROPRIATELY.

    477					;

    478					; ***** THE FOLLOWING LOCATIONS ARE ORDERED. DO NOT SHUFFLE!

    479					;

    480

    481	002340				$BOOTB::.BLKW	4		; BOOT BLOCK CLUSTER

    482	002350				$HOME1::.BLKW	4		; HOME BLOCK 1 CLUSTER

    483	002360				$HOME2::.BLKW	4		; HOME BLOCK 2 CLUSTER

    484	002370				$IXHD2::.BLKW	4		; BACKUP INDEX FILE HEADER CLUSTER.

    485	002400				$INDXF::.BLKW	4		; INITIAL INDEX FILE

    486

    487	002410				$SBM::	.BLKW	4		; STORAGE BITMAP FILE

    488

    489	002420				$BADBK::.BLKW	500.		; SPACE FOR 125 BAD AREAS

    490	004370				$BADND::			; END OF TABLE

    491

    492	004370				$VOLND::.BLKW	4		; DUMMY ENTRY TO ROUND UP END OF VOLUME

    493

    494	004400				$BADP::	.BLKW	1		; POINTER TO NEXT FREE ENTRY IN BAD LIST

    495

    496					;

    497					; ***** THE PRECEDING LOCATIONS ARE ORDERED. DO NOT SHUFFLE!

    498					;

    499

    500		005456'			$CLF	== $B2DAT+S.CLF		; CLUSTER FACTOR IN SUMMARY BUFFER

    501

    502	004402				$VOLSZ::.BLKW	2		; VOLUME SIZE ADJUSTED BY CLUSTER FACTOR

    503

    504		015442'			.=$$$TMP

    505

    506					;

    507					; END OF AREA TO ZERO AT INIT TIME.

    508					;

    509

    510	015442				$ENDZ::

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 11

CALL DISPATCH TABLE



    512						.SBTTL	CALL DISPATCH TABLE

    513

    514					;

    515					; THIS TABLE DISPATCHES THE DEVICE INDEPENDENT CALLS TO THE DEVICE

    516					; DEPENDENT ROUTINES THAT PROCESS THE FUNCTIONS. IT IS SET UP

    517					; ACCORDING TO THE NATURE OF THE INPUT AND OUTPUT DEVICES.

    518					;

    519

    520	015442				$INTAB::			; INPUT DEVICE FUNCTIONS

    521	015442	000000 			$INITI::.WORD	0		; INITIALIZE INPUT DEVICE

    522	015444	000000 			$RDSUM::.WORD	0		; READ VOLUME SUMMARY

    523	015446	000000 			$RDIXF::.WORD	0		; READ INDEX FILE DATA

    524	015450	000000 			$FIND::	.WORD	0		; FIND NEXT INPUT FILE

    525	015452	000000 			$RDEXH::.WORD	0		; READ FILE EXTENSION HEADER

    526	015454	000000 			$RDDAT::.WORD	0		; READ FILE DATA

    527	015456	000000 			$WATCK::.WORD	0		; WAIT FOR DATA INPUT

    528	015460	000000 			$FINI::	.WORD	0		; FINISH INPUT

    529		000010 			$INTBL == <.-$INTAB>/2		; NUMBER OF ENTRIES IN TABLE

    530

    531	015462				$OUTAB::			; OUTPUT DEVICE FUNCTIONS

    532	015462	000000 			$INITO::.WORD	0		; INITIALIZE OUTPUT DEVICE

    533	015464	000000 			$WTSUM::.WORD	0		; WRITE VOLUME SUMMARY

    534	015466	000000 			$WTIXF::.WORD	0		; WRITE INDEX FILE DATA

    535	015470	000000 			$ALLOC::.WORD	0		; ALLOCATE FILE

    536	015472	000000 			$WTEXH::.WORD	0		; WRITE FILE HEADER

    537	015474	000000 			$WTDAT::.WORD	0		; WRITE FILE DATA

    538	015476	000000 			$FINO::	.WORD	0		; FINISH OUTPUT

    539	015500	000000 			$FINDO::.WORD	0	; READ OUTPUT HEADER FOR VFY

    540	015502	000000 			$RDATO::     .WORD	0	; READ OUTPUT DATA BLOCK

    541	015504	000000 			$WATO::    .WORD	0	;WAIT OUTPUT DATA READ

    542		000012 			$OUTBL == <.-$OUTAB>/2		; NUMBER OF ENTRIES IN TABLE

    543

    544					;

    545					; POINTERS TO DISK FUNCTION ROUTINES

    546					;

    547

    548	015506				$INDSK::			; INPUT DEVICE FUNCTIONS FOR DISK

    549	015506	015616'				.WORD	$NOOP		; INITIALIZE INPUT DEVICE

    550	015510	000000G				.WORD	$DRDSU		; READ VOLUME SUMMARY, DISK

    551	015512	000000G				.WORD	$DRDID		; READ INDEX FILE DATA, DISK

    552	015514	000000G				.WORD	$DFIND		; FIND NEXT INPUT FILE, DISK

    553	015516	000000G				.WORD	$DRDEX		; READ EXTENSION HEADER, DISK

    554	015520	000000G				.WORD	$DRDDA		; READ FILE DATA, DISK

    555	015522	000000G				.WORD	$DWCK		; WAIT FOR DATA INPUT, DISK

    556	015524	015616'				.WORD	$NOOP		; FINISH INPUT, DISK

    557

    558	015526				$OUDSK::			; OUTPUT DEVICE FUNCTIONS

    559	015526	015616'				.WORD	$NOOP		; INITIALIZE OUTPUT, DISK

    560	015530	000000G				.WORD	$DWTSU		; WRITE VOLUME SUMMARY, DISK

    561	015532	000000G				.WORD	$DWTID		; WRITE INDEX FILE DATA, DISK

    562	015534	000000G				.WORD	$DCREA		; CREATE FILE, DISK

    563	015536	000000G				.WORD	$DEXTD		; EXTEND FILE, DISK

    564	015540	000000G				.WORD	$DWTDA		; WRITE FILE DATA, DISK

    565	015542	015616'				.WORD	$NOOP		; FINISH OUTPUT, DISK

    566	015544	000000G				.WORD	$RDHDO		; READ HEADER OUTPUT DISK

    567	015546	000000G				.WORD	$DRDDO		; READ DATA OUTPUT DISK

    568	015550	000000G				.WORD	$DWCKO		;WAIT CHECK OUTPUT DATA READ

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 11-1

CALL DISPATCH TABLE



    569

    570					;

    571					; POINTERS TO TAPE FUNCTION ROUTINES

    572					;

    573

    574	015552				$INTAP::			; INPUT DEVICE FUNCTIONS FOR TAPE

    575	015552	000000G				.WORD	$TINI		; INITIALIZE INPUT, TAPE

    576	015554	000000G				.WORD	$TRDSU		; READ VOLUME SUMMARY, TAPE

    577	015556	000000G				.WORD	$TRDID		; READ INDEX FILE DATA, TAPE

    578	015560	000000G				.WORD	$TFIND		; FIND NEXT INPUT FILE, TAPE

    579	015562	000000G				.WORD	$TRDEX		; READ FILE EXTENSION HEADER, TAPE

    580	015564	000000G				.WORD	$TRDDA		; READ FILE DATA, TAPE

    581	015566	000000G				.WORD	$TWCK		; WAIT FOR DATA INPUT, TAPE

    582	015570	000000G				.WORD	$TFINI		; FINISH INPUT, TAPE

    583

    584	015572				$OUTAP::			; OUTPUT DEVICE FUNCTIONS

    585	015572	000000G				.WORD	$TINO		; INITIALIZE OUTPUT, TAPE

    586	015574	000000G				.WORD	$TWTSU		; WRITE VOLUME SUMMARY, TAPE

    587	015576	000000G				.WORD	$TWTID		; WRITE INDEX FILE DATA, TAPE

    588	015600	000000G				.WORD	$TCREA		; CREATE FILE, TAPE

    589	015602	000000G				.WORD	$TEXTD		; EXTEND FILE, TAPE

    590	015604	000000G				.WORD	$TWTDA		; WRITE FILE DATA, TAPE

    591	015606	000000G				.WORD	$TFINO		; FINISH OUTPUT, TAPE

    592	015610	000000G				.WORD	$RDHTO		;READ HEADER OUTPUT TAPE

    593	015612	000000G				.WORD	$TRDDO		; READ DATA OUTPUT TAPE

    594	015614	000000G				.WORD	$TWCKO		;WAIT CHECK OUTPUT DATA READ

    595

    596

    597					;

    598					; ROUTINE FOR NO-OPED FUNCTIONS

    599					;

    600	015616				$NOOP:	RETURN

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 12

OTHER PURE DATA



    602						.SBTTL	OTHER PURE DATA

    603

    604					;

    605					; BIT TABLE FOR FAST BIT NUMBER TO MASK CONVERSION

    606					;

    607	015620	   001 	   002 	   004 	$BIT::	.BYTE	1,2,4,10,20,40,100,200

	015623	   010 	   020 	   040

	015626	   100 	   200

    608

    609

    610

    611						.SBTTL	TRAP VECTOR

    612

    613					;

    614					; THE TRAP VECTOR IS USED TO CATCH THE ERROR TRAPS. THE LOW BYTE OF

    615					; THE TRAP INSTRUCTION IS THE ERROR CODE. A POSITIVE VALUE INDICATES

    616					; A FATAL ERROR; A NEGATIVE VALUE INDICATES A DIAGNOSTIC.

    617					;

    618

    619	015630	000000 	000000 	000000 	$SSTVC::.WORD	0,0,0,0,0,0,$DSCER

	015636	000000 	000000 	000000

	015644	000000G

    620

    621

    622

    623		000001 				.END

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 12-1

SYMBOL TABLE



A$ALQ   000132 G 	KY.VFY= 000010 G 	$BOOTB  002340RG 	$IFLAG  001004RG 	$OWAIT  001034RG

A$BDT   000204 G 	KY.16B= 000040 G 	$BOVBN  001122RG 	$IF1BF  013562RG 	$OXBF   014442RG

A$BKS   000142 G 	KY.160= 000010 G 	$BUF1   001272RG 	$IF1HD  013552RG 	$OXHD   014432RG

A$CD    003776 G 	OUTLUN= 000003 G 	$BUF2   005352RG 	$IF2BF  013712RG 	$R    = 177777

A$CDT   000154 G 	PF.ATR= 000002 G 	$B1DAT  001312RG 	$IF2HD  013702RG 	$RDATO  015502RG

A$EDT   000174 G 	PF.DAT= 000001 G 	$B1HD   001262RG 	$IF3HD  014032RG 	$RDDAT  015454RG

A$FLG   000143 G 	PF.ERR= 100000 G 	$B1HD1  001232RG 	$IF4HD  014042RG 	$RDEXH  015452RG

A$FLN   000010 G 	PF.HDR= 000004 G 	$B1HD2  001242RG 	$IF5HD  014052RG 	$RDHDO= ****** GX

A$FNM   000012 G 	PF.RWR= 000010 G 	$B1HD3  001252RG 	$IF6HD  014062RG 	$RDHTO= ****** GX

A$FOP   000152 G 	PF.SUM= 000040 G 	$B2DAT  005372RG 	$IHBF   011402RG 	$RDIXF  015446RG

A$FSZ   000141 G 	PF.SUS= 000020 G 	$B2HD   005342RG 	$IHHD   011372RG 	$RDSUM  015444RG

A$GRP   000222 G 	P.CNT   000000 G 	$B2HD1  005312RG 	$IHVBN  001136RG 	$RELNI  001100RG

A$ID1   000000 G 	P.FID   000010 G 	$B2HD2  005322RG 	$ILAB   000006RG 	$RELNO  001102RG

A$ID2   003770 G 	P.FLAG  000002 G 	$B2HD3  005332RG 	$INDEV  000022RG 	$RVN    001044RG

A$MRN   000144 G 	P.SIZ   000020 G 	$CLF  = 005456RG 	$INDSK  015506RG 	$SBM    002410RG

A$MRS   000150 G 	P.VBN   000004 G 	$CURAL  001146RG 	$INDXF  002400RG 	$SBMEF  001012RG

A$ORG   000136 G 	S.BLKF  000120 G 	$CW1    001222RG 	$INITI  015442RG 	$SECT   001022RG

A$OWN   000221 G 	S.CKSM  000776 G 	$CW2    001224RG 	$INITO  015462RG 	$SSTVC  015630RG

A$PRG   000214 G 	S.CLF   000064 G 	$CW3    001226RG 	$INTAB  015442RG 	$STAK   001030RG

A$PRJ   000216 G 	S.DVNM  000014 G 	$CW4    001230RG 	$INTAP  015552RG 	$SUPMC= 000043

A$RAT   000137 G 	S.HFNU  000102 G 	$CYL    001016RG 	$INTBL= 000010 G 	$SWFLG  001160RG

A$RDT   000164 G 	S.IBLB  000114 G 	$DCREA= ****** GX	$IVBF   013432RG 	$T    = 000000

A$RFM   000140 G 	S.IBSZ  000112 G 	$DEXTD= ****** GX	$IVHD   013422RG 	$TCREA= ****** GX

A$SYS   000220 G 	S.IFSZ  000106 G 	$DFIND= ****** GX	$IVNUM  000004RG 	$TESQN  001070RG

A$VER   000006 G 	S.MRG   000122 G 	$DIDDO= 000000   	$IVTAB  000024RG 	$TEXTD= ****** GX

A$WLD   000223 G 	S.NAME  000000 G 	$DRDDA= ****** GX	$IWAIT  001032RG 	$TFID   001046RG

BLKF  = 000004 G 	S.NFIL  000076 G 	$DRDDO= ****** GX	$IXBF   013432RG 	$TFIND= ****** GX

B.IOST  000000 G 	S.NVOL  000062 G 	$DRDEX= ****** GX	$IXHD   013422RG 	$TFINI= ****** GX

B.LINK  000004 G 	S.RVN   000060 G 	$DRDID= ****** GX	$IXHD2  002370RG 	$TFINO= ****** GX

B.SIZ   000010 G 	S.SIZ   002000 G 	$DRDSU= ****** GX	$L    = 000000   	$TFSIZ  001112RG

B.STAT  000006 G 	S.SNAM  000030 G 	$DSCER= ****** GX	$LBN    001072RG 	$THVBN  001164RG

EFN   = 000002 G 	S.USE   000072 G 	$DVNM   001216RG 	$LUNBF  001216RG 	$TINI = ****** GX

EX.AC1= 000001 G 	S.VNAM  000044 G 	$DVUN   001220RG 	$L$   = 000000   	$TINO = ****** GX

GCLFLG  000002RG 	S.VSIZ  000066 G 	$DWCK = ****** GX	$NOOP   015616R  	$TRAK   001020RG

H.VBN = 001000 G 	TTEFN = 000001 G 	$DWCKO= ****** GX	$NVOL   001036RG 	$TRDDA= ****** GX

IIII  = 177777   	TTYLUN= 000001 G 	$DWTDA= ****** GX	$OFLAG  001006RG 	$TRDDO= ****** GX

INLUN = 000002 G 	V.CLF   000034 G 	$DWTID= ****** GX	$OF1BF  014572RG 	$TRDEX= ****** GX

KY.APD= 000002 G 	V.DVNM  000000 G 	$DWTSU= ****** GX	$OF1HD  014562RG 	$TRDID= ****** GX

KY.BSP= 000004 G 	V.DVUN  000002 G 	$EF$  = 000000   	$OF2BF  014722RG 	$TRDSU= ****** GX

KY.CMP= 100000 G 	V.FLBN  000016 G 	$ENDZ   015442RG 	$OF2HD  014712RG 	$TVBN   001064RG

KY.DSK= 000100 G 	V.FRBK  000012 G 	$ESTAT  000000RG 	$OF3HD  015042RG 	$TWCK = ****** GX

KY.EOF= 000020 G 	V.HFNU  000006 G 	$EXFLG  001156RG 	$OF4HD  015052RG 	$TWCKO= ****** GX

KY.EOT= 001000 G 	V.IBLB  000022 G 	$E$   = 000001   	$OF5HD  015062RG 	$TWTDA= ****** GX

KY.IDK= 000100 G 	V.IBSZ  000020 G 	$FID    001040RG 	$OF6HD  015072RG 	$TWTID= ****** GX

KY.ITP= 000251 G 	V.LENG= 000010 G 	$FIND   015450RG 	$OHBF   012416RG 	$TWTSU= ****** GX

KY.LOS= 002000 G 	V.RVN   000004 G 	$FINDO  015500RG 	$OHHD   012406RG 	$UCBAD  001162RG

KY.MAN= 010000 G 	V.SBLB  000030 G 	$FINI   015460RG 	$OHVBN  001170RG 	$VBN    001054RG

KY.MRG= 000400 G 	V.SBSZ  000026 G 	$FINO   015476RG 	$OLAB   000406RG 	$VOLND  004370RG

KY.NAU= 020000 G 	V.SIZ   000036 G 	$FISIZ  001106RG 	$OUDEV  000422RG 	$VOLSZ  004402RG

KY.NBO= 004000 G 	$ALLOC  015470RG 	$FLAG1  001010RG 	$OUDSK  015526RG 	$WATCK  015456RG

KY.NCP= 000001 G 	$ALSIZ  001142RG 	$FNU    001104RG 	$OUTAB  015462RG 	$WATO   015504RG

KY.NIP= 000002 G 	$BADBK  002420RG 	$HBDLT  001024RG 	$OUTAP  015572RG 	$WTDAT  015474RG

KY.ODK= 170500 G 	$BADND  004370RG 	$HM2LB  001132RG 	$OUTBL= 000012 G 	$WTEXH  015472RG

KY.OTP= 140653 G 	$BADP   004400RG 	$HOLD   001174RG 	$OVBF   014442RG 	$WTIXF  015466RG

KY.RWD= 000001 G 	$BIT    015620RG 	$HOME1  002350RG 	$OVHD   014432RG 	$WTSUM  015464RG

KY.TAP= 000200 G 	$BLCNT  001076RG 	$HOME2  002360RG 	$OVNUM  000404RG 	$WVBN   001060RG

KY.VER= 040000 G 	$BOLBN  001116RG 	$HOMLB  001126RG 	$OVTAB  000424RG 	$ZERO   000004RG

DSCDAT	X0042 - DATA BASE FOR D	MACRO M1110  21-AUG-78 19:59  PAGE 12-2

SYMBOL TABLE



$$$TMP= 015442R  	.SMCTL  002327RG 	.SM1AD  002310RG 	.SM2AD  002316RG 	.SM2VB  002314RG

.FREPT  002336RG 	.SMEXT  002326RG 	.SM1BT  002302RG 	.SM2BT  002322RG 	.SVLBN  002276RG

.SMBUF  001272RG 	.SMFLG  002274RG 	.SM1MK  002306RG 	.SM2MK  002320RG 	.USEPT  002334RG

.SMCNT  002332RG 	.SMVBN  002272RG 	.SM1VB  002312RG



. ABS.	004000	   000

      	015646	   001

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  12604 WORDS  ( 50 PAGES)

DYNAMIC MEMORY:  14388 WORDS  ( 55 PAGES)

ELAPSED TIME:  00:00:27

EXE$:DSCDAT,LIS$:DSCDAT/-SP=SRC$:SMAC/PA:1,DSCPRE,DSCDAT

