FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 1   

STRIOP.FOR   	/TR:BLOCKS/WR


0001    	SUBROUTINE MDOUTL (PTR)

         

        C	OUTPUTS A LINE TO THE TRANSLATED MARS FILE.

        C	THE ARGUMENT PTR POINTS TO THE LOGICAL END

        C	OF LINE IN THE INPUT FILE.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	INTEGER PTR

         

0017    	IF (DEBUG) TYPE 290

0018    290	FORMAT (' IN MARS OUTPUT')

0019    	IF (LINTYP .EQ. FIELD) GOTO 10

0020    	IF (LINTYP .EQ. SBFLD) GOTO 20

0021    	IF (LINTYP .EQ. VIELD) GOTO 30

0022    	IF (LINTYP .EQ. VIELDE) GOTO 35

0023    	IF (LINTYP .EQ. CONST) GOTO 40

0024    	IF (LINTYP .EQ. CONSTE) GOTO 45

0025    	IF (LINTYP .EQ. BITFNM) GOTO 50

0026    	IF (LINTYP .EQ. CONSTN) GOTO 60

0027    	IF (LINTYP .EQ. SCONST) GOTO 70

0028    	IF (LINTYP .EQ. MARKPT) GOTO 80

0029    	IF (LINTYP .EQ. ORIGIN) GOTO 90

0030    	IF (LINTYP .NE. LABELN) GOTO 100

         

        C	THIS IS A LABEL DEFINITION TO BE OUTPUT. THE FORMAT IS

        C	'$DEF (TAB) PRENAM\TAGNAM\FLDNAM

        C	 $DEF (TAB) PRENAM\KTAGNAM\FLDNAM' FOLLOWED BY THE REST OF THE

        C	INPUT LINE, WHERE KTAGNAM IS THE TAGNAM WITH THE SECOND

        C	CHARACTER CHANGED TO A 'K'.

         

0031    	IF (DEBUG) TYPE 490

0032    490	FORMAT (' LABEL OUTPUT')

0033    	CALL PUTMAR (DOLDEF)

0034    	CALL PUTMAR (PRENAM)

0035    	CALL PUTMAR (TAGNAM)

0036    	CALL PUTMAR (FLDNAM)

0037    	CALL OUTMAR

0038    	TAGNAM(3) = 'K'

0039    	CALL PUTMAR (DOLDEF)

0040    	CALL PUTMAR (PRENAM)

0041    	CALL PUTMAR (TAGNAM)

0042    	CALL PUTMAR (FLDNAM)

0043    	CALL PUTMAR (TABSTG)

0044    	CALL PUTMAR (TABSTG)

0045    	INBUF (PTR) = INBUF (1) - PTR + 1

0046    	CALL PUTMAR (INBUF (PTR))

0047    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0048    300	FORMAT (' ',90A1)

0049    	CALL OUTMAR

0050    	RETURN

         

        C	THIS IS A FIELD DEFINITION TO BE OUTPUT. THE FORMAT IS

        C	'$DEF (TAB) PRENAM\TAGNAM\FLDNAM (TAB) .BLK\UNITYP'

        C	FOLLOWED BY THE REST OF THE LINE.

         

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 2   

STRIOP.FOR   	/TR:BLOCKS/WR


0051    10	IF (DEBUG) TYPE 500

0052    500	FORMAT (' FIELD OUTPUT')

0053    	CALL NUMSTG (BYTSIZ, OFSIZ)

0054    	IF (OSBNAM (1) .EQ. 0) GOTO 11

0055    	CALL PUTMAR (DOLDEF)

0056    	CALL PUTMAR (PRENAM)

0057    	CALL PUTMAR (OTGNAM)

0058    	CALL PUTMAR (OSBNAM)

0059    	GOTO 12

         

        C	THIS IS JUST ALLOCATION OF SPACE, WITH NO ACCOMPANYING

        C	FIELD NAME.

         

0060    11	CALL PUTMAR (TABSTG)

0061    	CALL PUTMAR (TABSTG)

0062    12	IF (.NOT. BLKOUT) GOTO 13

0063    	CALL PUTMAR (DOTBLK)

0064    	CALL PUTMAR (OUNTYP)

0065    	CALL PUTMAR (TABSTG)

0066    	CALL PUTMAR (BYTSIZ)

0067    	GOTO 15

         

        C	THIS IS FOR NO BLOCK ALLOCATION

         

0068    13	CALL PUTMAR (TABSTG)

0069    	CALL PUTMAR (TABSTG)

         

0070    15	CALL PUTMAR (SPCSTG)

0071    	CALL PUTMAR (RSTLIN)

0072    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0073    	CALL OUTMAR

0074    	RETURN

         

        C	THIS IS A SUBFIELD DEFINITION TO BE OUTPUT. THE FORMAT IS

        C	'$DEF (TAB) PRENAM\TAGNAM\FLDNAM (TAB) .BLK\UNITYP'

        C	FOLLOWED BY THE REST OF THE LINE.

         

0075    20	IF (DEBUG) TYPE 510

0076    510	FORMAT (' SUBFIELD OUTPUT')

0077    	IF (OSBNAM (1) .EQ. 0) RETURN

0078    	CALL PUTMAR (DOLDEF)

0079    	CALL PUTMAR (PRENAM)

0080    	CALL PUTMAR (OTGNAM)

0081    	CALL PUTMAR (OSBNAM)

0082    	IF (.NOT. BLKOUT) GOTO 23

0083    	CALL PUTMAR (DOTBLK)

0084    	CALL PUTMAR (OUNTYP)

0085    	CALL PUTMAR (TABSTG)

0086    	CALL PUTMAR (BYTSIZ)

0087    	GOTO 25

0088    23	CALL PUTMAR (TABSTG)

0089    	CALL PUTMAR (TABSTG)

0090    25	CALL PUTMAR (SPCSTG)

0091    	CALL PUTMAR (RSTLIN)

0092    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0093    	CALL OUTMAR

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 3   

STRIOP.FOR   	/TR:BLOCKS/WR


0094    	RETURN

         

        C	THIS IS THE BEGINNING OF A BITFIELD DEFINITION LIST. THE FORMAT IS

        C	'(TAB) $VIELD (TAB) PRENAM,0,<-' FOLLOWED BY THE

        C	REST OF THE LINE.

         

0095    30	IF (DEBUG) TYPE 520

0096    520	FORMAT (' BITFIELD OUTPUT')

0097    	CALL PUTMAR (DOLVLD)

0098    	CALL PUTMAR (PRENAM)

0099    	CALL PUTMAR (COMMAS)

0100    	CALL PUTMAR (ZRLAHY)

0101    	CALL PUTMAR (SPCSTG)

0102    	INBUF (PTR) = INBUF (1) - PTR + 1

0103    	CALL PUTMAR (INBUF (PTR))

0104    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0105    	CALL OUTMAR

0106    	RETURN

         

        C	THIS IS THE END OF A BITFIELD DEFINITION LIST TO BE

        C	OUTPUT. THE FORMAT IS '(TAB) (TAB) >' FOLLOWED BY THE

        C	REST OF THE LINE.

         

0107    35	IF (DEBUG) TYPE 530

0108    530	FORMAT (' END VIELD OUTPUT')

0109    	CALL PUTMAR (TABSTG)

0110    	CALL PUTMAR (TABRAN)

0111    	CALL PUTMAR (TABSTG)

0112    	INBUF (PTR) = INBUF (1) - PTR + 1

0113    	CALL PUTMAR (INBUF (PTR))

0114    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0115    	CALL OUTMAR

0116    	RETURN

         

        C	THIS IS THE BEGINNING OF A CONSTANT DEFINITION LIST.

        C	THE FORMAT IS '$EQULST (TAB) PRENAM\TAG,$GBL,BASE,INCREMENT,<-'

        C	FOLLOWED BY THE REST OF THE LINE.

         

0117    40	IF (DEBUG) TYPE 540

0118    540	FORMAT (' CONSTANT LIST OUTPUT')

0119    	CALL PUTMAR (EQULST)

0120    	CALL PUTMAR (CONPRE)

0121    	CALL PUTMAR (CONTAG)

0122    	CALL PUTMAR (DOLGBL)

0123    	CALL PUTMAR (COMMAS)

0124    	CALL PUTMAR (MRBASE)

0125    	CALL PUTMAR (COMMAS)

0126    	CALL PUTMAR (MRINCR)

0127    	CALL PUTMAR (COMMAS)

0128    	CALL PUTMAR (LANHYP)

0129    	CALL PUTMAR (SPCSTG)

0130    	INBUF (PTR) = INBUF (1) - PTR + 1

0131    	CALL PUTMAR (INBUF (PTR))

0132    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0133    	CALL OUTMAR

0134    	RETURN

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 4   

STRIOP.FOR   	/TR:BLOCKS/WR


         

        C	THIS IS THE END OF A CONSTANT DEFINITION LIST TO BE

        C	OUTPUT. THE FORMAT IS '(TAB) (TAB) >' FOLLOWED BY THE REST OF

        C	THE LINE.

         

0135    45	IF (DEBUG) TYPE 550

0136    550	FORMAT (' END CONSTANT LIST OUTPUT')

0137    	CALL PUTMAR (TABSTG)

0138    	CALL PUTMAR (TABRAN)

0139    	INBUF (PTR) = INBUF (1) - PTR + 1

0140    	CALL PUTMAR (INBUF (PTR))

0141    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0142    	CALL OUTMAR

0143    	RETURN

         

        C	THIS IS A BITFIELD DEFINITION TO BE OUTPUT. THE FORMAT IS

        C	'(TAB) (TAB) <FLDNAM,SIZE,M>-' FOLLOWED BY THE REST OF

        C	THE LINE.

         

0144    50	IF (DEBUG) TYPE 560

0145    560	FORMAT (' ONE BITFIELD OUTPUT')

0146    	CALL PUTMAR (TABSTG)

0147    	CALL PUTMAR (TABLAN)

0148    	CALL PUTMAR (FLDNAM)

0149    	CALL PUTMAR (COMMAS)

0150    	IF (VSIZ .EQ. 0) GOTO 52

0151    	CALL NUMSTG (BYTSIZ, VSIZ)

0152    	CALL PUTMAR (BYTSIZ)

0153    52	CALL PUTMAR (COMMAS)

0154    	CALL PUTMAR (AMASK)

0155    	CALL PUTMAR (RANHYP)

0156    	CALL PUTMAR (SPCSTG)

0157    	INBUF (PTR) = INBUF (1) - PTR + 1

0158    	CALL PUTMAR (INBUF (PTR))

0159    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0160    	CALL OUTMAR

0161    	RETURN

         

        C	THIS IS A CONSTANT NAME DEFINITION WITHIN A LIST. THE FORMAT

        C	IS '(TAB) (TAB) <FLDNAM,VALUE>-' FOLLOWED BY THE REST OF

        C	THE LINE.

         

0162    60	IF (DEBUG) TYPE 570

0163    570	FORMAT (' LIST CONSTANT OUTPUT')

0164    	CALL PUTMAR (TABSTG)

0165    	IF ((CONEXP) .AND. (FLDNAM (1) .EQ. 0)) GOTO 61

0166    	CALL PUTMAR (TABLAN)

0167    	GOTO 62

0168    61	CALL PUTMAR (TABSTG)

0169    62	IF ((CONEXP) .AND. (FLDNAM (1) .EQ. 0)) CALL PUTMAR (TABSTG)

0170    	CALL PUTMAR (FLDNAM)

0171    	IF (MVALUE (1) .EQ. 0) GOTO 65

0172    	IF (FLDNAM (1) .NE. 0) CALL PUTMAR (COMMAS)

0173    	IF (.NOT. CONEXP) GOTO 63

0174    	IF (FLDNAM (1) .NE. 0) CALL PUTMAR (EXPOPN)

0175    63	CALL PUTMAR (MVALUE)

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 5   

STRIOP.FOR   	/TR:BLOCKS/WR


0176    	IF ((.NOT. ENDEXP) .AND. (CONEXP)) GOTO 67

0177    	IF (ENDEXP) CALL PUTMAR (EXPCLO)

0178    65	CALL PUTMAR (RANHYP)

0179    67	CALL PUTMAR (SPCSTG)

0180    	CALL PUTMAR (RSTLIN)

0181    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0182    	CALL OUTMAR

0183    	RETURN

         

        C	THIS IS A SINGLE CONSTANT DEFINITION TO BE OUTPUT. THE

        C	FORMAT IS '$EQU (TAB) PRENAM\TAGNAM\FLDNAM (TAB) CVALUE'

        C	FOLLOWED BY THE REST OF THE LINE.

         

0184    70	IF (DEBUG) TYPE 580

0185    580	FORMAT (' SINGLE CONSTANT OUTPUT')

0186    	CALL PUTMAR (EQUTAB)

0187    	CALL PUTMAR (PRENAM)

0188    	CALL PUTMAR (TAGNAM)

0189    	CALL PUTMAR (FLDNAM)

0190    	CALL PUTMAR (TABSTG)

0191    	CALL PUTMAR (MVALUE)

0192    	CALL PUTMAR (TABSTG)

0193    	CALL PUTMAR (TABSTG)

0194    	INBUF (PTR) = INBUF (1) - PTR + 1

0195    	CALL PUTMAR (INBUF (PTR))

0196    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0197    	CALL OUTMAR

0198    	RETURN

         

        C	THIS IS A POSITION MARKING DECLARATION.  ONLY THE COMMENT

        C	OF THE LINE IS OUTPUT.

         

0199    80	IF (DEBUG) TYPE 600

0200    600	FORMAT (' POSITION MARK OUTPUT')

0201    	CALL PUTMAR (TABSTG)

0202    	CALL PUTMAR (TABSTG)

0203    	CALL PUTMAR (TABSTG)

0204    	INBUF (PTR) = INBUF (1) - PTR + 1

0205    	CALL PUTMAR (INBUF (PTR))

0206    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0207    	CALL OUTMAR

0208    	RETURN

         

        C	THIS IS REORIGINING COMMAND. THE POINTER IS RESET BY

        C	A DECLARATION OF THE FORM '. = (VALUE)' FOLLOWED BY THE

        C	REST OF THE LINE.

         

0209    90	IF (DEBUG) TYPE 610

0210    610	FORMAT (' REORIGIN OUTPUT')

0211    	CALL PUTMAR (TABSTG)

0212    	CALL PUTMAR (DOTEQS)

0213    	CALL NUMSTG (OFFSET, BLFOFS)

0214    	CALL PUTMAR (OFFSET)

0215    	CALL PUTMAR (SPCSTG)

0216    	INBUF (PTR) = INBUF (1) - PTR + 1

0217    	CALL PUTMAR (INBUF (PTR))

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 6   

STRIOP.FOR   	/TR:BLOCKS/WR


0218    	IF (DEBUG) TYPE 300, (MARBUF (I), I = 2, MARBUF (1) + 1)

0219    	CALL OUTMAR

0220    	RETURN

         

        C	ERROR REPORTING

         

0221    100	TYPE 2000

0222    2000	FORMAT (' INVALID OUTPUT LINE TYPE')

0223    	RETURN

0224    	END

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 7   

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	005712  1509		RW,I,CON,LCL

  3	$IDATA	000722   233		RW,D,CON,LCL

  4	$VARS	000002     1		RW,D,CON,LCL

  5	$TEMPS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 MDOUTL	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 I	I*2   4-000000	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244

 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024

 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464

 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 PTR	I*2   F-000002*	 SMASK	L*2   6-000014

 SOFSET	I*2  10-000440	 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006

 TMPIN	L*2   6-000034	 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010

 UNISIZ	I*2  10-000262	 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 8   

STRIOP.FOR   	/TR:BLOCKS/WR


 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:05:38    22-AUG-78		PAGE 9   

STRIOP.FOR   	/TR:BLOCKS/WR


 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 10	 1-000656	 11	 1-001002	 12	 1-001034	 13	 1-001116	 15	 1-001150

 20	 1-001330	 23	 1-001514	 25	 1-001546	 30	 1-001726	 35	 1-002234

 40	 1-002522	 45	 1-003110	 50	 1-003366	 52	 1-003520	 60	 1-003770

 61	 1-004072	 62	 1-004114	 63	 1-004246	 65	 1-004326	 67	 1-004350

 70	 1-004530	 80	 1-005066	 90	 1-005354	 100	 1-005662	 290'	 3-000000

 300'	 3-000042	 490'	 3-000022	 500'	 3-000050	 510'	 3-000070	 520'	 3-000114

 530'	 3-000140	 540'	 3-000164	 550'	 3-000214	 560'	 3-000250	 570'	 3-000300

 580'	 3-000330	 600'	 3-000362	 610'	 3-000412	 2000'	 3-000436





FUNCTIONS AND SUBROUTINES REFERENCED



 NUMSTG	 OUTMAR	 PUTMAR





TOTAL SPACE ALLOCATED = 015406  3459



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 10  

STRIOP.FOR   	/TR:BLOCKS/WR


         

        C	REVISION HISTORY:

        C		23-03-77	CP	WHEN OUTPUTTING BITFIELD MASK, 

        C					AMOUNT TO SHIFT BITS IS VOFSET +

        C					VSIZ, NOT VOFSET + 1.

        C

        C		04-04-77	TC	CONDITIONALIZE OUTPUT OF ")" IN CONSTANTS

        C					TO AVOID PREMATURLY CLOSING IN THE MIDDLE OF

        C					MULTI-LINE CONSTANTS

        C

        C		22-04-77	TC	OUTPUT COMMENTS FROM VIELD

        C					AND VIELDE (BEGINNING

        C					AND END OF BITFIELD DEFINITION

        C					LIST).

         

0001    	SUBROUTINE BDOUTL (PTR)

         

        C	OUTPUTS A DEFINITION TO THE BLISS FILE. THE ARGUMENT

        C	PTR POINTS TO THE LOGICAL END OF LINE IN THE INPUT

        C	LINE.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	INTEGER PTR, LOCAL

         

0017    	IF (DEBUG) TYPE 300

0018    300	FORMAT (' IN BLISS OUTPUT')

0019    	IF (LINTYP .EQ. FIELD) GOTO 10

0020    	IF (LINTYP .EQ. SBFLD) GOTO 20

0021    	IF (LINTYP .EQ. VIELD) GOTO 30

0022    	IF (LINTYP .EQ. VIELDE) GOTO 35

0023    	IF (LINTYP .EQ. CONST) GOTO 40

0024    	IF (LINTYP .EQ. CONSTE) GOTO 45

0025    	IF (LINTYP .EQ. BITFNM) GOTO 50

0026    	IF (LINTYP .EQ. CONSTN) GOTO 60

0027    	IF (LINTYP .EQ. SCONST) GOTO 70

0028    	IF (LINTYP .EQ. MARKPT) GOTO 80

0029    	IF (LINTYP .EQ. ORIGIN) GOTO 90

0030    	IF (LINTYP .NE. LABELN) GOTO 100

         

        C	THIS IS A LABEL DEFINITION TO BE OUTPUT. THE FORMAT IS

        C	'LITERAL (TAB) PRENAM\CTAGNAM\FLDNAM (TAB) = (SPACE) BYTOFF;

        C	 LITERAL (TAB) PRENAM\KTAGNAM\FLDNAM (TAB) = (SPACE) BYTOFF;'

        C	FOLLOWED BY THE REST OF THE LINE.  HERE CTAGNAM IS THE

        C	TAGNAM WITH THE SECOND CHARACTER CHANGED TO A 'C',

        C	KTAGNAM IS THE TAGNAM WITH THE SECOND CHARACTER CHANGED TO

        C	A 'K', AND BYTOFF IS THE CURRENT OFFSET IN THE STRUCTURE

        C	EXPRESSED IN BYTES.

         

0031    	IF (DEBUG) TYPE 400

0032    400	FORMAT (' LABEL OUTPUT')

0033    	TAGNAM (3) = 'C'

0034    	CALL PUTBLI (LITTAB)

0035    	CALL PUTBLI (PRENAM)

0036    	CALL PUTBLI (TAGNAM)

0037    	CALL PUTBLI (FLDNAM)

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 11  

STRIOP.FOR   	/TR:BLOCKS/WR


0038    	CALL PUTBLI (TABEQS)

0039    	CALL NUMSTG (BYTSIZ, FOFSET)

0040    	CALL PUTBLI (BYTSIZ)

0041    	CALL PUTBLI (SEMSPC)

0042    	CALL OUTBLI

0043    	TAGNAM (3) = 'K'

0044    	CALL PUTBLI (LITTAB)

0045    	CALL PUTBLI (PRENAM)

0046    	CALL PUTBLI (TAGNAM)

0047    	CALL PUTBLI (FLDNAM)

0048    	CALL PUTBLI (TABEQS)

0049    	CALL PUTBLI (BYTSIZ)

0050    	CALL PUTBLI (SEMSPC)

0051    	CALL PUTBLI (TABSTG)

0052    	CALL EXCCMT (INBUF, PTR)

0053    	CALL PUTBLI (INBUF (PTR))

0054    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0055    250	FORMAT (' ',90A1)

0056    	CALL OUTBLI

0057    	RETURN

         

        C	THIS IS A FIELD DEFINITION TO BE OUTPUT. THE FORMAT

        C	IS 'MACRO (TAB) PRENAM\TAGNAM\FLDNAM (TAB) = (SPACE)'

        C	FOLLOWED BY A BLISS MACRO DEFINITION. THERE ARE FOUR

        C	VALUES, THE OFFSET, POSITION, SIZE, AND SIGN. FINALLY THERE

        C	IS A '%; (SPACE)' FOLLOWED BY THE REST OF THE LINE.

         

0058    10	IF (DEBUG) TYPE 410

0059    410	FORMAT (' FIELD OUTPUT')

0060    	IF (FLDNAM (1) .EQ. 0) RETURN

0061    	CALL NUMSTG (OFFSET, FOFSET)

0062    	LOCAL = OBBITS * OFSIZ

0063    	CALL NUMSTG (BLSSIZ, LOCAL)

0064    	CALL PUTBLI (MACTAB)

0065    	CALL PUTBLI (PRENAM)

0066    	CALL PUTBLI (OTGNAM)

0067    	CALL PUTBLI (OSBNAM)

0068    	CALL PUTBLI (TABEQS)

0069    	CALL PUTBLI (OFFSET)

0070    	CALL PUTBLI (COMMAS)

0071    	CALL PUTBLI (ZEROSG)

0072    	CALL PUTBLI (COMMAS)

         

        C	SEE WHETHER THE SIZE OF THIS FIELD IS LARGER THAN 32 BITS.

        C	IF SO, OUTPUT A ZERO.

         

0073    	IF ((OFSIZ * OUNSIZ) .LT. 5) GOTO 11

0074    	CALL PUTBLI (ZEROSG)

0075    	GOTO 12

0076    11	CALL PUTBLI (BLSSIZ)

0077    12	CALL PUTBLI (COMMAS)

0078    	CALL PUTBLI (OASIGN)

0079    	CALL PUTBLI (PCTSEM)

0080    	CALL EXCCMT (RSTLIN, 1)

0081    	CALL PUTBLI (RSTLIN)

0082    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 12  

STRIOP.FOR   	/TR:BLOCKS/WR


0083    	CALL OUTBLI

         

        C	IF THE SIZE OF THE FIELD DEFINED IS GREATER THAN 4 BYTES,

        C	A SECOND BLISS DECLARATION IS OUTPUT. THIS IS A LITERAL

        C	DEFINITION OF THE LENGTH OF THE FIELD. THE FORMAT IS

        C	'LITERAL (TAB) PRENAM\TAGNAM (CHANGED TO S)\FLDNAM

        C	(TAB) = (SPACE)' FOLLOWED BY THE LENGTH OF THE FIELD IN

        C	BYTES AND A SEMI-COLON.

         

0084    	LOCAL = OFSIZ * OUNSIZ

0085    	IF (LOCAL .LT. 5) GOTO 13

0086    	CALL NUMSTG (BYTSIZ, LOCAL)

0087    	IF (DEBUG) TYPE 420

0088    420	FORMAT (' FIELD LENGTH OUTPUT')

0089    	CALL PUTBLI (LITTAB)

0090    	CALL PUTBLI (PRENAM)

0091    	OTGNAM (3) = 'S'

0092    	CALL PUTBLI (OTGNAM)

0093    	CALL PUTBLI (OSBNAM)

0094    	CALL PUTBLI (TABEQS)

0095    	CALL PUTBLI (BYTSIZ)

0096    	CALL PUTBLI (SEMSPC)

0097    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0098    	CALL OUTBLI

0099    13	RETURN

         

        C	THIS IS A SUBFIELD DEFINITION TO BE OUTPUT. IT IS EXACTLY

        C	LIKE A FIELD EXCEPT THAT THE OFFSET FIELD IS DETERMINED

        C	BY THE SOFSET VARIABLE INSTEAD OF THE FOFSET VARIABLE

        C	AND THE NAMES OF THE STORED VARIABLES ARE DIFFERENT.

         

0100    20	IF (DEBUG) TYPE 430

0101    430	FORMAT (' SUBFIELD OUTPUT')

0102    	IF (OSBNAM (1) .EQ. 0) RETURN

0103    	IF (FLDNAM (1) .EQ. 0) RETURN

0104    	CALL NUMSTG (OFFSET, BLFOFS)

0105    	LOCAL = OBBITS * OFSIZ

0106    	CALL NUMSTG (BLSSIZ, LOCAL)

0107    	CALL PUTBLI (MACTAB)

0108    	CALL PUTBLI (PRENAM)

0109    	CALL PUTBLI (OTGNAM)

0110    	CALL PUTBLI (OSBNAM)

0111    	CALL PUTBLI (TABEQS)

0112    	CALL PUTBLI (OFFSET)

0113    	CALL PUTBLI (COMMAS)

0114    	CALL PUTBLI (ZEROSG)

0115    	CALL PUTBLI (COMMAS)

         

        C	SEE WHETHER THE SIZE OF THIS FIELD IS GREATER THAN 32

        C	BITS. IF SO, JUST OUTPUT A ZERO IN THE SIZE FIELD.

         

0116    	IF ((OFSIZ * OUNSIZ) .LT. 5) GOTO 21

0117    	CALL PUTBLI (ZEROSG)

0118    	GOTO 22

0119    21	CALL PUTBLI (BLSSIZ)

0120    22	CALL PUTBLI (COMMAS)

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 13  

STRIOP.FOR   	/TR:BLOCKS/WR


0121    	CALL PUTBLI (OASIGN)

0122    	CALL PUTBLI (PCTSEM)

0123    	CALL EXCCMT (RSTLIN, 1)

0124    	CALL PUTBLI (RSTLIN)

0125    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0126    	CALL OUTBLI

         

        C	IF THE SIZE OF THE SUBFIELD DEFINED IS GREATER THAN 4 BYTES,

        C	A SECOND BLISS DECLARATION IS OUTPUT. THIS IS A LITERAL

        C	DEFINITION OF THE LENGTH OF THE FIELD. THE FORMAT IS

        C	'LITERAL (TAB) PRENAM\OTGNAM (CHANGED TO S)\OSBNAM

        C	(TAB) = (SPACE)' FOLLOWED BY THE LENGTH OF THE FIELD IN

        C	BYTES AND A SEMI-COLON.

         

0127    	LOCAL = OFSIZ * OUNSIZ

0128    	IF (LOCAL .LT. 5) GOTO 25

0129    	CALL NUMSTG (BYTSIZ, LOCAL)

0130    	IF (DEBUG) TYPE 420

0131    	CALL PUTBLI (LITTAB)

0132    	CALL PUTBLI (PRENAM)

0133    	OTGNAM (3) = 'S'

0134    	CALL PUTBLI (OTGNAM)

0135    	CALL PUTBLI (OSBNAM)

0136    	CALL PUTBLI (TABEQS)

0137    	CALL PUTBLI (BYTSIZ)

0138    	CALL PUTBLI (SEMSPC)

0139    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0140    	CALL OUTBLI

0141    25	RETURN

         

        C	THIS IS THE BEGINNING OF A BITFIELD DEFINITION LIST.

        C	ONLY THE COMMENT PART IS PRINTED.

         

0142    30	IF (DEBUG) TYPE 435

0143    435	FORMAT (' BITFIELD OUTPUT')

0144    	CALL PUTBLI (TABSTG)

0145    	CALL PUTBLI (TABSTG)

0146    	CALL PUTBLI (TABSTG)

0147    	CALL EXCCMT (INBUF, PTR)

0148    	CALL PUTBLI (INBUF (PTR))

0149    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0150    	CALL OUTBLI

0151    	RETURN

         

        C	THIS IS THE END OF A BITFIELD DEFINITION LIST.

        C	ONLY THE COMMENT PART IS PRINTED.

         

0152    35	IF (DEBUG) TYPE 437

0153    437	FORMAT (' BITFIELD OUTPUT')

0154    	CALL PUTBLI (TABSTG)

0155    	CALL PUTBLI (TABSTG)

0156    	CALL PUTBLI (TABSTG)

0157    	CALL EXCCMT (INBUF, PTR)

0158    	CALL PUTBLI (INBUF (PTR))

0159    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0160    	CALL OUTBLI

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 14  

STRIOP.FOR   	/TR:BLOCKS/WR


0161    	RETURN

         

        C	THIS IS THE BEGINNING OF A CONSTANT DEFINITION LIST. THE

        C	THIS IS THE BEGINNING OF A CONSTANT DEFINITION LIST. THE

        C	FORMAT IS A LINE CONTAINING ONLY THE WORD 'LITERAL'; THEN

        C	A LINE CONTAINING '$EQULST (TAB) ( PRENAM\CONTAG (COMMA) GBL

        C	(COMMA) BASE (COMMA) INCREMENT'

        C	FOLLOWED BY THE REST OF THE LINE.

         

0162    40	IF (DEBUG) TYPE 440

0163    440	FORMAT (' CONSTANT LIST OUTPUT')

0164    	CALL PUTBLI (LITTAB)

0165    	CALL OUTBLI

0166    	CALL PUTBLI (EQULST)

0167    	CALL PUTBLI (OPAREN)

0168    	CALL PUTBLI (CONPRE)

0169    	CALL PUTBLI (CONTAG)

0170    	CALL PUTBLI (COMGBL)

0171    	CALL PUTBLI (BLBASE)

0172    	CALL PUTBLI (COMMAS)

0173    	CALL PUTBLI (BLINCR)

0174    	CALL PUTBLI (SPCSTG)

0175    	CALL EXCCMT (INBUF, PTR)

0176    	CALL PUTBLI (INBUF (PTR))

0177    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0178    	CALL OUTBLI

0179    	RETURN

         

        C	THIS IS THE END OF A CONSTANT DEFINITION LIST TO BE OUTPUT.

         

0180    45	IF (DEBUG) TYPE 450

0181    450	FORMAT (' CONSTANT LIST END')

0182    	CALL PUTBLI (TABPRN)

0183    	CALL EXCCMT (INBUF, PTR)

0184    	CALL PUTBLI (INBUF (PTR))

0185    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0186    	CALL OUTBLI

0187    	RETURN

         

        C	THIS IS A BITFIELD DEFINITION TO BE OUTPUT. THE FORMAT

        C	IS 'MACRO (TAB) PRENAM\TAGNAM\FLDNAM (TAB) = (SPACE)'

        C	OFFSET FOR STARTING VIELD BYTE, POSITION OF THIS BITFIELD,

        C	SIZE OF THIS BITFIELD, AND SIGN, FOLLOWED BY 'PERCENT

        C	SEMI-COLON' AND THE REST OF THE LINE.

         

0188    50	IF (DEBUG) TYPE 500

0189    500	FORMAT (' ONE BITFIELD OUTPUT')

0190    	IF (FLDNAM (1) .EQ. 0) GOTO 51

0191    	CALL NUMSTG (OFFSET, BLFOFS)

0192    	CALL NUMSTG (BYTSIZ, VOFSET)

0193    	IF (VSIZ .EQ. 0) VSIZ = 1

0194    	CALL NUMSTG (BLSSIZ, VSIZ)

0195    	CALL PUTBLI (MACTAB)

0196    	CALL PUTBLI (PRENAM)

0197    	CALL PUTBLI (TAGNAM)

0198    	CALL PUTBLI (FLDNAM)

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 15  

STRIOP.FOR   	/TR:BLOCKS/WR


0199    	CALL PUTBLI (TABEQS)

0200    	CALL PUTBLI (OFFSET)

0201    	CALL PUTBLI (COMMAS)

0202    	CALL PUTBLI (BYTSIZ)

0203    	CALL PUTBLI (COMMAS)

0204    	CALL PUTBLI (BLSSIZ)

0205    	CALL PUTBLI (COMMAS)

0206    	CALL PUTBLI (ASIGN)

0207    	CALL PUTBLI (PCTSEM)

0208    	GOTO 53

         

0209    51	CALL PUTBLI (TABSTG)

0210    	CALL PUTBLI (TABSTG)

0211    	CALL PUTBLI (TABSTG)

0212    	CALL PUTBLI (TABSTG)

         

0213    53	CALL EXCCMT (INBUF, PTR)

0214    	CALL PUTBLI (INBUF (PTR))

0215    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0216    	CALL OUTBLI

         

        C	IF THE MASK FOR THIS FIELD IS REQUIRED, A LITERAL

        C	DECLARATION IS OUTPUT FOR THE MASK.

         

0217    	IF ((.NOT. SMASK) .AND. (.NOT. VMASK)) RETURN

0218    	IF (FLDNAM(1) .EQ. 0) RETURN

0219    	IF (DEBUG) TYPE 510

0220    510	FORMAT (' LITERAL MASK OUTPUT')

0221    	LOCAL = VOFSET + VSIZ

0222    	CALL NUMSTG (BLSSIZ, LOCAL)

0223    	CALL PUTBLI (LITTAB)

0224    	CALL PUTBLI (PRENAM)

0225    	TAGNAM (3) = 'M'

0226    	CALL PUTBLI (TAGNAM)

0227    	TAGNAM (3) = 'V'

0228    	CALL PUTBLI (FLDNAM)

0229    	CALL PUTBLI (TABEQS)

0230    	CALL PUTBLI (ONESHF)

0231    	CALL PUTBLI (BLSSIZ)

0232    	CALL PUTBLI (SPHYSP)

0233    	CALL PUTBLI (ONESHF)

0234    	CALL PUTBLI (BYTSIZ)

0235    	CALL PUTBLI (SEMSPC)

0236    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0237    	CALL OUTBLI

0238    	RETURN

         

        C	THIS IS A CONSTANT NAME DEFINITION WITHIN A LIST.

        C	THE FORMAT IS '(TAB) (COMMA) FLDNAM (COMMA) BVALUE'

        C	 FOLLOWED BY THE REST OF THE LINE.

         

0239    60	IF (DEBUG) TYPE 520

0240    520	FORMAT (' CONSTANT NAME OUTPUT')

0241    	CALL PUTBLI (TABSTG)

0242    	IF ((CONEXP).AND.(FLDNAM(1).EQ.0)) GOTO 67

0243    	CALL PUTBLI(COMMAS)

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 16  

STRIOP.FOR   	/TR:BLOCKS/WR


0244    	CALL PUTBLI(OPAREN)

0245    	CALL PUTBLI(FLDNAM)

0246    	CALL PUTBLI(COMMAS)

0247    65	CALL PUTBLI(BVALUE)

0248    	IF (ENDEXP .OR. (.NOT. CONEXP))

        	1   CALL PUTBLI(CPAREN)

0249    	CALL PUTBLI(SPCSTG)

0250    	CALL PUTBLI(TABSTG)

0251    	CALL EXCCMT(RSTLIN,1)

0252    	CALL PUTBLI(RSTLIN)

0253    	IF (DEBUG) TYPE 250, (BLIBUF(I), I = 2,BLIBUF(1)+1)

0254    	CALL OUTBLI

0255    	RETURN

         

0256    67	CALL PUTBLI(TABSTG)

0257    	GOTO 65

         

         

        C	THIS IS A SINGLE CONSTANT DEFINITION TO BE OUTPUT.

        C	THE FORMAT IS 'LITERAL (TAB) (TAB) = (SPACE)' FOLLOWED

        C	BY THE VALUE OF THE CONSTANT, THEN '; (SPACE)' AND

        C	THE REST OF THE LINE.

         

0258    70	IF (DEBUG) TYPE 600

0259    600	FORMAT (' SINGLE CONSTANT OUTPUT')

0260    	CALL PUTBLI (LITTAB)

0261    	CALL PUTBLI (PRENAM)

0262    	CALL PUTBLI (TAGNAM)

0263    	CALL PUTBLI (FLDNAM)

0264    	CALL PUTBLI (TABEQS)

0265    	CALL PUTBLI (BVALUE)

0266    	CALL PUTBLI (SEMSPC)

0267    	CALL PUTBLI (TABSTG)

0268    	CALL PUTBLI (TABSTG)

0269    	CALL EXCCMT (INBUF, PTR)

0270    	CALL PUTBLI (INBUF (PTR))

0271    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0272    	CALL OUTBLI

0273    	RETURN

         

        C	THIS IS A POSITION MARKING DECLARATION. ONLY THE COMMENT

        C	PORTION OF THE LINE IS OUTPUT.

         

0274    80	IF (DEBUG) TYPE 610

0275    610	FORMAT (' POSITION MARK OUTPUT')

0276    	CALL PUTBLI (TABSTG)

0277    	CALL PUTBLI (TABSTG)

0278    	CALL PUTBLI (TABSTG)

0279    	CALL EXCCMT (INBUF, PTR)

0280    	CALL PUTBLI (INBUF (PTR))

0281    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0282    	CALL OUTBLI

0283    	RETURN

         

        C	THIS IS REORIGINING COMMAND. ONLY THE COMMENT PORTION OF

        C	THE LINE IS OUTPUT.

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 17  

STRIOP.FOR   	/TR:BLOCKS/WR


         

0284    90	IF (DEBUG) TYPE 620

0285    620	FORMAT (' REORIGIN OUTPUT')

0286    	CALL PUTBLI (TABSTG)

0287    	CALL PUTBLI (TABSTG)

0288    	CALL PUTBLI (TABSTG)

0289    	CALL EXCCMT (INBUF, PTR)

0290    	CALL PUTBLI (INBUF (PTR))

0291    	IF (DEBUG) TYPE 250, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0292    	CALL OUTBLI

0293    	RETURN

         

        C	ERROR REPORTING

         

0294    100	TYPE 2000

0295    2000	FORMAT (' INVALID OUTPUT LINE TYPE')

0296    	RETURN

0297    	END

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 18  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	007420  1928		RW,I,CON,LCL

  2	$PDATA	000004     2		RW,D,CON,LCL

  3	$IDATA	001042   273		RW,D,CON,LCL

  4	$VARS	000004     2		RW,D,CON,LCL

  5	$TEMPS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BDOUTL	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 I	I*2   4-000002	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244

 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LOCAL	I*2   4-000000	 LPTR	I*2  10-001030

 LSBSIZ	I*2  10-001024	 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154

 OBBITS	I*2  10-001464	 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 PTR	I*2   F-000002*

 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440	 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002

 TMP	I*2  13-000006	 TMPIN	L*2   6-000034	 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012

 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262	 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 19  

STRIOP.FOR   	/TR:BLOCKS/WR


 COMMAS	I*2   7-000304	000004     2	(2)

 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:07:06    22-AUG-78		PAGE 20  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABOPR	I*2   7-000712	000006     3	(3)

 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 10	 1-000750	 11	 1-001220	 12	 1-001242	 13	 1-001762	 20	 1-001764

 21	 1-002244	 22	 1-002266	 25	 1-003012	 30	 1-003014	 35	 1-003306

 40	 1-003600	 45	 1-004172	 50	 1-004444	 51	 1-004734	 53	 1-005006

 60	 1-005612	 65	 1-005742	 67	 1-006206	 70	 1-006232	 80	 1-006604

 90	 1-007076	 100	 1-007370	 250'	 3-000044	 300'	 3-000000	 400'	 3-000024

 410'	 3-000052	 420'	 3-000072	 430'	 3-000122	 435'	 3-000146	 437'	 3-000172

 440'	 3-000216	 450'	 3-000246	 500'	 3-000274	 510'	 3-000324	 520'	 3-000354

 600'	 3-000404	 610'	 3-000436	 620'	 3-000466	 2000'	 3-000512





FUNCTIONS AND SUBROUTINES REFERENCED



 EXCCMT	 NUMSTG	 OUTBLI	 PUTBLI





TOTAL SPACE ALLOCATED = 017242  3921



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:08:53    22-AUG-78		PAGE 21  

STRIOP.FOR   	/TR:BLOCKS/WR


         

0001    	SUBROUTINE OUTFLD

         

        C	OUTPUTS A FIELD OR SUBFIELD DEFINITION. IF THE IMPLICIT ARGUMENT

        C	BLKOUT IS TRUE, OUTPUTS A '.BLK' ALLOCATION TO THE MARS FILE.

        C	OTHERWISE, OUTPUTS THE FIELD WITHOUT THE ALLOCATION.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	IF (DEBUG) TYPE 490

0017    490	FORMAT (' IN OUTFLD')

0018    	CALL MDOUTL (INPTR)

0019    	CALL BDOUTL (INPTR)

0020    	IF (LINTYP .NE. FIELD) GOTO 10

0021    	IF (DEBUG) TYPE 500, FOFSET, OUNSIZ, OFSIZ, BLFOFS

0022    500	FORMAT (' FOFSET ',I3,' OUNSIZ ',I3,' OFSIZ ',I3,' BLFOFS ',I3)

0023    	BOFSET = FOFSET

0024    	FOFSET = FOFSET + OUNSIZ * OFSIZ

0025    	OSBNAM (1) = 0

0026    	LASLIN = FIELD

0027    	RETURN

         

0028    10	IF (LINTYP .NE. SBFLD) GOTO 20

0029    	IF (DEBUG) TYPE 510, FOFSET, SOFSET, LSBSIZ, BLFOFS

0030    510	FORMAT (' FOFSET ',I3,' SOFSET ',I3,' LSBSIZ ',I3,' BLFOFS ',I3)

0031    	SOFSET = SOFSET + LSBSIZ

0032    	LASLIN = SBFLD

0033    	OSBNAM (1) = 0

         

0034    20	RETURN

0035    	END

FORTRAN IV-PLUS V02-51D		03:08:53    22-AUG-78		PAGE 22  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000352   117		RW,I,CON,LCL

  3	$IDATA	000164    58		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 OUTFLD	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244	 LASLIN	I*2  10-002434

 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024	 MAR	I*2  13-000004

 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464	 OFSIZ	I*2  10-001456

 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440	 STGEQL	L*2   6-000004

 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006	 TMPIN	L*2   6-000034	 TMPOUT	L*2   6-000032

 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262	 VMASK	L*2   6-000012

 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

FORTRAN IV-PLUS V02-51D		03:08:53    22-AUG-78		PAGE 23  

STRIOP.FOR   	/TR:BLOCKS/WR


 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:08:53    22-AUG-78		PAGE 24  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 10	 1-000224	 20	 1-000350	 490'	 3-000000	 500'	 3-000016	 510'	 3-000076





FUNCTIONS AND SUBROUTINES REFERENCED



 BDOUTL	 MDOUTL





TOTAL SPACE ALLOCATED = 007304  1890



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:09:09    22-AUG-78		PAGE 25  

STRIOP.FOR   	/TR:BLOCKS/WR


         

0001    	SUBROUTINE OUTBCL

         

        C	OUTPUTS A SINGLE LINE IN A CONSTANT DEFINITION LIST. THE

        C	LINE IS BLANK OR HAS ONLY COMMENTS. FOR MARS, IT MUST BEGIN

        C	WITH A HYPHEN, FOR BLISS IT CAN GO OUT AS IS.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	CALL PUTMAR (HYPHEN)

0017    	CALL PUTMAR (INBUF (1))

0018    	IF (DEBUG) TYPE 500, (MARBUF (I), I = 2, MARBUF (1) + 1)

0019    500	FORMAT (' ',90A1)

0020    	CALL OUTMAR

         

        C	NOW OUTPUT THE BLISS LINE

         

0021    	CALL EXCCMT (INBUF, 1)

0022    	CALL PUTBLI (INBUF (1))

0023    	IF (DEBUG) TYPE 500, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0024    	CALL OUTBLI

         

0025    	RETURN

0026    	END

FORTRAN IV-PLUS V02-51D		03:09:09    22-AUG-78		PAGE 26  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000324   106		RW,I,CON,LCL

  2	$PDATA	000004     2		RW,D,CON,LCL

  3	$IDATA	000026    11		RW,D,CON,LCL

  4	$VARS	000002     1		RW,D,CON,LCL

  5	$TEMPS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 OUTBCL	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 I	I*2   4-000000	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244

 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024

 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464

 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440

 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006	 TMPIN	L*2   6-000034

 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262

 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

FORTRAN IV-PLUS V02-51D		03:09:09    22-AUG-78		PAGE 27  

STRIOP.FOR   	/TR:BLOCKS/WR


 COMMAS	I*2   7-000304	000004     2	(2)

 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:09:09    22-AUG-78		PAGE 28  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABOPR	I*2   7-000712	000006     3	(3)

 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 500'	 3-000000





FUNCTIONS AND SUBROUTINES REFERENCED



 EXCCMT	 OUTBLI	 OUTMAR	 PUTBLI	 PUTMAR





TOTAL SPACE ALLOCATED = 007130  1836



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:09:24    22-AUG-78		PAGE 29  

STRIOP.FOR   	/TR:BLOCKS/WR


         

        C	REVISION HISTORY:

        C		22-03-77	CP	IF TMP FILE FLAG IS TRUE, OUTPUT

        C					COUNT AS NEGATIVE ALLOCATION.

         

0001    	SUBROUTINE OUTBLK (COUNT)

         

        C	OUTPUTS A DECLARATION OF BLOCK ALLOCATION TO THE

        C	TRANSLATED MARS FILE. THE ARGUMENT COUNT IS THE NUMBER

        C	OF BYTES TO ALLOCATE.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	INTEGER COUNT, LOCAL

         

0017    	IF (DEBUG) TYPE 500, COUNT

0018    500	FORMAT (' ALLOCATING ',I3,' BLOCKS')

0019    	LOCAL = COUNT / OUNSIZ

0020    	IF (COUNT .NE. OUNSIZ * LOCAL) GOTO 20

0021    	CALL NUMSTG (BYTSIZ, LOCAL)

0022    	GOTO 25

0023    20	CALL NUMSTG (BYTSIZ, COUNT)

0024    	OUNTYP (2) = 'B'

0025    25	CALL PUTMAR (TABSTG)

0026    	CALL PUTMAR (TABSTG)

0027    	CALL PUTMAR (DOTBLK)

0028    	CALL PUTMAR (OUNTYP)

0029    	CALL PUTMAR (TABSTG)

0030    	IF (TMPOUT) CALL PUTMAR (NEGSGN)

0031    	CALL PUTMAR (BYTSIZ)

0032    	CALL PUTMAR (SPCSTG)

0033    	IF (DEBUG) TYPE 510, (MARBUF (I), I = 2, MARBUF (1) + 1)

0034    510	FORMAT (' ',90A1)

0035    	CALL OUTMAR

0036    	IF (.NOT. TMPOUT) BLFOFS = BLFOFS + COUNT

0037    	RETURN

0038    	END

FORTRAN IV-PLUS V02-51D		03:09:24    22-AUG-78		PAGE 30  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000460   152		RW,I,CON,LCL

  3	$IDATA	000106    35		RW,D,CON,LCL

  4	$VARS	000004     2		RW,D,CON,LCL

  5	$TEMPS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 OUTBLK	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 COUNT	I*2   F-000002*	 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004

 ERR	I*2  13-000010	 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442

 FSIGN	I*2  10-000266	 FSIZ	I*2  10-000264	 I	I*2   4-000002	 INP	I*2  13-000000	 INPLIN	I*2  11-000246

 INPTR	I*2  11-000244	 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LOCAL	I*2   4-000000

 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024	 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156

 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464	 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030

 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440	 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002

 TMP	I*2  13-000006	 TMPIN	L*2   6-000034	 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012

 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262	 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

FORTRAN IV-PLUS V02-51D		03:09:24    22-AUG-78		PAGE 31  

STRIOP.FOR   	/TR:BLOCKS/WR


 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:09:24    22-AUG-78		PAGE 32  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 20	 1-000130	 25	 1-000166	 500'	 3-000000	 510'	 3-000032





FUNCTIONS AND SUBROUTINES REFERENCED



 NUMSTG	 OUTMAR	 PUTMAR





TOTAL SPACE ALLOCATED = 007342  1905



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:09:42    22-AUG-78		PAGE 33  

STRIOP.FOR   	/TR:BLOCKS/WR


         

        C	REVISION HISTORY:

        C		22-03-77	CP	IF OUTPUTTING TO TMP FILE, CALL TMPWRT

        C					INSTEAD OF OUTMAR AND OUTBLI.

         

0001    	SUBROUTINE OUT2LN

         

        C	THIS ROUTINE SIMPLY OUTPUTS A SINGLE LINE TO BOTH OUTPUT

        C	FILES. THE LINE IS IDENTICAL TO THE INPUT LINE IN THE MARS

        C	FILE, AND HAS SEMI-COLONS CHANGED TO EXCLAMATION POINTS

        C	IN THE BLISS FILE.

        C

        C	IF OUTPUTTING TO THE TMP FILE, JUST OUTPUT THE LINE ONCE.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	INTEGER I

         

        C	OUTPUT THE MARS LINE.

         

0017    	IF (TMPOUT) GOTO 20

0018    	CALL PUTMAR (INBUF)

0019    	CALL OUTMAR

0020    	IF (.NOT. ERROUT) GOTO 10

0021    	RETURN

         

        C	NOW THE BLISS LINE.

         

0022    10	I = 1

0023    	CALL EXCCMT (INBUF, I)

0024    	CALL PUTBLI (INBUF)

0025    	CALL OUTBLI

0026    	RETURN

         

0027    20	CALL TMPWRT

0028    	RETURN

         

0029    	END

FORTRAN IV-PLUS V02-51D		03:09:42    22-AUG-78		PAGE 34  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000146    51		RW,I,CON,LCL

  3	$IDATA	000014     6		RW,D,CON,LCL

  4	$VARS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 OUT2LN	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 I	I*2   4-000000	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244

 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024

 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464

 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440

 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006	 TMPIN	L*2   6-000034

 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262

 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

 CONBAS	I*2   7-000422	000024    10	(10)

FORTRAN IV-PLUS V02-51D		03:09:42    22-AUG-78		PAGE 35  

STRIOP.FOR   	/TR:BLOCKS/WR


 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

 TABPRN	I*2   7-000700	000012     5	(5)

FORTRAN IV-PLUS V02-51D		03:09:42    22-AUG-78		PAGE 36  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 10	 1-000060	 20	 1-000126





FUNCTIONS AND SUBROUTINES REFERENCED



 EXCCMT	 OUTBLI	 OUTMAR	 PUTBLI	 PUTMAR	 TMPWRT





TOTAL SPACE ALLOCATED = 006732  1773



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:09:55    22-AUG-78		PAGE 37  

STRIOP.FOR   	/TR:BLOCKS/WR


         

        C	REVISION HISTORY:

        C		23-03-77	CP	OUTPUT SUFNAM INSTEAD OF SUFDEF.

        C

        C		19-01-78	TC	OUTPUT SUFNAM AS A FINAL ARGUMENT

        C					TO DEFEND.

         

0001    	SUBROUTINE OUTSTE 

         

        C	FORMATS AND OUTPUTS THE END MACRO DEFINITIONS FOR A

        C	STRUCTURE TO MARS. THEN FORMATS AND OUTPUTS ONLY

        C	THE COMMENTS FROM THE LINE TO BLISS.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

        C	IF (DEBUG) TYPE 400

0016    400	FORMAT (' IN OUTSTE')

0017    	MARBUF (1) = 1

0018    	CALL OUTMAR

0019    	IF (.NOT. ERROUT) GOTO 5

0020    	RETURN

         

0021    5	CALL PUTMAR (DEFEND)

        C	IF (DEBUG) TYPE 410, (DEFEND (I), I = 2, DEFEND (1) + 1)

0022    410	FORMAT (' ',90A1)

0023    	CALL PUTMAR (PRENAM)

0024    	CALL PUTMAR (DOLGBL)

0025    	CALL PUTMAR (COMMAS)

0026    	CALL PUTMAR (SUFNAM)

0027    	INBUF (INPTR) = INBUF (1) - INPTR + 1

0028    	CALL PUTMAR (INBUF (INPTR))

        C	IF (DEBUG) TYPE 410, (MARBUF (I), I = 2, MARBUF (1) + 1)

0029    	CALL OUTMAR

0030    	IF (.NOT. ERROUT) GOTO 10

0031    	RETURN

         

0032    10	MARBUF (1) = 1

0033    	CALL OUTMAR

0034    	IF (.NOT. ERROUT) GOTO 20

0035    	RETURN

         

0036    20	CALL PUTMAR (ENDMAC)

        C	IF (DEBUG) TYPE 410, (ENDMAC (I), I = 2, ENDMAC (1) + 1)

0037    	CALL PUTMAR (PRENAM)

0038    	CALL PUTMAR (SUFNAM)

0039    	IF (DEBUG) TYPE 410, (MARBUF (I), I = 2, MARBUF (1) + 1)

0040    	CALL OUTMAR

0041    	IF (.NOT. ERROUT) GOTO 30

0042    	RETURN

         

0043    30	CALL EXCCMT (INBUF, INPTR)

0044    	CALL PUTBLI (INBUF (INPTR))

0045    	CALL OUTBLI

0046    	RETURN

0047    	END

FORTRAN IV-PLUS V02-51D		03:09:55    22-AUG-78		PAGE 38  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000512   165		RW,I,CON,LCL

  3	$IDATA	000052    21		RW,D,CON,LCL

  4	$VARS	000002     1		RW,D,CON,LCL

  5	$TEMPS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 OUTSTE	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 I	I*2   4-000000	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244

 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024

 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464

 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440

 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006	 TMPIN	L*2   6-000034

 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262

 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

FORTRAN IV-PLUS V02-51D		03:09:55    22-AUG-78		PAGE 39  

STRIOP.FOR   	/TR:BLOCKS/WR


 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:09:55    22-AUG-78		PAGE 40  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 5	 1-000050	 10	 1-000212	 20	 1-000246	 30	 1-000434	 400'	    **   

 410'	 3-000000





FUNCTIONS AND SUBROUTINES REFERENCED



 EXCCMT	 OUTBLI	 OUTMAR	 PUTBLI	 PUTMAR





TOTAL SPACE ALLOCATED = 007336  1903



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:10:13    22-AUG-78		PAGE 41  

STRIOP.FOR   	/TR:BLOCKS/WR


         

        C	REVISION HISTORY:

        C		23-03-77	CP	OUTPUT SUFNAM INSTEAD OF SUFDEF.

         

0001    	SUBROUTINE OUTSTR

         

        C	FORMATS THE MACRO DEFINITION OF A DATA STRUCTURE AND

        C	OUTPUTS IT TO THE MARS FILE. FORMATS AND OUTPUTS THE COMMENT

        C	PART OF THE LINE TO THE BLISS FILE.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

        C	FIRST OUTPUT THREE LINES FOR MARS

         

        C	IF (DEBUG) TYPE 400

0016    400	FORMAT (' IN OUTSTR')

0017    	CALL PUTMAR (DOTMAC)

        C	IF (DEBUG) TYPE 410, (DOTMAC (I), I = 2, DOTMAC (1) + 1)

0018    	INPTR = INPTR + 1

0019    410	FORMAT (' ',90A1)

0020    	CALL PUTMAR (PRENAM)

0021    	CALL PUTMAR (SUFNAM)

        C	IF (DEBUG) TYPE 410, (PRENAM (I), I = 2, PRENAM (1) + 1)

0022    	CALL PUTMAR (DOLGBL)

        C	IF (DEBUG) TYPE 410, (DOLGBL (I), I = 2, DOLGBL (1) + 1)

0023    	INBUF (INPTR) = INBUF (1) - INPTR + 1

0024    	CALL PUTMAR (INBUF (INPTR))

0025    	IF (DEBUG) TYPE 410, (MARBUF (I), I = 2, MARBUF (1) + 1)

0026    	CALL OUTMAR

0027    	IF (.NOT. ERROUT) GOTO 10

0028    	RETURN

         

0029    10	MARBUF (1) = 1

0030    	CALL OUTMAR

0031    	IF (.NOT. ERROUT) GOTO 20

0032    	RETURN

         

0033    20	CALL PUTMAR (DEFINI)

        C	IF (DEBUG) TYPE 410, (DEFINI (I), I = 2, DEFINI (1) + 1)

0034    	CALL PUTMAR (PRENAM)

0035    	CALL PUTMAR (DOLGBL)

        C	IF (DEBUG) TYPE 410, (MARBUF (I), I = 2, MARBUF (1) + 1)

0036    	CALL OUTMAR

0037    	IF (.NOT. ERROUT) GOTO 30

0038    	RETURN

         

0039    30	MARBUF (1) = 1

0040    	CALL OUTMAR

0041    	IF (.NOT. ERROUT) GOTO 40

0042    	RETURN

         

0043    40	CALL PUTBLI (EXCLSP)

0044    	CALL PUTBLI (PRENAM)

0045    	CALL PUTBLI (SUFNAM)

0046    	CALL PUTBLI (TABSTG)

0047    	CALL EXCCMT (INBUF, INPTR)

FORTRAN IV-PLUS V02-51D		03:10:13    22-AUG-78		PAGE 42  

STRIOP.FOR   	/TR:BLOCKS/WR


0048    	CALL PUTBLI (INBUF (INPTR))

0049    	IF (DEBUG) TYPE 410, (BLIBUF (I), I = 2, BLIBUF (1) + 1)

0050    	CALL OUTBLI

0051    	RETURN

0052    	END

FORTRAN IV-PLUS V02-51D		03:10:13    22-AUG-78		PAGE 43  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000656   215		RW,I,CON,LCL

  3	$IDATA	000056    23		RW,D,CON,LCL

  4	$VARS	000002     1		RW,D,CON,LCL

  5	$TEMPS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 OUTSTR	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 I	I*2   4-000000	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244

 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024

 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464

 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440

 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006	 TMPIN	L*2   6-000034

 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262

 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

FORTRAN IV-PLUS V02-51D		03:10:13    22-AUG-78		PAGE 44  

STRIOP.FOR   	/TR:BLOCKS/WR


 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:10:13    22-AUG-78		PAGE 45  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 10	 1-000262	 20	 1-000316	 30	 1-000374	 40	 1-000430	 400'	    **   

 410'	 3-000000





FUNCTIONS AND SUBROUTINES REFERENCED



 EXCCMT	 OUTBLI	 OUTMAR	 PUTBLI	 PUTMAR





TOTAL SPACE ALLOCATED = 007506  1955



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:10:33    22-AUG-78		PAGE 46  

STRIOP.FOR   	/TR:BLOCKS/WR


         

0001    	SUBROUTINE OUTCNL

         

        C	OUTPUTS THE CLOSING OF A CONSTANT NAME DEFINITION LIST

        C	AND THE BEGINNING OF ANOTHER NAMED THE SAME AS THE LAST ONE.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	IF (DEBUG) TYPE 300

0017    300	FORMAT (' CONSTANT LIST REPEAT')

         

0018    	CALL PUTMAR (TABSTG)

0019    	CALL PUTMAR (TABRAN)

0020    	CALL OUTMAR

         

0021    	CALL PUTMAR (EQULST)

0022    	CALL PUTMAR (CONPRE)

0023    	CALL PUTMAR (CONTAG)

0024    	CALL PUTMAR (DOLGBL)

0025    	CALL PUTMAR (COMMAS)

0026    	CALL PUTMAR (COMMAS)

0027    	CALL PUTMAR (MRINCR)

0028    	CALL PUTMAR (COMMAS)

0029    	CALL PUTMAR (LANHYP)

0030    	CALL OUTMAR

         

0031    	RETURN

0032    	END

FORTRAN IV-PLUS V02-51D		03:10:33    22-AUG-78		PAGE 47  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000222    73		RW,I,CON,LCL

  3	$IDATA	000076    31		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 OUTCNL	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244	 LASLIN	I*2  10-002434

 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024	 MAR	I*2  13-000004

 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464	 OFSIZ	I*2  10-001456

 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440	 STGEQL	L*2   6-000004

 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006	 TMPIN	L*2   6-000034	 TMPOUT	L*2   6-000032

 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262	 VMASK	L*2   6-000012

 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

 CONBAS	I*2   7-000422	000024    10	(10)

 CONINC	I*2   7-000446	000024    10	(10)

FORTRAN IV-PLUS V02-51D		03:10:33    22-AUG-78		PAGE 48  

STRIOP.FOR   	/TR:BLOCKS/WR


 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

 TABPRN	I*2   7-000700	000012     5	(5)

 TABRAN	I*2   7-000254	000006     3	(3)

FORTRAN IV-PLUS V02-51D		03:10:33    22-AUG-78		PAGE 49  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





LABELS



 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	 LABEL   ADDRESS 	



 300'	 3-000000





FUNCTIONS AND SUBROUTINES REFERENCED



 OUTMAR	 PUTMAR





TOTAL SPACE ALLOCATED = 007066  1819



NO FPP INSTRUCTIONS GENERATED

FORTRAN IV-PLUS V02-51D		03:10:47    22-AUG-78		PAGE 50  

STRIOP.FOR   	/TR:BLOCKS/WR


         

0001    	SUBROUTINE TMPWRT

         

        C	THIS IS A NEW ROUTINE FOR VERSION 1.3.

        C

        C	IT OUTPUTS A LINE FROM THE SOURCE FILE TO THE TMP FILE.

        C	THE LINE IS IDENTICAL TO THE SOURCE LINE, EXCEPT THAT

        C	A LEADING MINUS HAS BEEN CHANGED TO A PLUS IN

        C	THE CASE THAT THE LINE IS A FIELD DEFINITION.

         

0002    	INCLUDE 'SRC$:MDL.CMN/NOLIST'

         

0016    	WRITE (TMP) INBUF (1), (INBUF (I), I = 2, INBUF (1) + 1)

0017    	RETURN

0018    	END

FORTRAN IV-PLUS V02-51D		03:10:47    22-AUG-78		PAGE 51  

STRIOP.FOR   	/TR:BLOCKS/WR


PROGRAM SECTIONS



NUMBER	 NAME	    SIZE		ATTRIBUTES



  1	$CODE1	000114    38		RW,I,CON,LCL

  4	$VARS	000002     1		RW,D,CON,LCL

  5	$TEMPS	000002     1		RW,D,CON,LCL

  6	LOG	000036    15		RW,D,OVR,GBL

  7	STGS	001064   282		RW,D,OVR,GBL

  8	MORSTG	000004     2		RW,D,OVR,GBL

  9	CHECKS	000002     1		RW,D,OVR,GBL

 10	PARSE	004160  1080		RW,D,OVR,GBL

 11	FILES	001214   326		RW,D,OVR,GBL

 12	SPCHR	000006     3		RW,D,OVR,GBL

 13	LUNS	000014     6		RW,D,OVR,GBL





ENTRY POINTS



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 TMPWRT	      1-000000





VARIABLES



 NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS    NAME   TYPE  ADDRESS   



 BLANK	I*2  12-000000	 BLBITS	I*2  10-001022	 BLFOFS	I*2  10-001462	 BLI	I*2  13-000002	 BLIPTR	I*2  11-001212

 BLKOUT	L*2   6-000022	 BOFSET	I*2  10-000452	 CBASE	I*2  10-000554	 CINCR	I*2  10-000556	 CONEXP	L*2   6-000026

 DEBUG	I*2   9-000000	 ENDEXP	L*2   6-000024	 ENDFIL	L*2   6-000000	 EOLCH	I*2  12-000004	 ERR	I*2  13-000010

 ERROR	L*2   6-000002	 ERROUT	L*2   6-000016	 FLDLAS	L*2   6-000020	 FOFSET	I*2  10-000442	 FSIGN	I*2  10-000266

 FSIZ	I*2  10-000264	 I	I*2   4-000000	 INP	I*2  13-000000	 INPLIN	I*2  11-000246	 INPTR	I*2  11-000244

 LASLIN	I*2  10-002434	 LFDSIZ	I*2  10-001026	 LINTYP	I*2  10-000446	 LPTR	I*2  10-001030	 LSBSIZ	I*2  10-001024

 MAR	I*2  13-000004	 MARPTR	I*2  11-000630	 MNGCNT	I*2  10-004156	 NEGCNT	I*2  10-004154	 OBBITS	I*2  10-001464

 OFSIZ	I*2  10-001456	 OUNSIZ	I*2  10-001460	 POSOFF	L*2   6-000030	 SMASK	L*2   6-000014	 SOFSET	I*2  10-000440

 STGEQL	L*2   6-000004	 STROK	L*2   6-000006	 TAB	I*2  12-000002	 TMP	I*2  13-000006	 TMPIN	L*2   6-000034

 TMPOUT	L*2   6-000032	 TOKTYP	I*2  10-000120	 TTY	I*2  13-000012	 UNDOK	L*2   6-000010	 UNISIZ	I*2  10-000262

 VMASK	L*2   6-000012	 VOFSET	I*2  10-000444	 VSIZ	I*2  10-000450





ARRAYS



 NAME   TYPE  ADDRESS	    SIZE 	DIMENSIONS



 AMASK	I*2   7-000332	000004     2	(2)

 ASIGN	I*2   7-000626	000004     2	(2)

 BLBASE	I*2  10-002436	000242    81	(81)

 BLIBUF	I*2  11-000632	000360   120	(120)

 BLINCR	I*2  10-003142	000242    81	(81)

 BLSSIZ	I*2   7-000576	000024    10	(10)

 BVALUE	I*2  10-001730	000242    81	(81)

 BYTSIZ	I*2   7-000352	000024    10	(10)

 COMGBL	I*2   7-000664	000014     6	(6)

 COMMAS	I*2   7-000304	000004     2	(2)

 CONBAS	I*2   7-000422	000024    10	(10)

FORTRAN IV-PLUS V02-51D		03:10:47    22-AUG-78		PAGE 52  

STRIOP.FOR   	/TR:BLOCKS/WR


 CONINC	I*2   7-000446	000024    10	(10)

 CONPRE	I*2  10-000454	000040    16	(16)

 CONTAG	I*2  10-000514	000040    16	(16)

 CONTEX	I*2  10-003646	000306    99	(9,11)

 CPAREN	I*2   7-000726	000004     2	(2)

 CPRCOM	I*2   7-000720	000006     3	(3)

 CVALUE	I*2  10-000560	000242    81	(81)

 DEFEND	I*2   7-000114	000024    10	(10)

 DEFINI	I*2   7-000042	000024    10	(10)

 DOLBIT	I*2   7-000736	000032    13	(13)

 DOLBYT	I*2   7-000770	000034    14	(14)

 DOLDEF	I*2   7-000066	000014     6	(6)

 DOLFLD	I*2   7-001024	000030    12	(12)

 DOLGBL	I*2   7-000026	000014     6	(6)

 DOLVLD	I*2   7-000220	000022     9	(9)

 DOTBLK	I*2   7-000336	000014     6	(6)

 DOTEQS	I*2   7-000102	000012     5	(5)

 DOTMAC	I*2   7-000000	000026    11	(11)

 ENDMAC	I*2   7-000140	000022     9	(9)

 EQULST	I*2   7-000262	000022     9	(9)

 EQUTAB	I*2   7-000402	000014     6	(6)

 EXCLSP	I*2   7-000176	000016     7	(7)

 EXPCLO	I*2   7-001060	000004     2	(2)

 EXPOPN	I*2   7-001054	000004     2	(2)

 FLDNAM	I*2  10-000270	000110    36	(36)

 HYPHEN	I*2   7-000660	000004     2	(2)

 INBUF	I*2  11-000000	000244    82	(82)

 LANHYP	I*2   7-000310	000006     3	(3)

 LITTAB	I*2   7-000472	000022     9	(9)

 MACTAB	I*2   7-000532	000020     8	(8)

 MARBUF	I*2  11-000250	000360   120	(120)

 MRBASE	I*2  10-002700	000242    81	(81)

 MRINCR	I*2  10-003404	000242    81	(81)

 MVALUE	I*2  10-001466	000242    81	(81)

 NEGSGN	I*2   8-000000	000004     2	(2)

 OASIGN	I*2   7-000732	000004     2	(2)

 OFFSET	I*2   7-000552	000024    10	(10)

 ONESHF	I*2   7-000642	000006     3	(3)

 OPAREN	I*2   7-000416	000004     2	(2)

 OSBNAM	I*2  10-001316	000040    16	(16)

 OTGNAM	I*2  10-001356	000040    16	(16)

 OUNTYP	I*2  10-001416	000040    16	(16)

 PCTSEM	I*2   7-000632	000010     4	(4)

 PRENAM	I*2  10-000122	000040    16	(16)

 RANHYP	I*2   7-000324	000006     3	(3)

 RSTLIN	I*2  10-001032	000264    90	(90)

 SEMSPC	I*2   7-000524	000006     3	(3)

 SPCSTG	I*2   7-000376	000004     2	(2)

 SPHYSP	I*2   7-000650	000010     4	(4)

 STRSTG	I*2  10-000222	000040    16	(16)

 SUFDEF	I*2   7-000162	000010     4	(4)

 SUFNAM	I*2  10-000162	000040    16	(16)

 TABEQS	I*2   7-000514	000010     4	(4)

 TABLAN	I*2   7-000316	000006     3	(3)

 TABOPR	I*2   7-000712	000006     3	(3)

 TABPRN	I*2   7-000700	000012     5	(5)

FORTRAN IV-PLUS V02-51D		03:10:47    22-AUG-78		PAGE 53  

STRIOP.FOR   	/TR:BLOCKS/WR


 TABRAN	I*2   7-000254	000006     3	(3)

 TABSTG	I*2   7-000214	000004     2	(2)

 TAGNAM	I*2  10-000400	000040    16	(16)

 TMPVAL	I*2  10-002172	000242    81	(81)

 TOKSTG	I*2  10-000000	000120    40	(40)

 UNITYP	I*2   7-000172	000004     2	(2)

 ZEROSG	I*2   7-000622	000004     2	(2)

 ZRLAHY	I*2   7-000242	000012     5	(5)





TOTAL SPACE ALLOCATED = 006666  1755



NO FPP INSTRUCTIONS GENERATED



OBJ$:STRIOP,LIS$:STRIOP/-SP=SRC$:STRIOP.FOR

