Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/parsfn.list
There are no other files named parsfn.list in the archive.
PARSFN	MACRO M1110  13-OCT-79 10:58  PAGE 3


      1					.TITLE	PARSFN
      2					.IDENT	/V01.00/
      3					;
      4					; COPYRIGHT (C) 1978 BY
      5					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      6					;
      7					;
      8					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
      9					; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
     10					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
     11					; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
     12					; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
     13					; TRANSFERRED.
     14					;
     15					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
     16					; AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
     17					; CORPORATION.
     18					;
     19					; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
     20					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
     21					;
     22					;
     23					; MODULE DESCRIPTION:
     24					;
     25					;   NCU UTILITY MODULE TO PARSE A FILENAME INTO A DATASET DESCRIPTOR
     26					;
     27					;
     28					; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
     29					;
     30					; IDENT HISTORY:
     31					;
     32					; 1.00	10-FEB-78
     33					;	VERSION 2.0 RELEASE
     34					;
PARSFN	MACRO M1110  13-OCT-79 10:58  PAGE 4


     36					;
     37					;======================================================================;
     38					;++
     39					;          +-------------------------------------------------+
     40					;          I                                                 I
     41					;          I                   P A R S F N                   I
     42					;          I                   - - - - - -                   I
     43					;          I                                                 I
     44					;          +-------------------------------------------------+
     45					;
     46					; FUNCTION:
     47					;
     48					;   UTILITY MODULE TO PARSE A FILENAME INTO A DATASET DESCRIPTOR
     49					;
     50					; CALLING SEQUENCE:  CALL PARSFN
     51					;
     52					; INPUT:
     53					;
     54					;   R0 - ADDRESS OF FILENAME STRING
     55					;   R1 - LENGTH OF FILENAME, IN BYTES
     56					;   R2 - ADDRESS OF 6 WORD DATASET DESCRIPTOR AREA
     57					;
     58					; OUTPUT:
     59					;
     60					;   C-BIT - CLEAR IF SUCCESS, SET IF NOT
     61					;   R0,R1,R2 - DESTROYED
     62					;   @R2 - STANDARD DATASET DESCRIPTOR
     63					;
     64					; NOTES:
     65					;
     66					;   THIS IS A VERY SIMPLE MINDED PARSE.  REAL ERROR DETECTION IS LEFT
     67					;   UP TO THE OPEN ROUTINE.
     68					;
     69					;--
     70					;======================================================================;
     71					;
     72					;
     73					; EXTERNAL MACROS
     74					;
     75					.MCALL	PROC,SAVSTK,RESSTK
PARSFN	MACRO M1110  13-OCT-79 10:58  PAGE 5


     77					;
     78					; PROCEDURE BODY
     79					;
     80	000000				PROC	PARSFN
     81	000000				SAVSTK  <R3,R4>			;SAVE REGISTERS
     82	000004	010003 			MOV     R0,R3			;SAVE ORIGINAL SOURCE ADDRESS
     83	000006	010104 			MOV     R1,R4			;SAVE ORIGINAL COUNT
     84	000010				WHILE ; CHARACTERS LEFT AND NEXT CHARACTER <> ':'
     85	000010				FALSE   LE R1
     86	000014				FALSEB  EQ #':,(R0)+
     87	000022				DO
     88	000022	005301 			  DEC     R1			;DECREMENT COUNT
     89	000024				ENDWHILE
     90	000026				IF ; NO CHARACTERS LEFT
     91	000026				FALSE   GT R1
     92	000032				THEN
     93	000032	005022 			  CLR     (R2)+			;ZERO DEVICE ENTRY
     94	000034	005022 			  CLR     (R2)+
     95	000036	010300 			  MOV     R3,R0			;RESTORE ORIGINAL SOURCE ADDRESS
     96	000040	010401 			  MOV     R4,R1			;RESTORE ORIGINAL COUNT
     97	000042				ELSE
     98	000044	010412 			  MOV     R4,(R2)		;SET ORIGINAL COUNT
     99	000046	005301 			  DEC     R1			;COUNT PAST THE COLON
    100	000050	160122 			  SUB     R1,(R2)+		;DECREASE COUNT BY REMAINING COUNT
    101	000052	010322 			  MOV     R3,(R2)+		;SET ADDRESS OF DEVICE
    102	000054	010003 			  MOV     R0,R3			;SAVE NEW SOURCE ADDRESS
    103	000056	010104 			  MOV     R1,R4			;SAVE NEW COUNT
    104	000060				ENDIF
    105	000060				IF ; NEXT CHARACTER <> '['
    106	000060				FALSEB  EQ #'[,(R0)
    107	000066				THEN
    108	000066	005022 			  CLR     (R2)+			;ZERO UIC ENTRY
    109	000070	005022 			  CLR     (R2)+
    110	000072	000241 			  CLC				;SET SUCCESS
    111	000074				ELSE
    112	000076				  WHILE ; CHARACTERS LEFT AND NEXT CHARACTER <> ']'
    113	000076				  FALSE   LE R1
    114	000102				  FALSEB  EQ #'],(R0)+
    115	000110				  DO
    116	000110	005301 			    DEC     R1			;DECREMENT COUNT REMAINING
    117	000112				  ENDWHILE
    118	000114				  IF ; ALL CHARACTERS SCANNED
    119	000114				  FALSE   GT R1
    120	000120				  THEN
    121	000120	000261 			    SEC				;SET FAILURE
    122	000122				  ELSE
    123	000124	010412 			    MOV     R4,(R2)		;SET OLD REMAINING COUNT
    124	000126	005301 			    DEC     R1			;UPDATE COUNT TO INCLUDE RIGHT BRACKET
    125	000130	160122 			    SUB     R1,(R2)+		;COMPUTE LENGTH OF UIC
    126	000132	010322 			    MOV     R3,(R2)+		;SET ADDRESS OF UIC
    127	000134	000241 			    CLC				;SET SUCCESS
    128	000136				  ENDIF
    129	000136				ENDIF
    130	000136				IF ; SUCCESS SO FAR
    131	000136				FALSE   CS
    132	000140				THEN
    133	000140	010122 			  MOV     R1,(R2)+		;SET LENGTH OF NAME
PARSFN	MACRO M1110  13-OCT-79 10:58  PAGE 5-1


    134	000142	010022 			  MOV     R0,(R2)+		;SET ADDRESS OF NAME
    135	000144				ENDIF
    136	000144				RESSTK  <R4,R3>			;RESTORE REGISTERS
    137	000150				ENDPROC
    138		000001 			.END
PARSFN	MACRO M1110  13-OCT-79 10:58  PAGE 5-2
SYMBOL TABLE

A$$CHK= 000000   	FS$PAS= 000001   	F$OPCO= 000000   	F$TRIG= 000001   	M$$CRB= 000124
A$$CPS= 000000   	FT$CNS= 000000   	F$OPIN= 000000   	F$TRIN= 000000   	M$$CRX= 000000
A$$TRP= 000000   	FT$NOD= 000001   	F$OPIR= 000000   	F$TRMA= 000000   	M$$FCS= 000000
C$$CKP= 000000   	FT$TSK= 000001   	F$OPLK= 000005   	F$TRMS= 000002   	M$$OVR= 000000
C$$ORE= 000400   	F$ALBF= 000001   	F$OPLN= 000002   	F$WRBK= 000000   	NO    = 000000
C$$RSH= 177564   	F$ALCB= 000001   	F$OPLO= 000000   	F$WRCL= 000001   	N$$USR= 000001
D$$BUG= 177514   	F$CB  = 000017   	F$OPOR= 000000   	F$WRCM= 000000   	PARSFN  000000RG
D$$ISK= 000000   	F$CLCL= 000001   	F$OPOT= 000000   	F$WRRC= 000000   	P$$P45= 000000
D$$L11= 000001   	F$CLCO= 000000   	F$ORLU= 000000   	F$ZERO= 000001   	R$$DER= 000000
FL$BOO= 000001   	F$CLFL= 000000   	F$OTLU= 000001   	F$ZRCN= 000001   	R$$K11= 000001
FL$DUM= 000001   	F$CLLK= 000006   	F$RCBK= 000002   	F$$LVL= 000001   	R$$SND= 000000
FL$LOA= 000001   	F$CLLN= 000002   	F$RCEV= 000001   	F$150 = 000002   	R$$11M= 000000
FL$LOO= 000001   	F$DPOS= 000001   	F$RCIN= 000000   	F$300 = 000012   	S$$WRG= 000000
FR$LCC= 000001   	F$DUMP= 000000   	F$RCMA= 000000   	F$50  = 000002   	S$$YSZ= 001600
FR$LCS= 000001   	F$EVNT= 000001   	F$RCMS= 000002   	F$550 = 000002   	T$$KMG= 000000
FR$LNC= 000001   	F$EXAM= 000001   	F$RDBK= 000000   	G$$TPP= 000000   	T$$MIN= 000000
FR$LNL= 000001   	F$EXHO= 000000   	F$RDCM= 000000   	G$$TSS= 000000   	V$$CTR= 001000
FR$LNS= 000001   	F$GTCM= 000001   	F$RDIN= 000001   	G$$TTK= 000000   	X$$DBT= 000000
FR$RMC= 000001   	F$INCM= 000000   	F$RDIS= 000012   	I$$RAR= 000000   	YES   = 000001
FR$RML= 000001   	F$INLU= 000001   	F$RDRC= 000000   	I$$RDN= 000000   	$$CSTA= 000000
FR$RMS= 000001   	F$IRLU= 000000   	F$RECO= 000001   	K$$CNT= 177546   	$$PRST= 000015
FS$HOS= 000001   	F$LKLU= 000010   	F$RLBF= 000001   	K$$CSR= 177546   	$$STIX= 000777
FS$INT= 000000   	F$LNLU= 000002   	F$RLCB= 000001   	K$$LDC= 000000   	$$STNM= 000000
FS$LLP= 000001   	F$LNSR= 000001   	F$STBK= 000000   	K$$TPS= 000074   	$$S774= 000011
FS$LOF= 000001   	F$LOAD= 000000   	F$STPR= 000001   	LD$LP = 000000   	$$S775= 000012
FS$LOG= 000001   	F$LOGD= 000001   	F$STPS= 000006   	L$$ASG= 000000   	$$S776= 000000
FS$LST= 000001   	F$LOOP= 000001   	F$TEST= 000001   	L$$DRV= 000000   	$$S777= 000000
FS$NET= 000001   	F$NTCM= 000000   	F$TRAC= 000000   	L$$P11= 000001   	$$TRNM= 000000
FS$NST= 000000   	F$OPCL= 000001   	F$TRBK= 000001   	L$$11R= 000000

. ABS.	000000	   000
      	000152	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  8287 WORDS  ( 33 PAGES)
DYNAMIC MEMORY:  9004 WORDS  ( 34 PAGES)
ELAPSED TIME:  00:00:33
PARSFN,[135,30]PARSFN/CR/-SP=[130,10]NETLIB/ML,[135,10]CFGNIC/PA:1,PARSFN
PARSFN     CREATED BY  MACRO  ON 13-OCT-79 AT 10:59	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

F$TRAC	= 000000	 5-80       5-80       5-137      5-137     
I$$AS 	= ******	 5-80      
PARSFN	  000000 RG	#5-80      
R$$11D	= ******	 5-80      
R$$11M	= 000000	 5-80      
$$CSTA	= 000000	#5-80      
$$PRST	= 000015	#5-80      *5-84      #5-84       5-90      #5-90       5-105     #5-105      5-112     #5-112     
                         5-118     #5-118      5-130     #5-130     
$$SLST	= ******	 5-80       5-84       5-85       5-85       5-86       5-86       5-87       5-89       5-89      
                         5-91       5-91       5-92       5-97       5-97       5-104      5-106      5-106      5-107     
                         5-111      5-111      5-112      5-113      5-113      5-114      5-114      5-115      5-117     
                         5-117      5-119      5-119      5-120      5-122      5-122      5-128      5-129      5-131     
                         5-132      5-135      5-137     
$$STIX	= 000777	#5-80      *5-84      *5-84      #5-84      *5-84      *5-84      #5-84       5-89      #5-89      
                         5-89       5-89      #5-89       5-89       5-90       5-90      #5-90       5-90       5-90      
                        #5-90       5-104     #5-104      5-104      5-104     #5-104      5-104      5-105      5-105     
                        #5-105      5-105      5-105     #5-105      5-112      5-112     #5-112      5-112      5-112     
                        #5-112      5-117     #5-117      5-117      5-117     #5-117      5-117      5-118      5-118     
                        #5-118      5-118      5-118     #5-118      5-128     #5-128      5-128      5-128     #5-128     
                         5-128      5-129     #5-129      5-129      5-129     #5-129      5-129      5-130      5-130     
                        #5-130      5-130      5-130     #5-130      5-135     #5-135      5-135      5-135     #5-135     
                         5-135     
$$STNM	= 000000	#5-80      *5-84      #5-84      *5-84      *5-84       5-85       5-86       5-87       5-89      
                         5-89      #5-89       5-90      #5-90       5-90       5-91       5-92      *5-97       5-97      
                        *5-104     #5-104      5-105     #5-105      5-105      5-106      5-107      5-111      5-111     
                         5-112     #5-112      5-112      5-112      5-113      5-114      5-115      5-117      5-117     
                        #5-117      5-118     #5-118      5-118      5-119      5-120      5-122      5-122      5-128     
                        #5-128      5-129     #5-129      5-130     #5-130      5-130      5-131      5-132     *5-135     
                        #5-135     
$$S774	= 000011	#5-112      5-117     #5-118      5-128     
$$S775	= 000012	#5-112      5-117     #5-118      5-128     
$$S776	= 000000	#5-84       5-89      #5-90       5-104     #5-105      5-129     #5-130      5-135     
$$S777	= 000000	#5-84       5-89      #5-90       5-104     #5-105      5-129     #5-130      5-135     
$$TRNM	= 000000	#5-80      *5-84      #5-84       5-85       5-86       5-87       5-89      #5-89       5-90      
                        #5-90       5-91       5-92       5-97      #5-97      *5-104     #5-104      5-105     #5-105     
                         5-106      5-107      5-111     #5-111      5-112     #5-112      5-113      5-114      5-115     
                         5-117     #5-117      5-118     #5-118      5-119      5-120      5-122     #5-122      5-128     
                        #5-128      5-129     #5-129      5-130     #5-130      5-131      5-132     *5-135     #5-135     
PARSFN     CREATED BY  MACRO  ON 13-OCT-79 AT 10:59	PAGE 2

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

CASE  		#5-80      
DO    		#5-80      #5-87      #5-115     
ELSE  		#5-80      #5-97      #5-111     #5-122     
ENDCAS		#5-80      
ENDIF 		#5-80       5-89       5-104      5-117      5-128      5-129      5-135     
ENDPRO		#5-80       5-137     
ENDWHI		#5-80       5-89       5-117     
FALSE 		#5-80      #5-85      #5-91      #5-113     #5-119     #5-131     
FALSEB		#5-80       5-86       5-106      5-114     
IF    		#5-80       5-84       5-90       5-105      5-112      5-118      5-130     
JMPPRO		#5-80      
ONCASE		#5-80      
PROC  		#4-75       5-80      
PROCLC		#5-80      
RESSTK		#4-75       5-136     
SAVSTK		#4-75       5-81      
SWSTK$		#5-80      
THEN  		#5-80       5-87       5-92       5-107      5-115      5-120      5-132     
TRUE  		#5-80      
TRUEB 		#5-80      
WHILE 		#5-80      #5-84      #5-112     
$$BGND		#5-80      #5-85      #5-86      #5-91      #5-106     #5-113     #5-114     #5-119     #5-131     
$$BGNN		#5-80      #5-85      #5-86      #5-89      #5-91      #5-97      #5-106     #5-111     #5-113     #5-114     
                #5-117     #5-119     #5-122     #5-131     
$$ELSE		#5-80       5-97       5-111      5-122     
$$GEN1		#5-80      #5-80      #5-84      #5-85      #5-85      #5-86      #5-87      #5-89      #5-89      #5-91      
                #5-91      #5-92      #5-97      #5-97      #5-104     #5-106     #5-107     #5-111     #5-111     #5-112     
                #5-113     #5-113     #5-114     #5-115     #5-117     #5-117     #5-119     #5-119     #5-120     #5-122     
                #5-122     #5-128     #5-129     #5-131     #5-132     #5-135     #5-137     
$$GEN2		#5-80      #5-86      #5-106     #5-114     
$$GNAB		#5-80       5-85       5-86       5-91       5-106      5-113      5-114      5-119      5-131     
$$GNBT		#5-80      
$$GNCM		#5-80      #5-85      #5-86      #5-91      #5-106     #5-113     #5-114     #5-119     #5-131     
$$INMC		#5-80       5-80      
$$INSY		#5-80       5-80      
$$LAB 		#5-80       5-84       5-87       5-89       5-92       5-97       5-104      5-107      5-111      5-112     
                 5-115      5-117      5-120      5-122      5-128      5-129      5-132      5-135     
$$POP 		#5-80       5-89       5-89       5-104      5-104      5-117      5-117      5-128      5-128      5-129     
                 5-129      5-135      5-135     
$$POPI		#5-80       5-89       5-89       5-104      5-104      5-117      5-117      5-128      5-128      5-129     
                 5-129      5-135      5-135     
$$PUSH		#5-80       5-84       5-84       5-90       5-90       5-105      5-105      5-112      5-112      5-118     
                 5-118      5-130      5-130     
$$STSM		#5-80      #5-84      #5-84      #5-90      #5-90      #5-105     #5-105     #5-112     #5-112     #5-118     
                #5-118     #5-130     #5-130     
$$SYS 		#5-80      
$$TRCE		#5-80       5-80       5-137