Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | /1 BATCH INPUT STREAM HANDLER |
2 | / | |
3 | / | |
4 | / | |
5 | / | |
6 | / | |
7 | / | |
8 | / | |
9 | / | |
10 | / | |
11 | /COPYRIGHT (C) 1974,1975 BY DIGITAL EQUIPMENT CORPORATION | |
12 | / | |
13 | / | |
14 | / | |
15 | / | |
16 | / | |
17 | / | |
18 | / | |
19 | / | |
20 | / | |
21 | / | |
22 | /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE | |
23 | /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT | |
24 | /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY | |
25 | /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. | |
26 | / | |
27 | /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER | |
28 | /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED | |
29 | /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH | |
30 | /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. | |
31 | / | |
32 | /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE | |
33 | /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY | |
34 | /DIGITAL. | |
35 | / | |
36 | / | |
37 | / | |
38 | / | |
39 | / | |
40 | / | |
41 | / | |
42 | / | |
43 | / | |
44 | / | |
45 | *0 | |
46 | -1 /NUMBER OF DEVICES | |
47 | DEVICE BAT /DEVICE TYPE NAME | |
48 | DEVICE BAT /DEVICE NAME | |
49 | 2220 /READ ONLY, CODE=22 | |
50 | 0 /ONE PAGE | |
51 | ZBLOCK 2 | |
52 | ||
53 | BATIN= 5400 | |
54 | \f BATVERSION="B&77 | |
55 | ||
56 | ||
57 | *200 | |
58 | BAT, BATVERSION | |
59 | CLA /PROTECTION | |
60 | RDF /GET USER'S FIELD | |
61 | TAD BATCDF /MAKE CDF CIF | |
62 | DCA BATXIT /SAVE FOR EXIT | |
63 | TAD BATISZ /RESET SUCCESS ISZ | |
64 | DCA BATXIT-1 | |
65 | TAD I BAT | |
66 | AND BA7700 | |
67 | CIA | |
68 | DCA BATWC /SAVE WORD COUNT (DIVIDED BY 2) | |
69 | TAD I BAT | |
70 | AND BA0070 | |
71 | TAD BATCDF /CREATE CDF TO BUFFER FIELD | |
72 | TAD (-2 | |
73 | DCA BATBUF | |
74 | BATISZ, ISZ BAT | |
75 | TAD I BAT | |
76 | DCA BATCA /GET ADDRESS OF BUFFER | |
77 | ISZ BAT | |
78 | ISZ BAT /IGNORE BLOCK NUMBER | |
79 | TAD BATWC /WAS COMMAND WRITE OR BUFFER LENGTH ZERO? | |
80 | BA7700, SMA CLA | |
81 | JMP BATER1 /YES - ERROR | |
82 | BATCDF, CDF CIF 0 | |
83 | TAD I BA7777 /IS BATCH RUNNING? | |
84 | RAL | |
85 | SMA CLA | |
86 | JMP BATER2 /NO - ERROR | |
87 | TAD I BA7777 | |
88 | AND BA0070 | |
89 | TAD BATCDF /CREATE CDF TO BATCH FIELD | |
90 | DCA BATCAL /CREATE CDF CIF TO BATCH FIELD | |
91 | ||
92 | ||
93 | ||
94 | BATLP, JMS BATGET /GET CHAR | |
95 | DCA I BATCA /SAVE IN BUFFER | |
96 | JMS BATGET /GET NEXT CHAR | |
97 | DCA BATTMP /SAVE IT FOR PACKING | |
98 | JMS BATGET /GET NEXT CHAR | |
99 | RTL | |
100 | RTL | |
101 | DCA BATTM2 /SAVE IT | |
102 | TAD BATTM2 | |
103 | AND BA7400 /ADD FIRST HALF | |
104 | TAD I BATCA /TO FIRST CHAR | |
105 | DCA I BATCA /SAVE THEM IN BUFFER | |
106 | ISZ BATCA /UPDATE POINTER | |
107 | BA7400, 7400 /PROTECT THE ISZ | |
108 | TAD BATTM2 /GET SECOND HALF OF CHAR | |
109 | RTL | |
110 | RTL | |
111 | AND BA7400 | |
112 | TAD BATTMP /ADD TO SECOND CHAR | |
113 | DCA I BATCA /SAVE IN BUFFER | |
114 | ISZ BATCA /UPDATE POINTER | |
115 | BA0070, 0070 /PROTECT THE ISZ | |
116 | ISZ BATWC /DONE? | |
117 | JMP BATLP /NO - LOOP | |
118 | ||
119 | ISZ BAT /SUCCESS RETURN (ON EOF THIS BECOMES CLA IAC) | |
120 | BATXIT, HLT /CDF CIF TO USER FIELD | |
121 | JMP I BAT /RETURN | |
122 | ||
123 | BATWC, 0 /WORD COUNT (DIVIDED BY 2) | |
124 | BATCA, 0 /POINTER INTO BUFFER | |
125 | BATTM2, | |
126 | BATCHR, 0 /CHAR RETURNED BY BATGET | |
127 | BATTMP, 0 | |
128 | BA7777, 7777 | |
129 | ||
130 | ||
131 | BATER1, | |
132 | BATER2, CLA STL RAR | |
133 | JMP BATXIT | |
134 | \f/THIS ROUTINE GETS THE NEXT CHARACTER TO BE PUT INTO THE BUFFER | |
135 | BATGET, 0 | |
136 | 0 /IF LAST CHAR WAS <CR> THIS IS "JMP BATLF" | |
137 | BATCAL, HLT /CIF CDF BATCH FIELD (ON EOF THIS IS "JMP BATBUF") | |
138 | TAD I BATVFY | |
139 | TAD (-2214 /VERIFY MAGIC LOCATION IN BATCH | |
140 | SZA /AGAINST EQUALLY MAGIC CONTENTS | |
141 | CDF CIF 0 | |
142 | SZA CLA | |
143 | JMP BATER2 /BATCH IS DESTROYED! | |
144 | CDF /WE ARE IN FIELD ZERO | |
145 | JMS I BATINN /CALL THE BATCH INPUT ROUTINE | |
146 | JMP BATEOF /NO SKIP = END OF FILE | |
147 | DCA BATCHR /SAVE CHARACTER RETURNED | |
148 | TAD BATCHR | |
149 | TAD BMCR /CARRIAGE RETURN? | |
150 | SNA | |
151 | JMP BATCR /YES | |
152 | TAD BCRMLF /LINE FEED? | |
153 | SNA | |
154 | JMP BATCAL /YES - IGNORE IT | |
155 | TAD BLFMDO /DOLLAR SIGN? | |
156 | SNA CLA | |
157 | JMP BATDO /YES | |
158 | BATGEX, DCA BCRFLG /NO SPECIAL CHAR | |
159 | TAD BATCHR /RETURN WITH CHAR IN AC | |
160 | BATBUF, HLT /CDF USER BUFFER | |
161 | JMP I BATGET /RETURN | |
162 | ||
163 | BLFJMP, JMP BATLF | |
164 | BATCR, TAD BLFJMP /SET NEXT CALL TO RETURN <LF> | |
165 | DCA BATGET+1 | |
166 | CLA CMA /SET TO INDICATE <CR> | |
167 | JMP BATGEX | |
168 | ||
169 | BATLF, DCA BATGET+1 /ZAP THE JMP TO HERE | |
170 | TAD BLF /RETURN <LF> | |
171 | BATGEJ, JMP BATBUF | |
172 | ||
173 | BATDO, TAD BCRFLG /IS THE "$" FIRST ON THIS LINE? | |
174 | SNA CLA | |
175 | JMP BATGEX /NO - NOTHING SPECIAL | |
176 | TAD I BA7777 /YES - SET FLAG SO THAT | |
177 | RTR /THE BATCH INPUT ROUTINE | |
178 | STL RTL /WILL PUT THE DOLLAR-SIGN BACK | |
179 | DCA I BA7777 | |
180 | /RETURN CURRENT CHARACTER AGAIN | |
181 | BATEOF, TAD BATCTZ /RETURN CTRL-Z THIS TIME | |
182 | DCA BATCHR | |
183 | DCA BATXIT-1 /SET HANDLER TO RETURN TO ERROR RETURN | |
184 | TAD BATGEJ /SET BATGET TO RETURN ZEROES | |
185 | DCA BATCAL | |
186 | JMP BATCR+2 /AND FLAG NEW LINE FOR NEXT CALL | |
187 | ||
188 | BATINN, BATIN /ENTRY ADDRESS OF BATCH INPUT ROUTINE | |
189 | BATVFY, BATIN+200 | |
190 | BLF, 212 | |
191 | BMCR, -215 | |
192 | BCRMLF, 215-212 | |
193 | BLFMDO, 212-"$ | |
194 | BCRFLG, -1 | |
195 | BATCTZ, 32 /CTRL-Z | |
196 | ||
197 | $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
198 | \f |