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