e644fc8996ea4e86f5f86f9ff868f080bf60e77b
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / cclat.ma
1 /
2 /
3 /
4 /COPYRIGHT (C) 1979 BY DIGITAL EQUIPMENT CORPORATION
5 /
6 /
7 /
8 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
9 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
10 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
11 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
12 /
13 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
14 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
15 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
16 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
17 /
18 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
19 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
20 /DIGITAL.
21 /
22 /
23 /
24
25 \f
26 /VERSION=V3A (D.H.)
27 \f/2 CCL INDIRECT COMMAND FILE PROCESSOR
28
29 .GLOBAL AT,FUDG,DONB
30
31 .EXTERNAL BEGLN,GETSPC,ASSIGN,SETEXT,EXTCM
32 .GLOBAL SAVL
33 .EXTERNAL DEFALT,LOOKUP,ASADR,LNAME
34 .EXTERNAL PRMESG,MOVE
35 .EXTERNAL OUTSW,OUTLIM
36
37 XR=16
38 CLXR=35
39 T=20
40 LXR=34
41 BFR=3000
42
43 .RSECT AT1
44 FIELD 1
45
46 AT, 0
47 ATMORE, TAD (BEGLN-1
48 DCA LXR
49 ATLOOP, JMS I (GLXR
50 SNA
51 JMP I AT
52 TAD (-300
53 SZA CLA
54 JMP ATLOOP
55 TAD LXR
56 DCA I (SAVL
57 JMS FUDG
58 JMS I (GETSPC
59 JMS I (ASSIGN
60 DCA I (SETEXT
61 TAD (EXTCM
62 DCA I (DEFALT
63 JMS I (LOOKUP
64 SZA CLA /V3C
65 TAD I (ASADR
66 SNA
67 JMP I (ATERR /IF NO FILESPEC AFTER @, ERROR
68 DCA T
69 TAD I (LNAME /GET BLOCK NUMBER
70 DCA BLN
71 CIF 0
72 JMS I T
73 200 /READ 2 PAGES
74 NWB, BFR+200 /INTO BUFFER
75 COUNT,
76 BLN, 0 /FROM THIS BLOCK
77 JMP I (ATERR / I/O ERROR
78 TAD (-200
79 DCA COUNT
80 TAD (BFR-1
81 DCA XR
82 TAD NWB
83 DCA T
84 CDF 0
85 L$: TAD I T
86 JMS I (P
87 CLL RTR
88 RTR
89 DCA TEMP$
90 ISZ T
91 TAD I T
92 JMS I (P
93 CLL RTL
94 RTL
95 RAL
96 TAD TEMP$
97 JMS I (P
98 CLA
99 ISZ T
100 ISZ COUNT
101 JMP L$
102 JMP I (ATOVER
103
104 TEMP$: 0
105
106 /ATFIN, TAD LXR
107 / TAD (-BEGLN
108 / SZA CLA
109 / JMP I AT /LEAVE
110 / JMP I (LEAVE /LEAVE BECAUSE LINE NOW EMPTY
111 \fFUDG, 0
112 DCA I (OUTSW /LOAD HANDLER
113 TAD I (OUTLIM
114 CIA
115 DCA CLXR
116 JMP I FUDG
117
118 GLXR, 0
119 CDF 0
120 ISZ LXR
121 TAD I LXR
122 CDF 10
123 JMP I GLXR
124
125 DONB, 0 /USED AS A FLAG
126 JMP I DONB
127 PAGE
128 \fP, 0
129 AND (177
130 SNA
131 JMP CTZ /END AT 0 OR ^Z
132 TAD (-32
133 SNA
134 JMP CTZ
135 TAD (32-16 /IGNORE CR,LF,FF,VT
136 CLL
137 TAD (16-12
138 SZL
139 JMP 1$
140 TAD (212 /FORCE 8-BIT
141 DCA I XR
142 1$: CLA
143 TAD I T
144 AND (7400
145 JMP I P
146 \fCTZ, CDF 10
147 TAD LXR
148 DCA ATEND
149 STA
150 TAD LXR
151 DCA LXR /INCASE @ GOES TO EOL
152 JMS I (GLXR /SEARCH FOR EOL
153 SZA CLA
154 JMP .-2
155 TAD LXR
156 CMA
157 TAD ATEND
158 DCA ENDLEN
159 TAD XR
160 CMA
161 TAD (BFR /GET LENGTH OF INSERTED STUFF
162 DCA NEWLEN
163 CDF 0
164 TAD I ATEND /GET NEXT CHAR AFTER FILESPEC
165 CDF 10 /V3C
166 TAD (-"'
167 SZA CLA /IS IT AN APOSTROPHE?
168 JMP .+3 /NO
169 ISZ ENDLEN /YES
170 ISZ ATEND /MAKE IT GO AWAY
171 TAD ENDLEN
172 JMS I (MOVE /MOVE REST OF LINE UP
173 CDF 0
174 ATEND, 0 /FIRST CHAR POSITION AFTER @ SPEC
175 CDF 0
176 BEGLN+1000
177 TAD NEWLEN /IF 0, 'MOVE' WILL IGNORE IT
178 JMS I (MOVE /MOVE IN NEW STUFF
179 CDF 0
180 BFR
181 CDF 0
182 SAVL, 0 /POINTS TO @
183 TAD NEWLEN
184 CIA
185 TAD SAVL
186 DCA NEWEND
187 CLL
188 TAD NEWEND
189 TAD MB
190 SZL CLA
191 JMP ATOVER
192 TAD ENDLEN
193 JMS I (MOVE /MOVE BACK END
194 CDF 0
195 BEGLN+1000
196 CDF 0
197 NEWEND, 0 /FIRST POSITION AFTER NEW STUFF
198 JMP I (ATMORE /LOOK FOR MORE
199
200 MB, -BEGLN-1000
201 \fATOVER, JMS I (PRMESG
202 OVFLOW
203 ENDLEN, 0 /- NO. OF CHARS AT END INCLUDING 0
204 NEWLEN, 0 /- NO. OF CHARS BEING INSERTED
205
206 ATERR, CDF 10
207 CLA
208 JMS I (PRMESG
209 ATIO
210 \fATIO, TEXT /#BAD FILENAME OR ERROR READING INDIRECT FILE/
211 OVFLOW, TEXT /#COMMAND LINE OVERFLOW/
212 PAGE