Trailing-Edge
-
PDP-10 Archives
-
decuslib10-02
-
43,50233/uset.lst
There are no other files named uset.lst in the archive.
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 1
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
1 TITLE USET LOW LEVEL DISK MANIPULATOR.
2 SUBTTL THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
3
4 ;ACCUMULATORS.
5
6
7 000000 Q=0
8 000001 A=1
9 000002 B=2
10 000003 C=3
11 000004 X=4
12 000005 Z=5
13 000006 SUP=6
14 000007 TEMP=7 ;MUST BE 7
15 000010 READ=10
16 000011 SAME=11
17 000012 FIND=12
18 000013 TEMP1=13
19 000014 TEMP2=14
20 000015 TEST1=15
21 000016 K=16
22 000017 P=17
23
24
25 ;UUO'S
26 OPDEF MESS[BYTE(9)1]
27 OPDEF CHRIN[BYTE(9)2]
28 OPDEF HOMUP[BYTE(9)3]
29 OPDEF NHOMUP[BYTE(9)4]
30 OPDEF CHROUT[BYTE(9)5]
31 EXTERN JOBFF
32 400000' TWOSEGS
33 PAGE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 2
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
34 400000' RELOC 400000
35 400000' 205 12 0 00 202021 GSTART: MOVSI FIND,(SIXBIT /001/)
36 400001' 202 12 0 00 000022' MOVEM FIND,EXT ;SET UP EXTENSION
37 400002' 200 12 0 00 401170' MOVE FIND,[SIXBIT /USETI/]
38 400003' 202 12 0 00 000012' MOVEM FIND,INFL
39 400004' 200 12 0 00 401171' MOVE FIND,[SIXBIT /USETO/]
40 400005' 202 12 0 00 000016' MOVEM FIND,OUTFL
41 400006' 201 12 0 00 000017 MOVEI FIND,17 ;SET CHANNELS FOR DUMP MODE
42 400007' 202 12 0 00 000004' MOVEM FIND,CH2 ;ONE
43 400010' 202 12 0 00 000007' MOVEM FIND,CH3 ;THEN THE OTHER
44 400011' 200 12 0 00 401172' MOVE FIND,[IOWD 200,BLKBUF]
45 400012' 202 12 0 00 000000' MOVEM FIND,COPYBK ;SET UP IOWDS IN LOW SEGMENT
46 400013' 505 12 0 00 716000 HRLI FIND,-^D25600
47 400014' 202 12 0 00 000002' MOVEM FIND,COPYST ;BOTH OF THEM
48 400015' 403 12 0 00 000010 SETZB FIND,READ
49 400016' 047 00 0 00 000000 START: CALLI 0 ;RESET
50 400017' 200 17 0 00 401164' MOVE P,PLIST ;SET UP PUSH DOWN POINTER.
51 400020' 041 01 0 00 000001 INIT 1,1 ;FIRST TRY USET
52 400021' 65 63 45 64 00 00 USTDEV: SIXBIT /USET/
53 400022' 000000 000041' XWD 0,ITTY ;INPUT FIRST
54 400023' 254 00 0 00 400031' JRST USETTY ;STRUCTURE DOES NOT EXIST
55 400024' 041 04 0 00 000000 INIT 4,0 ;NOW ONE FOR OUTPUT
56 400025' 65 63 45 64 00 00 SIXBIT /USET/
57 400026' 000044' 000000 XWD OTTY,0
58 400027' 254 00 0 00 400031' JRST USETTY ;STRANGE!!!!!!
59 400030' 254 00 0 00 400041' JRST SETBUF ;O.K. SO SET UP BUFFERS
60 400031' 041 01 0 00 000001 USETTY: INIT 1,1 ;OPEN INPUT SIDE
61 400032' 64 64 71 00 00 00 TTDEV: SIXBIT /TTY/ ;TELETYPE.
62 400033' 000000 000041' XWD 0,ITTY ;INPUT ONLY
63 400034' 254 00 0 00 401107' JRST ERR1 ;CANNOT
64 400035' 041 04 0 00 000000 INIT 4,0 ;OPEN OUTPUT SIDE
65 400036' 64 64 71 00 00 00 SIXBIT /TTY/ ;TTY
66 400037' 000044' 000000 XWD OTTY,0 ;OUTPUT ONLY
67 400040' 254 00 0 00 401107' JRST ERR1 ;CANNOT
68 400041' 201 01 0 00 000047' SETBUF: MOVEI A,TTYBUF ;SET FOR OUTPUT
69 400042' 250 01 0 00 000000* EXCH A,JOBFF ;FOOL MONITOR.
70 400043' 065 04 0 00 000001 OUTBUF 4,1 ;ONE BUFFER.
71 400044' 201 02 0 00 000252' MOVEI B,TTYBUF+203 ;AND INPUT
72 400045' 202 02 0 00 400042* MOVEM B,JOBFF ;STORE LIMIT
73 400046' 064 01 0 00 000001 INBUF 1,1 ;ONE BUFFER.
74 400047' 250 01 0 00 400045* EXCH A,JOBFF ;RESET JOBFF
75 400050' 200 01 0 00 401173' MOVE A,[PUSHJ P,UUOH];SET UP LOC 41
76 400051' 202 01 0 00 000041 MOVEM A,41 ;FOR UUO'S
77 400052' 200 01 0 00 000022' MOVE A,EXT ;GET EXTENSION
78 400053' 202 01 0 00 000013' MOVEM A,INFL+1 ;MODIFY INPUT FILE NAME
79 400054' 202 01 0 00 000017' MOVEM A,OUTFL+1 ;AND OUTPUT FILE NAME
80 400055' 076 01 0 00 000012' LOOKUP 1,INFL ;LOOKUP FILE
81 400056' 047 00 0 00 000012 CALLI 12 ;OUT
82 400057' 077 04 0 00 000016' ENTER 4,OUTFL ;ENTER RESULTS.
83 400060' 254 00 0 00 401107' JRST ERR1 ;FAILED
84 400061' 200 01 0 00 400021' MOVE A,USTDEV ;GET USETI IN A
85 400062' 047 01 0 00 000004 CALLI A,4 ;GET CHARACTERISTICS
86 400063' 326 01 0 00 400066' JUMPN A,CLRTFL ;EXISTS
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 2-1
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
87 400064' 200 01 0 00 400032' MOVE A,TTDEV
88 400065' 047 01 0 00 000004 CALLI A,4 ;GET DEVICE CHARACTERISTICS
89 400066' 402 00 0 00 000030' CLRTFL: SETZM TTYP ;CLEAR TTY FLAG IN CASE
90 400067' 603 01 0 00 000010 TLNE A,10 ;TTY?
91 400070' 476 00 0 00 000030' SETOM TTYP ;YES!
92 400071' 001 00 0 00 401165' NXTCMM: MESS STRWRD ;OUTPUT CRLF*
93 400072' 002 00 0 00 000001 GETSH: CHRIN A ;GET CHAR IN A.
94 400073' 201 03 0 00 400116' MOVEI C,BOTTAB ;SET FOR COMMAND SCAN.
95 400074' 135 02 0 00 401174' SCAN: LDB B,[XWD 350700,(C)];GET CHAR FROM TABLE.
96 400075' 322 02 0 00 400101' JUMPE B,BAD ;ZERO MEANS END
97 400076' 316 02 0 00 000001 CAMN B,A ;MATCH?
98 400077' 254 00 1 03 000000 JRST @(C) ;DISPATCH
99 400100' 344 03 0 00 400074' AOJA C,SCAN ;KEEP GOING
100 BAD: MESS [ASCIZ/
101 ILLEGAL COMMAND
102 400101' 001 00 0 00 401175' /]
103 400102' 205 01 0 00 000001 NEWFL: MOVSI A,1 ;GET 1 IN LH
104 400103' 272 01 0 00 000022' ADDM A,EXT ;BUMP EXTENSION
105 400104' 071 01 0 00 000000 RELEASE 1, ;CLOSE UP
106 400105' 071 04 0 00 000000 RELEASE 4, ;BOTH CHANNELS
107 400106' 402 00 0 00 000014' SETZM INFL+2
108 400107' 402 00 0 00 000015' SETZM INFL+3
109 400110' 402 00 0 00 000020' SETZM OUTFL+2
110 400111' 402 00 0 00 000021' SETZM OUTFL+3
111 400112' 254 00 0 00 400016' JRST START ;RESTART
112 400113' 260 17 0 00 401111' NXTCM: PUSHJ P,GARB ;CLEAR UP
113 400114' 200 17 0 00 401164' MOVE P,PLIST ;SET UP PUSH DOWN POINTER
114 400115' 254 00 0 00 400071' JRST NXTCMM ;GET NEXT COMMAND
115
116
117 400116' 064000 400072' BOTTAB: XWD 15_13,GETSH ;IGNORE CR
118 400117' 050000 400071' XWD 12_13,NXTCMM ;GET NEXT COMMAND.
119 400120' 510000 400346' XWD "R"_13,READD ;READ A BLOCK
120 400121' 534000 400300' XWD "W"_13,WRITE ;WRITE A BLOCK
121 400122' 424000 400242' XWD "E"_13,EXAMIN ;EXAMINE THE LOCATION
122 400123' 420000 400264' XWD "D"_13,DEPOSI ;DEPOSIT IN LOCATION
123 400124' 514000 400324' XWD "S"_13,SEARCH ;SEARCH FOR WORD.
124 400125' 460000 401116' XWD "L"_13,LIST ;LIST CURRENT MODES.
125 400126' 414000 400367' XWD "C"_13,COPY ;COPY DSK TO DSK
126 400127' 430000 400102' XWD "F"_13,NEWFL ;EXIT
127 400130' 500000 400611' XWD "P"_13,POINTR ;SET RETRIEVAL POINTER
128 400131' 434000 400672' XWD "G"_13,GROPE ;GROE AROUND
129 400132' 440000 400753' XWD "H"_13,CHOME ;CHANGE HOM BLOCK
130 400133' 000 00 0 00 000000 Z ;ZERO MEANS END.
131 PAGE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
132 400134' 261 17 0 00 000001 UUOH: PUSH P,A ;STORE A
133 400135' 135 01 0 00 401201' LDB A,[XWD 331100,40];GET UUO NUMBER.
134 400136' 307 01 0 00 000005 CAIG A,TOPUUO ;IN RANGE?
135 400137' 254 00 1 01 400141' JRST @UUOTAB-1(A) ;DISPATCH
136 400140' 262 17 0 00 000001 OUTUUO: POP P,A ;RESTORE A
137 400141' 263 17 0 00 000000 POPJ P, ;AND RETURN
138
139 400142' 000 00 0 00 400147' UUOTAB: Z MESSG ;OUTPUT MESSAGE
140 400143' 000 00 0 00 400164' Z CHIN ;INPUT CHARACTER.
141 400144' 000 00 0 00 400214' Z HOMUPD ;UPDATE SIXBIT HOM ENTRY
142 400145' 000 00 0 00 400227' Z NHOMD ;UPDATE NUMERICAL HOM ENTRY
143 400146' 000 00 0 00 400207' Z CHOUT ;OUTPUT CHARACTER.
144 400147' TOPTAB:
145 000005 TOPUUO=TOPTAB-UUOTAB
146
147 400147' 261 17 0 00 000002 MESSG: PUSH P,B ;SAVE B
148 400150' 205 02 0 00 440700 MOVSI B,440700 ;SET UP BP
149 400151' 540 02 0 00 000040 HRR B,40 ;WITH MESSAGE
150 400152' 134 01 0 00 000002 KEPON: ILDB A,B ;GET CHAR.
151 400153' 322 01 0 00 400160' JUMPE A,FINUP ;ALL DONE
152 400154' 377 00 0 00 000046' SOSG OTTY+2 ;SPACE LEFT?
153 400155' 067 04 0 00 000000 OUTPUT 4, ;NO
154 400156' 136 01 0 00 000045' IDPB A,OTTY+1 ;STORE CHAR.
155 400157' 254 00 0 00 400152' JRST KEPON ;KEEP GOING
156 400160' 332 00 0 00 000030' FINUP: SKIPE TTYP ;DON'T FORCE OUTPUT UNLESS TTY
157 400161' 067 04 0 00 000000 OUTPUT 4, ;CLEAR UP
158 400162' 262 17 0 00 000002 POP P,B ;RESTORE B
159 400163' 254 00 0 00 400140' JRST OUTUUO ;RETURN.
160
161 400164' 371 00 0 00 000043' CHIN: SOSL ITTY+2 ;CHARS THERE?
162 400165' 254 00 0 00 400172' JRST LFDEF ;YES
163 400166' 056 01 0 00 000000 IN 1, ;GET SOME THEN
164 400167' 254 00 0 00 400177' JRST YUP ;O.K.
165 400170' 063 01 0 00 740000 STATZ 1,740000 ;ERROR?
166 400171' 254 00 0 00 401107' JRST ERR1 ;YES
167 400172' 332 00 0 00 000027' LFDEF: SKIPE CLRUP ;SKIP IF CLEARED UP
168 400173' 332 00 0 00 000043' SKIPE ITTY+2 ;SKIP IF EXACTLY ZERO
169 400174' 254 00 0 00 400177' JRST YUP ;ELSE GET CHAR
170 400175' 201 01 0 00 000012 MOVEI A,12 ;LINE FEED DEFAULT (AL MODE)
171 400176' 254 00 0 00 400201' JRST OUTCR ;EXIT
172 400177' 134 01 0 00 000042' YUP: ILDB A,ITTY+1 ;GET CHAR
173 400200' 322 01 0 00 400164' JUMPE A,CHIN ;FORGET NULLS
174 400201' 402 00 0 00 000027' OUTCR: SETZM CLRUP ;UNSET CLEAR FLAG
175 400202' 250 01 0 17 000000 EXCH A,(P) ;EXCHANGE A WITH TOP OF STACK
176 400203' 262 17 1 00 000040 POP P,@40 ;CLEVER?
177 400204' 332 00 0 00 000030' SKIPE TTYP ;SKIP IF NOT TTY
178 400205' 254 00 0 00 400141' JRST OUTUUO+1 ;RETURN
179 400206' 261 17 0 00 000001 PUSH P,A ;ELSE PRINT INPUT IN THE LOG FILE
180 400207' 200 01 1 00 000040 CHOUT: MOVE A,@40 ;GET CHAR.
181 400210' 377 00 0 00 000046' SOSG OTTY+2 ;ROOM?
182 400211' 067 04 0 00 000000 OUTPUT 4, ;NO
183 400212' 136 01 0 00 000045' IDPB A,OTTY+1 ;STORE BYTE
184 400213' 254 00 0 00 400140' JRST OUTUUO ;RETURN.
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-1
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
185
186
187 ;ADDRESS ON TOP OF STACK,MESS IN 40
188 400214' 200 01 1 17 000000 HOMUPD: MOVE A,@(P) ;GET CONTENTS OF HOM ENTRY
189 400215' 200 03 0 00 000040 MOVE C,40 ;GET MESS ADDRESS
190 400216' 001 00 1 00 000003 MESS @C ;PRINT MESSAGE
191 400217' 001 00 0 00 401202' MESS [ASCIZ/ IS /]
192 400220' 260 17 0 00 401133' PUSHJ P,SIXOUT ;PRINT SIXBIT
193 400221' 001 00 0 00 401203' MESS [ASCIZ / /] ;FORCE IT
194 400222' 260 17 0 00 401111' PUSHJ P,GARB ;CLEAR UP FIRST
195 400223' 260 17 0 00 400773' PUSHJ P,GETATM ;GET NEW VALUE
196 400224' 334 00 0 00 000000 SKIPA ;NOT ONE
197 400225' 202 01 1 17 000000 MOVEM A,@(P) ;STORE NEW VALUE
198 400226' 254 00 0 00 400140' JRST OUTUUO ;FINISH.
199
200 400227' 200 01 1 17 000000 NHOMD: MOVE A,@(P) ;GET CONTENTS OF HOM ENTRY
201 400230' 200 03 0 00 000040 MOVE C,40 ;GET MESS ADDRESS
202 400231' 001 00 1 00 000003 MESS @C ;PRINT MESSAGE
203 400232' 001 00 0 00 401202' MESS [ASCIZ/ IS /]
204 400233' 260 17 0 00 401142' PUSHJ P,OCTOUT ;PRINT OCTAL NUMBER.
205 400234' 001 00 0 00 401204' MESS [ASCIZ / O.K.? /]
206 400235' 260 17 0 00 401111' PUSHJ P,GARB ;CLEAR UP
207 400236' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET NEW ONE
208 400237' 334 00 0 00 000000 SKIPA
209 400240' 202 01 1 17 000000 MOVEM A,@(P) ;STORE VALUE
210 400241' 254 00 0 00 400140' JRST OUTUUO ;FINISH
211
212 400242' 400 06 0 00 000000 EXAMIN: SETZ SUP,0 ;CLEAR ZERO SUPPRESSOR.
213 400243' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET ADDRESS IN A
214 400244' 254 00 0 00 400250' JRST DOALL ;DO ALL
215 400245' 307 01 0 00 000177 CAIG A,177 ;IN RANGE?
216 400246' 254 00 0 00 400261' JRST PRNTEM ;YES.
217 400247' 254 00 0 00 400101' JRST BAD ;NO
218 DOALL: MESS [ASCIZ /
219 400250' 001 00 0 00 401206' DUMP OF BLOCK /]
220 400251' 200 05 0 00 000010 MOVE Z,READ ;GET BLOCK NUMBER
221 400252' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT IT
222 400253' 001 00 0 00 401212' MESS [ASCIZ / ON DEVICE /]
223 400254' 200 01 0 00 000005' MOVE A,DEVICE ;GET INPUT DEVICE
224 400255' 260 17 0 00 401133' PUSHJ P,SIXOUT ;PRINT IT
225 400256' 001 00 0 00 401167' MESS CARLF ;ONE CR LF THEN--
226 400257' 001 00 0 00 401167' MESS CARLF ;FINISH OFF
227 400260' 200 01 0 00 401215' MOVE A,[XWD-200,0] ;SET UP COUNTER.
228 400261' 260 17 0 00 401051' PRNTEM: PUSHJ P,OUTWRD ;PRINT WORD.
229 400262' 253 01 0 00 400261' AOBJN A,.-1 ;KEEP GOING
230 400263' 254 00 0 00 400113' JRST NXTCM ;ALL DONE
231
232 400264' 260 17 0 00 401017' DEPOSI: PUSHJ P,GETNUM ;GET FIRST HALF IN A
233 400265' 254 00 0 00 400101' JRST BAD ;NONE THERE
234 400266' 514 07 0 00 000001 HRLZ TEMP,A ;PUT IN LEFT HALF
235 400267' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET SECOND HALF IN A
236 400270' 254 00 0 00 400101' JRST BAD ;NONE THERE
237 400271' 540 07 0 00 000001 HRR TEMP,A ;STORE IT
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-2
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
238 400272' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET ADDRESS
239 400273' 254 00 0 00 400101' JRST BAD ;NONE THERE!
240 400274' 303 01 0 00 000177 CAILE A,177 ;IN RANGE?
241 400275' 254 00 0 00 400101' JRST BAD ;SO NEAR YET ---
242 400276' 202 07 0 01 000465' MOVEM TEMP,BLKBUF(A) ;IN SHE GOES
243 400277' 254 00 0 00 400113' JRST NXTCM ;AND OUT
244
245 400300' 260 17 0 00 400773' WRITE: PUSHJ P,GETATM ;GET DEVICE IN A
246 400301' 254 00 0 00 400365' JRST BOOB ;NO DEFAULT
247 400302' 202 01 0 00 000010' MOVEM A,DEVIDE ;STORE DEVICE
248 400303' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET ADDRESS
249 400304' 254 00 0 00 400365' JRST BOOB ;ERROR
250 400305' 050 03 0 00 000007' OPEN 3,CH3 ;OPEN CHANNEL D
251 400306' 254 00 0 00 400365' JRST BOOB ;FAILED
252 400307' 075 03 0 00 000001 USETO 3,A ;SET FOR OUTPUT
253 MESS [ASCIZ /
254 400310' 001 00 0 00 401216' WRITE BLOCK NUMBER /]
255 400311' 200 05 0 00 000001 MOVE Z,A ;GET NUMBER
256 400312' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT OCTAL NUMBER
257 400313' 001 00 0 00 401212' MESS [ASCIZ / ON DEVICE /]
258 400314' 200 01 0 00 000010' MOVE A,DEVIDE ;GET DEVICE
259 400315' 260 17 0 00 401133' PUSHJ P,SIXOUT ;PRINT DEVICE
260 MESS [ASCIZ /
261 400316' 001 00 0 00 401223' CONFIRM?/]
262 400317' 260 17 0 00 401147' PUSHJ P,GETANS ;GET ANSWER
263 400320' 254 00 0 00 400113' JRST NXTCM ;NO
264 400321' 057 03 0 00 000000' OUT 3,COPYBK ;YES
265 400322' 254 00 0 00 400113' JRST NXTCM ;O.K.
266 400323' 254 00 0 00 400365' JRST BOOB ;FAILED
267
268 400324' 260 17 0 00 401017' SEARCH: PUSHJ P,GETNUM ;GET LEFT HALF
269 400325' 254 00 0 00 400336' JRST STUPP ;USE PREVIOUS VALUE
270 400326' 323 16 0 00 400331' JUMPLE K,.+3 ;SKIP IF NOT INDIRECT
271 400327' 200 12 0 00 000001 MOVE FIND,A ;ELSE GET WHOLE WORD
272 400330' 254 00 0 00 400336' JRST STUPP ;AND CONTINUE
273 400331' 550 12 0 00 000001 HRRZ FIND,A ;ELSE STORE LH IN RH
274 400332' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET RIGHT HALF
275 400333' 334 01 0 00 000012 SKIPA A,FIND ;ONE HALF ONLY
276 400334' 207 00 0 00 000012 MOVSS FIND ;SWAP HALVES
277 400335' 540 12 0 00 000001 HRR FIND,A ;AND STORE RIGHT HALF
278 400336' 260 17 0 00 400340' STUPP: PUSHJ P,STUP ;SEARCH
279 400337' 254 00 0 00 400113' JRST NXTCM ;EXIT
280
281 400340' 200 01 0 00 401215' STUP: MOVE A,[XWD -200,0] ;SET UP COUNTER
282 400341' 200 02 0 01 000465' MOVE B,BLKBUF(A) ;GET WORD FROM BUFFER
283 400342' 316 02 0 00 000012 CAMN B,FIND ;SAME?
284 400343' 260 17 0 00 400762' PUSHJ P,PNTFND ;YES,PRINT IT
285 400344' 253 01 0 00 400341' AOBJN A,.-3 ;KEEP MOVING
286 400345' 263 17 0 00 000000 POPJ P, ;RETURN
287
288 400346' 260 17 0 00 400773' READD: PUSHJ P,GETATM ;GET DEVICE IN A
289 400347' 344 10 0 00 400355' AOJA READ,INUSE ;NONE THERE,BUMP BLK NO.
290 400350' 202 01 0 00 000005' MOVEM A,DEVICE ;STORE DEVICE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-3
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
291 400351' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET BLOCK NO
292 400352' 254 00 0 00 400365' JRST BOOB ;ILLEGAL
293 400353' 260 17 0 00 400357' PUSHJ P,INBLK ;READ BLOCK
294 400354' 254 00 0 00 400113' JRST NXTCM ;EXIT
295 400355' 260 17 0 00 400360' INUSE: PUSHJ P,INBLK+1 ;READ BLOCK
296 400356' 254 00 0 00 400113' JRST NXTCM ;GET NEXT
297
298 400357' 202 01 0 00 000010 INBLK: MOVEM A,READ ;STORE IT
299 400360' 050 02 0 00 000004' OPEN 2,CH2 ;OPEN ANOTHER CHANNEL
300 400361' 254 00 0 00 400365' JRST BOOB ;FAILED
301 400362' 074 02 0 00 000010 USETI 2,READ ;SET FOR INPUT
302 400363' 056 02 0 00 000000' IN 2,COPYBK ;READ BLOCK
303 400364' 263 17 0 00 000000 POPJ P, ;EXIT
304 BOOB: MESS [ASCIZ /
305 FAILED!!
306 400365' 001 00 0 00 401226' /]
307 400366' 254 00 0 00 400113' JRST NXTCM ;NEXT TRY!
308
309 400367' 403 11 0 00 000010 COPY: SETZB SAME,READ ;CLEAR THESE TWO FOR A MO
310 400370' 260 17 0 00 400773' PUSHJ P,GETATM ;GET"FROM"DEVICE
311 400371' 254 00 0 00 400101' JRST BAD ;ILLEGAL
312 400372' 202 01 0 00 000005' MOVEM A,DEV1 ;STORE IT
313 400373' 260 17 0 00 400773' PUSHJ P,GETATM ;GET "TO" DEVICE
314 400374' 254 00 0 00 400101' JRST BAD ;ILLEGAL
315 400375' 202 01 0 00 000010' MOVEM A,DEV2 ;STORE IT
316 400376' 306 02 0 00 000175 CAIN B,175 ;ALTMODE TERMINATION?
317 400377' 476 00 0 00 000011 SETOM SAME ;YES,SET FLAG
318 400400' 260 17 0 00 401157' PUSHJ P,INTAL ;INITIALIZE
319 MESS [ASCIZ/
320 400401' 001 00 0 00 401231' COPY FROM DEVICE /]
321 400402' 200 01 0 00 000005' MOVE A,DEV1 ;GET "FROM"DEVICE
322 400403' 260 17 0 00 401133' PUSHJ P,SIXOUT ;PRINT IT
323 400404' 001 00 0 00 401235' MESS [ASCIZ/ TO DEVICE /]
324 400405' 200 01 0 00 000010' MOVE A,DEV2 ;GET "TO"DEVICE
325 400406' 260 17 0 00 401133' PUSHJ P,SIXOUT ;PRINT IT
326 400407' 332 00 0 00 000011 SKIPE SAME ;SKIP IF NOT SAME SET
327 400410' 001 00 0 00 401240' MESS [ASCIZ / SETTING IDENTITY/]
328 MESS [ASCIZ /
329 400411' 001 00 0 00 401244' CONFIRM? /]
330 400412' 201 01 0 00 401147' MOVEI A,GETANS ;HORRIBLE FUDGE COMING UP
331 400413' 322 11 0 00 400415' JUMPE SAME,.+2 ;HELP!!!
332 400414' 350 00 0 00 000001 AOS A ;DO NOT CLEAR UP IF ALTMODE
333 400415' 260 17 1 00 000001 PUSHJ P,@A ;GET ANSWER
334 400416' 254 00 0 00 400113' JRST NXTCM ;NO
335 400417' 332 00 0 00 000011 SKIPE SAME ;RETAINING IDENTITY?
336 400420' 260 17 0 00 400500' PUSHJ P,CHGHOM ;YES
337 400421' 201 01 0 00 062465' MOVEI A,BLKBUF+^D25600
338 400422' 047 01 0 00 000011 CALLI A,11 ;EXPAND!!
339 400423' 254 00 0 00 400365' JRST BOOB ;CANNOT
340 400424' 402 00 0 00 000014 SETZM TEMP2 ;CLEAR TEMP ACCUMULATOR
341 400425' 322 11 0 00 400441' JUMPE SAME,RPTR ;IF NOT READING HOM BLOCK SKIP
342 400426' 074 03 0 00 401247' USETI 3,[XWD 0,1] ;SET FOR HOM BLOCK
343 400427' 056 03 0 00 000000' IN 3,COPYBK ;GET HOM
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-4
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
344 400430' 334 02 0 00 000466' SKIPA B,BLKBUF+1 ;GET UNIT IDENTITY
345 400431' 254 00 0 00 400365' JRST BOOB ;FAILED TO READ
346 400432' 202 02 0 00 000025' MOVEM B,ID ;STORE
347 400433' 200 02 0 00 000471' MOVE B,BLKBUF+4 ;GET STRUCTURE NAME
348 400434' 202 02 0 00 000023' MOVEM B,STR ;STORE IT
349 400435' 200 02 0 00 000474' MOVE B,BLKBUF+7 ;GET STRUCTURE NUMBER
350 400436' 202 02 0 00 000024' MOVEM B,STRNO ;AND STORE IT
351 400437' 200 02 0 00 000470' MOVE B,BLKBUF+3 ;GET POSITION IN SYS SEARCH LIST
352 400440' 202 02 0 00 000026' MOVEM B,SYSCH ;SAVE IT
353 400441' 074 02 0 00 000010 RPTR: USETI 2,READ ;SET FOR INPUT
354 400442' 075 03 0 00 000010 USETO 3,READ ;SET FOR OUTPUT
355 400443' 056 02 0 00 000002' IN 2,COPYST ;GET ONE CYLINDER
356 400444' 334 00 0 00 000000 SKIPA ;OK
357 400445' 254 00 0 00 400531' JRST SLOW ;FAILED
358 400446' 322 11 0 00 400451' JUMPE SAME,.+3 ;SKIP IF NOT CONVERTING
359 400447' 201 07 0 00 000310 MOVEI TEMP,^D200 ;SET FOR CONVERTER.
360 400450' 260 17 0 00 400564' PUSHJ P,CONVRT ;AND CONVERT
361 400451' 057 03 0 00 000002' OUT 3,COPYST ;OUTPUT
362 400452' 334 00 0 00 000000 SKIPA ;OK
363 400453' 254 00 0 00 400531' JRST SLOW ;SLOW UP
364 400454' 271 10 0 00 000310 ADDI READ,^D200 ;SET FOR NEXT CYLINDER
365 400455' 305 10 0 00 116100 TST1: CAIGE READ,^D40000 ;ALL DONE?
366 400456' 254 00 0 00 400441' JRST RPTR ;NO
367 400457' 322 11 0 00 400474' JUMPE SAME,COMPRS ;IF NOT RETAINING ID BYPASS
368 400460' 074 03 0 00 401247' USETI 3,[XWD 0,1] ;ELSE READ HOM BLOCK
369 400461' 056 03 0 00 000000' IN 3,COPYBK ;GET IT
370 400462' 334 02 0 00 000025' SKIPA B,ID ;GET ID
371 400463' 254 00 0 00 400365' JRST BOOB ;FAILED TO READ IT
372 400464' 202 02 0 00 000466' MOVEM B,BLKBUF+1 ;STORE ID
373 400465' 200 02 0 00 000023' MOVE B,STR ;GET STRUCTURE
374 400466' 202 02 0 00 000471' MOVEM B,BLKBUF+4 ;STORE IT
375 400467' 200 02 0 00 000024' MOVE B,STRNO ;GET STRUCTURE NUMBER
376 400470' 202 02 0 00 000474' MOVEM B,BLKBUF+7 ;STORE IT
377 400471' 200 02 0 00 000026' MOVE B,SYSCH ;GET POSITION IN SYS SEARCH LIST
378 400472' 202 02 0 00 000470' MOVEM B,BLKBUF+3 ;RESTORE IT
379 400473' 260 17 0 00 400516' PUSHJ P,UPDHOM ;WRITE THEM OUT
380 400474' 201 01 0 00 000665' COMPRS: MOVEI A,BLKBUF+200 ;SET FOR CORE
381 400475' 047 01 0 00 000011 CALLI A,11 ;AND SQUEEEZZE!
382 400476' 254 00 0 00 400365' JRST BOOB ;HELP!
383 400477' 254 00 0 00 400114' JRST NXTCM+1 ;GET NEXT COMMAND
384
385 400500' 074 03 0 00 401247' CHGHOM: USETI 3,[XWD 0,1] ;SET FOR HOM
386 400501' 056 03 0 00 000000' IN 3,COPYBK ;READ HOM
387 400502' 334 00 0 00 000000 SKIPA ;OK
388 400503' 254 00 0 00 400365' JRST BOOB ;FAILED
389 MESS [ASCIZ /
390 FOR THE FOLLOWING PARAMETERS TYPE CARRIAGE RETURN IF O.K.
391 ELSE TYPE THE NEW VALUE
392 400504' 001 00 0 00 401250' /]
393 400505' 201 01 0 00 000466' MOVEI A,BLKBUF+1 ;SET FOR ID CHANGE
394 HOMUP A,[ASCIZ/
395 400506' 003 01 0 00 401272' UNIT ID/] ;UPDATE UNIT ID
396 400507' 201 01 0 00 000471' MOVEI A,BLKBUF+4 ;SET FOR STRUCTURE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-5
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
397 HOMUP A,[ASCIZ/
398 400510' 003 01 0 00 401274' STRUCTURE NAME/] ;UPDATE STRUCTURE NAME
399 400511' 201 01 0 00 000474' MOVEI A,BLKBUF+7 ;SET FOR STRUCTURE NUMBER.
400 HOMUP A,[ASCIZ/
401 400512' 003 01 0 00 401300' STRUCTURE NUMBER/] ;UPDATE NUMBER
402 400513' 201 01 0 00 000470' MOVEI A,BLKBUF+3 ;UPDATE SYS SEARC LIST
403 NHOMUP A,[ASCIZ/
404 400514' 004 01 0 00 401304' POSITION IN SYS SEARCH LIST/] ;UPDATE IFNECC
405 400515' 254 00 0 00 400516' JRST UPDHOM ;WRITE OUT HOME BLOCKS
406
407 400516' 075 03 0 00 401247' UPDHOM: USETO 3,[XWD 0,1] ;SET FOR OUTPUT
408 400517' 201 02 0 00 000001 MOVEI B,1 ;SET FOR FIRST
409 400520' 202 02 0 00 000664' MOVEM B,BLKBUF+177 ;STORE BLOCK
410 400521' 057 03 0 00 000000' OUT 3,COPYBK ;WRITE FIRST ONE
411 400522' 334 02 0 00 401312' SKIPA B,[XWD 0,12] ;SET FOR SECOND
412 400523' 254 00 0 00 400365' JRST BOOB ;FAILED!
413 400524' 202 02 0 00 000664' MOVEM B,BLKBUF+177 ;STORE ADDRESS
414 400525' 075 03 0 00 401312' USETO 3,[XWD 0,12] ;SET FOR OUTPUT
415 400526' 057 03 0 00 000000' OUT 3,COPYBK ;PRINT IT
416 400527' 263 17 0 00 000000 POPJ P, ;RETURN
417 400530' 254 00 0 00 400365' JRST BOOB ;OUT.
418
419 400531' 260 17 0 00 401157' SLOW: PUSHJ P,INTAL ;RE-INIT DSKS.
420 400532' 201 01 0 10 000310 MOVEI A,^D200(READ) ;SET UPPER LIMIT
421 400533' 074 02 0 00 000010 RPT1: USETI 2,READ ;SET FOR INPUT
422 400534' 075 03 0 00 000010 USETO 3,READ ;SET FOR OUTPUT
423 400535' 056 02 0 00 000000' IN 2,COPYBK ;READ ONE BLOCK
424 400536' 334 00 0 00 000000 SKIPA
425 400537' 260 17 0 00 400600' PUSHJ P,TELL ;REPORT IT
426 400540' 322 11 0 00 400543' JUMPE SAME,.+3 ;SKIP IF NOT CONVERTING
427 400541' 201 07 0 00 000001 MOVEI TEMP,1 ;SET UP
428 400542' 260 17 0 00 400564' PUSHJ P,CONVRT ;CONVERT
429 400543' 057 03 0 00 000000' OUT 3,COPYBK ;OUTPUT
430 400544' 334 00 0 00 000000 SKIPA
431 400545' 260 17 0 00 401157' PUSHJ P,INTAL ;RE-INIT.
432 400546' 271 10 0 00 000001 ADDI READ,1 ;BUMP POINTER
433 400547' 315 10 0 00 000001 CAMGE READ,A ;SKIP IF ALL DONE
434 400550' 254 00 0 00 400533' JRST RPT1 ;KEEP GOING
435 400551' 254 00 0 00 400455' JRST TST1 ;BACK TO CYLINDER MODE.
436
437 400552' 200 15 0 13 000000 TSTRIB: MOVE TEST1,0(TEMP1) ;GET FIRST WORD OF BLOCK
438 400553' 312 15 0 00 401313' CAME TEST1,[XWD 777635,33];ONE OF THESE?
439 400554' 254 00 0 00 400563' JRST NTRIB ;NOT A RIB,THEN
440 400555' 200 15 0 13 000176 MOVE TEST1,176(TEMP1);GET PENULTIMATE WORD
441 400556' 302 15 0 00 777777 CAIE TEST1,777777 ;ONE OF THOSE?
442 400557' 254 00 0 00 400563' JRST NTRIB ;NO
443 400560' 200 15 0 13 000177 MOVE TEST1,177(TEMP1);GET LAST WORD.
444 400561' 316 15 0 00 000014 CAMN TEST1,TEMP2 ;THE ACID TEST,SAME BLOCK ADDRESS?
445 400562' 350 00 0 17 000000 AOS (P) ;BUMP RETURN FOR YES
446 400563' 263 17 0 00 000000 NTRIB: POPJ P, ;RETURN
447
448 400564' 201 13 0 00 000465' CONVRT: MOVEI TEMP1,BLKBUF ;GET BASE ADDRESS
449 400565' 260 17 0 00 400552' CONV2: PUSHJ P,TSTRIB ;CHECK FOR RIB
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-6
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
450 400566' 254 00 0 00 400574' JRST NOSTR ;NO
451 400567' 554 15 0 13 000003 HLRZ TEST1,3(TEMP1) ;GET EXT
452 400570' 306 15 0 00 654644 CAIN TEST1,(SIXBIT /UFD/)
453 400571' 254 00 0 00 400574' JRST NOSTR ;UFD
454 400572' 200 15 0 00 000024' MOVE TEST1,STRNO ;GET STRUCTURE POSITION
455 400573' 202 15 0 13 000016 MOVEM TEST1,16(TEMP1) ;STORE IT
456 400574' 271 13 0 00 000200 NOSTR: ADDI TEMP1,200 ;BUMP POINTER.
457 400575' 350 00 0 00 000014 AOS TEMP2 ;AND BLOCK ADDRESS.
458 400576' 367 07 0 00 400565' SOJG TEMP,CONV2 ;DO NEXT
459 400577' 263 17 0 00 000000 POPJ P, ;RETURN.
460
461 TELL: MESS [ASCIZ /
462 400600' 001 00 0 00 401314' BAD BLOCK NUMBER /]
463 400601' 200 05 0 00 000010 MOVE Z,READ ;GET BLOCK NUMBER
464 400602' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT IT
465 400603' 001 00 0 00 401212' MESS [ASCIZ / ON DEVICE /]
466 400604' 261 17 0 00 000001 PUSH P,A ;SAVE A
467 400605' 200 01 0 00 000005' MOVE A,DEV1 ;GET DEVICE
468 400606' 260 17 0 00 401133' PUSHJ P,SIXOUT ;PRINT IT
469 400607' 262 17 0 00 000001 POP P,A ;RESTORE A
470 400610' 254 00 0 00 401157' JRST INTAL ;RE-INIT AND EXIT
471
472 400611' 260 17 0 00 400773' POINTR: PUSHJ P,GETATM ;GET DEVICE NAME
473 400612' 254 00 0 00 400101' JRST BAD ;ILLEGAL
474 400613' 202 01 0 00 000005' MOVEM A,DEVICE ;ELSE STORE IT
475 400614' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET LEFT HALF
476 400615' 254 00 0 00 400101' JRST BAD ;ILLEGAL
477 400616' 323 16 0 00 400621' JUMPLE K,.+3 ;SKIP IF NOT INDIRECT
478 400617' 200 07 0 00 000001 MOVE TEMP,A ;ELSE GET WHOLE WORD
479 400620' 254 00 0 00 400625' JRST STPNT ;AND CONTINUE
480 400621' 514 07 0 00 000001 HRLZ TEMP,A ;STORE IT
481 400622' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET RIGHT HALF
482 400623' 254 00 0 00 400101' JRST BAD ;ILLEGAL
483 400624' 540 07 0 00 000001 HRR TEMP,A ;STORE IT
484 400625' 202 07 0 00 000040' STPNT: MOVEM TEMP,POINAR+4 ;RETAIN
485 400626' 260 17 0 00 400643' PUSHJ P,GETDSK ;GET DISK CHARACTERISTICS
486 MESS [ASCIZ /
487 400627' 001 00 0 00 401320' POINTER SHOWS /]
488 400630' 135 05 0 00 000034' LDB Z,POINAR ;GET CLUSTER COUNT
489 400631' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT IT
490 400632' 001 00 0 00 401324' MESS [ASCIZ /CLUSTERS (/]
491 400633' 220 05 0 00 000037' IMUL Z,POINAR+3 ;CONVERT TO BLOCKS
492 400634' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT IT
493 400635' 001 00 0 00 401327' MESS [ASCIZ /BLOCKS) STARTING AT BLOCK NUMBER /]
494 400636' 135 05 0 00 000036' LDB Z,POINAR+2 ;GET LOGICAL ADDRESS
495 400637' 220 05 0 00 000037' IMUL Z,POINAR+3 ;CONVERT TO BLOCKS
496 400640' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT IT
497 400641' 001 00 0 00 401167' MESS CARLF ;FINISH OFF
498 400642' 254 00 0 00 400113' JRST NXTCM ;EXIT
499
500 400643' 201 01 0 00 000001 GETDSK: MOVEI A,1 ;SET FOR HOME BLOCK
501 400644' 250 01 0 00 000010 EXCH A,READ ;RETAIN OLD BLOCK NUMBER
502 400645' 260 17 0 00 400360' PUSHJ P,INBLK+1 ;READ BLOCK
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-7
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
503 400646' 250 01 0 00 000010 EXCH A,READ ;RESET
504 400647' 200 01 0 00 401336' MOVE A,[XWD BLKBUF+16,POINAR] ;SET FOR BLT
505 400650' 251 01 0 00 000037' BLT A,POINAR+3 ;AND BLTIT
506 400651' 254 00 0 00 400360' JRST INBLK+1 ;RE-READ BLOCK AND RETURN
507
508 400652' 332 00 0 00 000033' CHKSUM: SKIPE SUMCHK ;SKIP IF FIRST ONE
509 400653' 263 17 0 00 000000 POPJ P, ;ELSE IGNORE IT
510 400654' 200 07 0 00 000465' MOVE TEMP,BLKBUF ;GET FIRST WORD
511 400655' 200 02 0 00 000035' MOVE B,POINAR+1 ;GET BYTE POINTER
512 400656' 135 03 0 00 401337' LDB C,[POINT 6,B,11];GET SIZE OF CHECKSUM FIELD
513 400657' 213 00 0 00 000003 MOVNS C ;NEGATE IT
514 400660' 625 02 0 00 770000 TLZA B,770000 ;SET FOR BIT 35
515 400661' 270 07 0 00 000016 CHKSM1: ADD TEMP,K ;SECOND TIME AROUND ADD BYTE
516 400662' 135 16 0 00 000002 LDB K,B ;ELSE GET BYTE
517 400663' 242 07 0 03 000000 LSH TEMP,(C) ;LOSE BYTE
518 400664' 326 07 0 00 400661' JUMPN TEMP,CHKSM1 ;KEEP GOING IF MORE
519 400665' 322 16 0 00 400670' JUMPE K,.+3 ;SKIP IF ZERO
520 400666' 202 16 0 00 000033' MOVEM K,SUMCHK ;ELSE STORE SUMCHK
521 400667' 263 17 0 00 000000 POPJ P, ;AND RETURN
522 400670' 476 00 0 00 000033' SETOM SUMCHK ;FLAG ZERO SUMCHK
523 400671' 263 17 0 00 000000 POPJ P,
524
525 400672' 336 00 0 00 000040' GROPE: SKIPN POINAR+4 ;POINTER SET?
526 400673' 254 00 0 00 400751' JRST DOPFST ;NO TELL HIM
527 400674' 260 17 0 00 401017' PUSHJ P,GETNUM ;NEW SEARCH WORD
528 400675' 254 00 0 00 400706' JRST GRP ;NO
529 400676' 323 16 0 00 400701' JUMPLE K,.+3 ;SKIP IF NOT INDIRECT
530 400677' 200 12 0 00 000001 MOVE FIND,A ;ELSE GET WHOLE WORD
531 400700' 254 00 0 00 400706' JRST GRP ;AND CONTINUE
532 400701' 550 12 0 00 000001 HRRZ FIND,A ;GET FIRST HALF
533 400702' 260 17 0 00 401017' PUSHJ P,GETNUM ;GET NEXT HALF
534 400703' 334 01 0 00 000012 SKIPA A,FIND ;NONE THERE
535 400704' 207 00 0 00 000012 MOVSS FIND ;ELSE SWAP HALVES
536 400705' 540 12 0 00 000001 HRR FIND,A ;SET RIGHT HALF
537 400706' 200 07 0 00 000040' GRP: MOVE TEMP,POINAR+4 ;GET POINTER
538 400707' 135 14 0 00 000036' LDB TEMP2,POINAR+2 ;GETT START BLOCK
539 400710' 220 14 0 00 000037' IMUL TEMP2,POINAR+3 ;CONVERT TO PHYSICAL BLOCK NUMBER
540 400711' 135 00 0 00 000034' LDB Q,POINAR ;GET CLUSTER COUNT
541 400712' 220 00 0 00 000037' IMUL Q,POINAR+3 ;CONVERT TO BLOCKS
542 400713' 402 00 0 00 000033' SETZM SUMCHK ;CLEAR CHECK SUM
543 400714' 200 01 0 00 000014 HEDER: MOVE A,TEMP2 ;GET BLOCK NUMBER
544 400715' 260 17 0 00 400357' PUSHJ P,INBLK ;READ IT
545 400716' 476 00 0 00 000032' SETOM PNTHDD ;SET FLAG
546 400717' 260 17 0 00 400340' PUSHJ P,STUP ;SEARCH IT
547 400720' 201 13 0 00 000465' MOVEI TEMP1,BLKBUF ;SET BASE OF BUFFER
548 400721' 260 17 0 00 400552' PUSHJ P,TSTRIB ;RIB?
549 400722' 260 17 0 00 400652' PUSHJ P,CHKSUM ;CHECKSUM IT
550 400723' 350 00 0 00 000014 AOS TEMP2 ;BUMP READ
551 400724' 367 00 0 00 400714' SOJG Q,HEDER ;MORE TO DO?
552 400725' 402 00 0 00 000032' SETZM PNTHDD ;CLEAR FLAG
553 MESS [ASCIZ /
554
555 400726' 001 00 0 00 401340' CFP IS /]
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 3-8
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
556 400727' 200 07 0 00 000040' MOVE TEMP,POINAR+4 ;GET POINTER
557 400730' 460 01 0 00 000033' SETCM A,SUMCHK ;GET COMPLEMENT OF SUMCHK
558 400731' 336 00 0 00 000001 SKIPN A ;SKIP IF NOT ZERO
559 400732' 402 00 0 00 000033' SETZM SUMCHK ;ELSE CLEAR SUMCHK
560 400733' 135 01 0 00 000035' LDB A,POINAR+1 ;GET CHECKSUM
561 400734' 312 01 0 00 000033' CAME A,SUMCHK ;SAME?
562 400735' 254 00 0 00 400740' JRST .+3 ;NO
563 MESS [ASCIZ /CORRECT
564 400736' 001 00 0 00 401343' /]
565 400737' 254 00 0 00 400113' JRST NXTCM ;GET NEXT COMMAND
566 400740' 200 01 0 00 000033' MOVE A,SUMCHK ;GET CHECKSUM
567 400741' 137 01 0 00 000035' DPB A,POINAR+1 ;STORE IT
568 MESS [ASCIZ /INCORRECT
569 400742' 001 00 0 00 401345' CORRECT VERSION IS /]
570 400743' 554 05 0 00 000007 HLRZ Z,TEMP ;GET LEFT HALF
571 400744' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINT IT
572 400745' 550 05 0 00 000007 HRRZ Z,TEMP ;GET RIGHT HALF
573 400746' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINT IT
574 400747' 001 00 0 00 401166' MESS CARLFLF ;FINISH UP
575 400750' 254 00 0 00 400113' JRST NXTCM ;EXIT
576
577 DOPFST: MESS [ASCIZ /
578 PLEASE SET POINTER FIRST
579 400751' 001 00 0 00 401354' /]
580 400752' 254 00 0 00 400113' JRST NXTCM
581
582 400753' 260 17 0 00 400773' CHOME: PUSHJ P,GETATM ;GET DEVICE
583 400754' 254 00 0 00 400101' JRST BAD ;NONE THERE
584 400755' 202 01 0 00 000010' MOVEM A,DEV2 ;STORE IT
585 400756' 050 03 0 00 000007' OPEN 3,CH3 ;OPEN A CHANNEL
586 400757' 254 00 0 00 400365' JRST BOOB ;CANNOT
587 400760' 260 17 0 00 400500' PUSHJ P,CHGHOM ;CHANGE HOM BLOCKS
588 400761' 254 00 0 00 400113' JRST NXTCM ;NEXT PLEASE
589
590 400762' 336 00 0 00 000032' PNTFND: SKIPN PNTHDD ;PRINT HEADER?
591 400763' 254 00 0 00 400771' JRST JSTNUM ;NO
592 400764' 402 00 0 00 000032' SETZM PNTHDD ;CLEAR FLAG
593 MESS [ASCIZ /
594
595 400765' 001 00 0 00 401362' BLOCK NUMBER /]
596 400766' 200 05 0 00 000010 MOVE Z,READ ;GET BLOCK NUMBER
597 400767' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT IT
598 400770' 001 00 0 00 401166' MESS CARLFLF
599 400771' 200 05 0 00 000001 JSTNUM: MOVE Z,A ;GET WORD ADDRESS
600 400772' 254 00 0 00 401070' JRST PRNTIT ;PRINT IT
601
602 PAGE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 4
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
603 400773' 400 01 0 00 000000 GETATM: SETZ A,0 ;CLEAR A
604 400774' 200 04 0 00 401366' MOVE X,[XWD 440600,A];SET UP BP
605 400775' 002 00 0 00 000005 NEXT: CHRIN Z ;GET CHR IN Z
606 400776' 301 05 0 00 000060 CAIL Z,"0" ;DIGIT?
607 400777' 303 05 0 00 000071 CAILE Z,"9" ;ANY OF THEM?
608 401000' 334 00 0 00 000000 SKIPA ;NO
609 401001' 254 00 0 00 401005' JRST OMIT ;YES
610 401002' 301 05 0 00 000101 CAIL Z,"A" ;LETTER?
611 401003' 303 05 0 00 000132 CAILE Z,"Z" ;ANY OF THEM
612 401004' 254 00 0 00 401011' JRST DONE ;NO
613 401005' 275 05 0 00 000040 OMIT: SUBI Z,40 ;SIXBITIT
614 401006' 603 04 0 00 770000 TLNE X,770000 ;ALL IN?
615 401007' 136 05 0 00 000004 IDPB Z,X ;NO,STORE IT
616 401010' 254 00 0 00 400775' JRST NEXT ;GET NEXT
617 401011' 306 05 0 00 000040 DONE: CAIN Z,40 ;SPACE
618 401012' 322 01 0 00 400775' JUMPE A,NEXT ;IF LEADING,IGNORE
619 401013' 200 02 0 00 000005 MOVE B,Z ;LAST CHAR IN B
620 401014' 332 00 0 00 000001 SKIPE A ;SKIP IF ONE NOT FOUND
621 401015' 350 00 0 17 000000 AOS (P) ;SKIP RETURN
622 401016' 263 17 0 00 000000 POPJ P, ;RETURN.
623
624 401017' 403 01 0 00 000016 GETNUM: SETZB A,K ;CLEAR A
625 401020' 002 00 0 00 000005 TAGN: CHRIN Z ;GET CHAR IN Z
626 401021' 301 05 0 00 000060 CAIL Z,"0" ;DIGIT
627 401022' 303 05 0 00 000067 CAILE Z,"7" ;ANY OF THEM(OCTAL)
628 401023' 254 00 0 00 401031' JRST DUN ;NO
629 401024' 242 01 0 00 000003 LSH A,3 ;LEFT SHIFT A
630 401025' 275 05 0 00 000060 SUBI Z,60 ;DIGITISE IT
631 401026' 476 00 0 00 000016 SETOM K ;SET K
632 401027' 270 01 0 00 000005 ADD A,Z ;ADD IT IN
633 401030' 254 00 0 00 401020' JRST TAGN ;GET NEXT
634 401031' 302 05 0 00 000100 DUN: CAIE Z,"@" ;INDIRECT?
635 401032' 254 00 0 00 401035' JRST .+3 ;NO
636 401033' 200 01 0 01 000465' MOVE A,BLKBUF(A) ;GET ENTRY FROM BUFFER
637 401034' 202 05 0 00 000016 MOVEM Z,K ;SET INDIRECT FLAG
638 401035' 326 16 0 00 401047' JUMPN K,CPOPJ ;SKIP IF NUMBER PRESENT
639 401036' 306 05 0 00 000040 CAIN Z,40 ;SKIP IF NOT SPACE
640 401037' 254 00 0 00 401020' JRST TAGN ;IGNORE LEADERS
641 401040' 302 05 0 00 000057 CAIE Z,"/" ;SLASH?
642 401041' 254 00 0 00 401044' JRST .+3 ;NO
643 401042' 200 04 0 00 401367' MOVE X,[XWD 220600,A];SET MINI BP
644 401043' 254 00 0 00 400775' JRST NEXT ;GET SIXBIT CHARS
645 401044' 302 05 0 00 000015 CAIE Z,15 ;CR?
646 401045' 306 05 0 00 000012 CAIN Z,12 ;LF?
647 401046' 322 16 0 00 401050' JUMPE K,.+2 ;SKIP IF NUMBER FOUND.
648 401047' 350 00 0 17 000000 CPOPJ: AOS (P) ;SKIP RETURN WITH NUMBER
649 401050' 263 17 0 00 000000 TPOPJ: POPJ P, ;RETURN
650
651
652 401051' OUTWRD: ;OCTAL DUMP WORD IN BUFFER
653 ;INDEXED BY A.
654 401051' 200 02 0 01 000465' MOVE B,BLKBUF(A) ;GET WORD
655 401052' 326 02 0 00 401056' JUMPN B,NOTZER ;SKIP IF NOT ZERO
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 4-1
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
656 401053' 326 06 0 00 401050' JUMPN SUP,TPOPJ ;OUT IF SUPPRESSING.
657 401054' 474 06 0 00 000000 SETO SUP,0 ;ELSE SET SUP.
658 401055' 254 00 0 00 401066' JRST CRLF ;AND PRINT ONLY CRLF
659 401056' 400 06 0 00 000000 NOTZER: SETZ SUP,0 ;CLEAR SUPPRESSOR.
660 401057' 476 00 0 00 000031' SETOM SUPRES ;SET FLAG
661 401060' 550 05 0 00 000001 HRRZ Z,A ;GET ADDRESS
662 401061' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINT IT
663 401062' 554 05 0 00 000002 HLRZ Z,B ;GET LH OF WORD.
664 401063' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINT IT
665 401064' 550 05 0 00 000002 HRRZ Z,B ;GET RH OF WORD
666 401065' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINT IT
667 401066' 001 00 0 00 401167' CRLF: MESS CARLF ;PRINT CARLF
668 401067' 263 17 0 00 000000 POPJ P, ;RETURN
669
670 401070' 402 00 0 00 000031' PRNTIT: SETZM SUPRES ;DON'T WANT LEADING ZEROS
671 401071' 200 04 0 00 401370' PRINIT: MOVE X,[XWD 220300,Z];SET BP
672 401072' 134 03 0 00 000004 GETCH: ILDB C,X ;GET DIGIT
673 401073' 326 03 0 00 401076' JUMPN C,.+3 ;SKIP IF NOT ZERO
674 401074' 336 00 0 00 000031' SKIPN SUPRES ;SKIP IF NOT SUPRESSING
675 401075' 254 00 0 00 401101' JRST TESTMR ;ELSE IGNORE IT
676 401076' 476 00 0 00 000031' PNTLST: SETOM SUPRES ;AND SET FLAG
677 401077' 271 03 0 00 000060 ADDI C,60 ;ASCIIFY IT
678 401100' 005 00 0 00 000003 CHROUT C ;OUTPUT CHAR.
679 401101' 603 04 0 00 770000 TESTMR: TLNE X,770000 ;ALL DONE?
680 401102' 254 00 0 00 401072' JRST GETCH ;GET NEXT
681 401103' 336 00 0 00 000031' SKIPN SUPRES ;SKIP IF CHAR PRODUCED
682 401104' 254 00 0 00 401076' JRST PNTLST ;ELSE PRINT ZERO
683 401105' 005 00 0 00 401371' SPSOUT: CHROUT [EXP 40] ;PRINT SPACE
684 401106' 263 17 0 00 000000 POPJ P, ;RETURN
685 PAGE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 5
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
686 ERR1: TTCALL 3,[ASCIZ/
687 CANNOT INIT TTY CHANNEL
688 401107' 051 03 0 00 401372' /]
689 401110' 047 00 0 00 000012 CALLI 12 ;EXIT
690
691 401111' 476 00 0 00 000027' GARB: SETOM CLRUP ;SET CLEAR UP
692 401112' 002 00 0 00 000001 CHRIN A ;GET CHAR
693 401113' 302 01 0 00 000012 CAIE A,12 ;LF?
694 401114' 254 00 0 00 401111' JRST GARB ;NO
695 401115' 263 17 0 00 000000 POPJ P, ;RETURN.
696
697 LIST: MESS [ASCIZ/
698 401116' 001 00 0 00 401400' CURRENT INPUT DEVICE /]
699 401117' 200 01 0 00 000005' MOVE A,DEVICE ;GET DEVICE
700 401120' 260 17 0 00 401133' PUSHJ P,SIXOUT ;PRINT NAME
701 MESS [ASCIZ/
702 401121' 001 00 0 00 401405' LAST BLOCK READ WAS /]
703 401122' 200 05 0 00 000010 MOVE Z,READ ;GET NUMBER
704 401123' 260 17 0 00 401070' PUSHJ P,PRNTIT ;PRINT IT
705 MESS [ASCIZ/
706 401124' 001 00 0 00 401412' CURRENT SEARCH WORD /]
707 401125' 554 05 0 00 000012 HLRZ Z,FIND
708 401126' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINT IT
709 401127' 550 05 0 00 000012 HRRZ Z,FIND ;GET RIGHT HALF
710 401130' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINT IT
711 401131' 001 00 0 00 401166' MESS CARLFLF
712 401132' 254 00 0 00 400113' JRST NXTCM ;GET NEXT COMMAND.
713
714 401133' 200 04 0 00 401366' SIXOUT: MOVE X,[XWD 440600,A];SET BP
715 401134' 134 03 0 00 000004 ILDB C,X ;GET CHAR.
716 401135' 271 03 0 00 000040 ADDI C,40 ;ASCIIFY IT
717 401136' 005 00 0 00 000003 CHROUT C ;PRINT CHAR.
718 401137' 603 04 0 00 770000 TLNE X,770000 ;ALL DONE?
719 401140' 254 00 0 00 401134' JRST SIXOUT+1 ;DO NEXT
720 401141' 254 00 0 00 401105' JRST SPSOUT ;PRINT SPACE
721
722 401142' 554 05 0 00 000001 OCTOUT: HLRZ Z,A ;GET LEFT HALF
723 401143' 476 00 0 00 000031' SETOM SUPRES ;FORCE 12 CHARS
724 401144' 260 17 0 00 401071' PUSHJ P,PRINIT ;PRINTIT
725 401145' 550 05 0 00 000001 HRRZ Z,A ;GET RIGHT HALF
726 401146' 254 00 0 00 401071' JRST PRINIT ;PRINTIT AND RETURN.
727
728 401147' 260 17 0 00 401111' GETANS: PUSHJ P,GARB ;CLEAR UP
729 401150' 002 00 0 00 000005 CHRIN Z ;GET CHAR
730 401151' 306 05 0 00 000131 CAIN Z,"Y" ;YES?
731 401152' 354 00 0 17 000000 AOSA (P) ;SKIP
732 401153' 306 05 0 00 000116 CAIN Z,"N" ;NO?
733 401154' 263 17 0 00 000000 POPJ P, ;RETURN
734 MESS [ASCIZ/
735 PLEASE ANSWER Y OR N
736 401155' 001 00 0 00 401417' ?/]
737 401156' 254 00 0 00 401150' JRST GETANS+1 ;TRY AGAIN.
738
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 5-1
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
739 401157' 050 02 0 00 000004' INTAL: OPEN 2,CH2 ;OPENINPUT CHANNEL
740 401160' 254 00 0 00 400101' JRST BAD ;CANNOT
741 401161' 050 03 0 00 000007' OPEN 3,CH3 ;AND THE OUTPUT CHANNEL
742 401162' 254 00 0 00 400101' JRST BAD ;CANNOT
743 401163' 263 17 0 00 000000 POPJ P, ;RETURN
744 PAGE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 6
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
745 ;I/0 LISTS ETC
746 401164' 777770 000454' PLIST: IOWD 10,STACK ;PUSH DOWN POINTER
747 401165' 064245 200000 STRWRD: XWD 064245,200000 ;CR LF*
748 401166' 064241 200000 CARLFL: XWD 064241,200000 ;CR LF LF
749 401167' 064240 000000 CARLF: XWD 064240,0 ;CR LF
750 401170' LIT ;EXPAND LITERALS HERE
751 401170' 65 63 45 64 51 00
752 401171' 65 63 45 64 57 00
753 401172' 777600 000464'
754 401173' 260 17 0 00 400134'
755 401174' 350703 000000
756 401175' 015 012 111 114 114
757 401176' 105 107 101 114 040
758 401177' 103 117 115 115 101
759 401200' 116 104 015 012 000
760 401201' 331100 000040
761 401202' 040 111 123 040 000
762 401203' 040 000 000 000 000
763 401204' 040 117 056 113 056
764 401205' 077 040 000 000 000
765 401206' 015 012 104 125 115
766 401207' 120 040 117 106 040
767 401210' 102 114 117 103 113
768 401211' 040 000 000 000 000
769 401212' 040 117 116 040 104
770 401213' 105 126 111 103 105
771 401214' 040 000 000 000 000
772 401215' 777600 000000
773 401216' 015 012 127 122 111
774 401217' 124 105 040 102 114
775 401220' 117 103 113 040 116
776 401221' 125 115 102 105 122
777 401222' 040 000 000 000 000
778 401223' 015 012 103 117 116
779 401224' 106 111 122 115 077
780 401225' 000 000 000 000 000
781 401226' 015 012 106 101 111
782 401227' 114 105 104 041 041
783 401230' 015 012 000 000 000
784 401231' 015 012 103 117 120
785 401232' 131 040 106 122 117
786 401233' 115 040 104 105 126
787 401234' 111 103 105 040 000
788 401235' 040 124 117 040 104
789 401236' 105 126 111 103 105
790 401237' 040 000 000 000 000
791 401240' 040 123 105 124 124
792 401241' 111 116 107 040 111
793 401242' 104 105 116 124 111
794 401243' 124 131 000 000 000
795 401244' 015 012 103 117 116
796 401245' 106 111 122 115 077
797 401246' 040 000 000 000 000
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 6-1
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
798 401247' 000000 000001
799 401250' 015 012 106 117 122
800 401251' 040 124 110 105 040
801 401252' 106 117 114 114 117
802 401253' 127 111 116 107 040
803 401254' 120 101 122 101 115
804 401255' 105 124 105 122 123
805 401256' 040 124 131 120 105
806 401257' 040 103 101 122 122
807 401260' 111 101 107 105 040
808 401261' 122 105 124 125 122
809 401262' 116 040 111 106 040
810 401263' 117 056 113 056 015
811 401264' 012 105 114 123 105
812 401265' 040 124 131 120 105
813 401266' 040 124 110 105 040
814 401267' 116 105 127 040 126
815 401270' 101 114 125 105 015
816 401271' 012 000 000 000 000
817 401272' 015 012 125 116 111
818 401273' 124 040 111 104 000
819 401274' 015 012 123 124 122
820 401275' 125 103 124 125 122
821 401276' 105 040 116 101 115
822 401277' 105 000 000 000 000
823 401300' 015 012 123 124 122
824 401301' 125 103 124 125 122
825 401302' 105 040 116 125 115
826 401303' 102 105 122 000 000
827 401304' 015 012 120 117 123
828 401305' 111 124 111 117 116
829 401306' 040 111 116 040 123
830 401307' 131 123 040 123 105
831 401310' 101 122 103 110 040
832 401311' 114 111 123 124 000
833 401312' 000000 000012
834 401313' 777635 000033
835 401314' 015 012 102 101 104
836 401315' 040 102 114 117 103
837 401316' 113 040 116 125 115
838 401317' 102 105 122 040 000
839 401320' 015 012 120 117 111
840 401321' 116 124 105 122 040
841 401322' 123 110 117 127 123
842 401323' 040 000 000 000 000
843 401324' 103 114 125 123 124
844 401325' 105 122 123 040 050
845 401326' 000 000 000 000 000
846 401327' 102 114 117 103 113
847 401330' 123 051 040 123 124
848 401331' 101 122 124 111 116
849 401332' 107 040 101 124 040
850 401333' 102 114 117 103 113
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 6-2
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
851 401334' 040 116 125 115 102
852 401335' 105 122 040 000 000
853 401336' 000503' 000034'
854 401337' 30 06 0 00 000002
855 401340' 015 012 015 012 103
856 401341' 106 120 040 111 123
857 401342' 040 000 000 000 000
858 401343' 103 117 122 122 105
859 401344' 103 124 015 012 000
860 401345' 111 116 103 117 122
861 401346' 122 105 103 124 015
862 401347' 012 103 117 122 122
863 401350' 105 103 124 040 126
864 401351' 105 122 123 111 117
865 401352' 116 040 111 123 040
866 401353' 000 000 000 000 000
867 401354' 015 012 120 114 105
868 401355' 101 123 105 040 123
869 401356' 105 124 040 120 117
870 401357' 111 116 124 105 122
871 401360' 040 106 111 122 123
872 401361' 124 015 012 000 000
873 401362' 015 012 015 012 102
874 401363' 114 117 103 113 040
875 401364' 116 125 115 102 105
876 401365' 122 040 000 000 000
877 401366' 440600 000001
878 401367' 220600 000001
879 401370' 220300 000005
880 401371' 000000 000040
881 401372' 015 012 103 101 116
882 401373' 116 117 124 040 111
883 401374' 116 111 124 040 124
884 401375' 124 131 040 103 110
885 401376' 101 116 116 105 114
886 401377' 015 012 000 000 000
887 401400' 015 012 103 125 122
888 401401' 122 105 116 124 040
889 401402' 111 116 120 125 124
890 401403' 040 104 105 126 111
891 401404' 103 105 040 000 000
892 401405' 015 012 114 101 123
893 401406' 124 040 102 114 117
894 401407' 103 113 040 122 105
895 401410' 101 104 040 127 101
896 401411' 123 040 000 000 000
897 401412' 015 012 103 125 122
898 401413' 122 105 116 124 040
899 401414' 123 105 101 122 103
900 401415' 110 040 127 117 122
901 401416' 104 040 000 000 000
902 401417' 015 012 120 114 105
903 401420' 101 123 105 040 101
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 6-3
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
904 401421' 116 123 127 105 122
905 401422' 040 131 040 117 122
906 401423' 040 116 015 012 077
907 401424' 000 000 000 000 000
908 PAGE
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 7
USET MAC 3-FEB-72 11:34 THE HATFIELD POLYTECHNIC COMPUTER CENTRE--C.MITCHELL 1971
909
910
911
912
913 ;WORK AREA
914 000000' RELOC 0
915
916 000000' COPYBK: BLOCK 2
917 000002' COPYST: BLOCK 2
918 000004' CH2: BLOCK 1
919 000005' DEVICE:
920 000005' DEV1: BLOCK 1
921 000006' BLOCK 1
922 000007' CH3: BLOCK 1
923 000010' DEVIDE:
924 000010' DEV2: BLOCK 1
925 000011' BLOCK 1
926 000012' INFL: BLOCK 4
927 000016' OUTFL: BLOCK 4
928 000022' EXT: BLOCK 1
929 000023' STR: BLOCK 1 ;FOR FILE STRUCTURE NAME
930 000024' STRNO: BLOCK 1 ;FOR FILE STRUCTURE NUMBER
931 000025' ID: BLOCK 1 ;UNIT IDENTITY
932 000026' SYSCH: BLOCK 1 ;SYS SEARCH LIST POSITION
933 000027' CLRUP: BLOCK 1
934 000030' TTYP: BLOCK 1 ;IF NON ZERO OUTPUT IS TO TTY
935 000031' SUPRES: BLOCK 1 ;IF ZERO SUPRESS LEADING 0'S
936 000032' PNTHDD: BLOCK 1
937 000033' SUMCHK: BLOCK 1
938 000034' POINAR: BLOCK 5 ;CONTAINS DISK CHARACTERISTICS FROM HOM
939 000041' ITTY: BLOCK 3 ;INPUT BUFFER HEADER
940 000044' OTTY: BLOCK 3 ;OUTPUT BUFFER HEADER
941 000047' TTYBUF: BLOCK 406 ;INPUT/OUTPUT BUFFERS.
942 000455' STACK: BLOCK 10 ;PUSH DOWN STACK
943 000465' BLKBUF: BLOCK 200 ;EXPANDIBLE BUFFER.
944 401425' RELOC
945 400000' END GSTART
NO ERRORS DETECTED
HI-SEG. BREAK IS 401425
PROGRAM BREAK IS 000665
3K CORE USED
USET LOW LEVEL DISK MANIPULATOR. MACRO 46(52) 12:11 3-FEB-72 PAGE 8
USET MAC 3-FEB-72 11:34 SYMBOL TABLE
A 000001 HEDER 400714' SLOW 400531'
B 000002 HOMUP 003000 000000 SPSOUT 401105'
BAD 400101' HOMUPD 400214' STACK 000455'
BLKBUF 000465' ID 000025' START 400016'
BOOB 400365' INBLK 400357' STPNT 400625'
BOTTAB 400116' INFL 000012' STR 000023'
C 000003 INTAL 401157' STRNO 000024'
CARLF 401167' INUSE 400355' STRWRD 401165'
CARLFL 401166' ITTY 000041' STUP 400340'
CH2 000004' JOBFF 400047' EXT STUPP 400336'
CH3 000007' JSTNUM 400771' SUMCHK 000033'
CHGHOM 400500' K 000016 SUP 000006
CHIN 400164' KEPON 400152' SUPRES 000031'
CHKSM1 400661' LFDEF 400172' SYSCH 000026'
CHKSUM 400652' LIST 401116' TAGN 401020'
CHOME 400753' MESS 001000 000000 TELL 400600'
CHOUT 400207' MESSG 400147' TEMP 000007
CHRIN 002000 000000 NEWFL 400102' TEMP1 000013
CHROUT 005000 000000 NEXT 400775' TEMP2 000014
CLRTFL 400066' NHOMD 400227' TEST1 000015
CLRUP 000027' NHOMUP 004000 000000 TESTMR 401101'
COMPRS 400474' NOSTR 400574' TOPTAB 400147'
CONV2 400565' NOTZER 401056' TOPUUO 000005
CONVRT 400564' NTRIB 400563' TPOPJ 401050'
COPY 400367' NXTCM 400113' TST1 400455'
COPYBK 000000' NXTCMM 400071' TSTRIB 400552'
COPYST 000002' OCTOUT 401142' TTDEV 400032'
CPOPJ 401047' OMIT 401005' TTYBUF 000047'
CRLF 401066' OTTY 000044' TTYP 000030'
DEPOSI 400264' OUTCR 400201' UPDHOM 400516'
DEV1 000005' OUTFL 000016' USETTY 400031'
DEV2 000010' OUTUUO 400140' USTDEV 400021'
DEVICE 000005' OUTWRD 401051' UUOH 400134'
DEVIDE 000010' P 000017 UUOTAB 400142'
DOALL 400250' PLIST 401164' WRITE 400300'
DONE 401011' PNTFND 400762' X 000004
DOPFST 400751' PNTHDD 000032' YUP 400177'
DUN 401031' PNTLST 401076' Z 000005
ERR1 401107' POINAR 000034'
EXAMIN 400242' POINTR 400611'
EXT 000022' PRINIT 401071'
FIND 000012 PRNTEM 400261'
FINUP 400160' PRNTIT 401070'
GARB 401111' Q 000000
GETANS 401147' READ 000010
GETATM 400773' READD 400346'
GETCH 401072' RPT1 400533'
GETDSK 400643' RPTR 400441'
GETNUM 401017' SAME 000011
GETSH 400072' SCAN 400074'
GROPE 400672' SEARCH 400324'
GRP 400706' SETBUF 400041'
GSTART 400000' SIXOUT 401133'
A 8# 68 69 74 75 76 77 78 79 84 85 86 87 88
90 93 97 103 104 132 133 134 135 136 150 151 154 170
172 173 175 179 180 183 188 197 200 209 215 223 227 229
234 237 240 242 247 252 255 258 271 273 275 277 281 282
285 290 298 312 315 321 324 330 332 333 337 338 380 381
393 394 396 397 399 400 402 403 420 433 466 467 469 474
478 480 483 500 501 503 504 505 530 532 534 536 543 557
558 560 561 566 567 584 599 603 604 618 620 624 629 632
636 643 654 661 692 693 699 714 722 725
B 9# 71 72 95 96 97 147 148 149 150 158 282 283 316
344 346 347 348 349 350 351 352 370 372 373 374 375 376
377 378 408 409 411 413 511 512 514 516 619 654 655 663
665
BAD 96 100# 217 233 236 239 241 311 314 473 476 482 583 740
742
BLKBUF 44 242 282 337 344 347 349 351 372 374 376 378 380 393
396 399 402 409 413 448 504 510 547 636 654 943#
BOOB 246 249 251 266 292 300 304# 339 345 371 382 388 412 417
586
BOTTAB 94 117#
C 10# 94 95 98 99 189 190 201 202 512 513 517 672 673
677 678 715 716 717
CARLF 225 226 497 667 749#
CARLFL 574 598 711 748#
CH2 42 299 739 918#
CH3 43 250 585 741 922#
CHGHOM 336 385# 587
CHIN 140 161# 173
CHKSM1 515# 518
CHKSUM 508# 549
CHOME 129 582#
CHOUT 143 180#
CLRTFL 86 89#
CLRUP 167 174 691 933#
COMPRS 367 380#
CONV2 449# 458
CONVRT 360 428 448#
COPY 125 309#
COPYBK 45 264 302 343 369 386 410 415 423 429 916#
COPYST 47 355 361 917#
CPOPJ 638 648#
CRLF 658 667#
DEPOSI 122 232#
DEV1 312 321 467 920#
DEV2 315 324 584 924#
DEVICE 223 290 474 699 919#
DEVIDE 247 258 923#
DOALL 214 218#
DONE 612 617#
DOPFST 526 577#
DUN 628 634#
ERR1 63 67 83 166 686#
EXAMIN 121 212#
EXT 36 77 104 928#
FIND 17# 35 36 37 38 39 40 41 42 43 44 45 46 47
48 271 273 275 276 277 283 530 532 534 535 536 707 709
FINUP 151 156#
GARB 112 194 206 691# 694 728
GETANS 262 330 728# 737
GETATM 195 245 288 310 313 472 582 603#
GETCH 672# 680
GETDSK 485 500#
GETNUM 207 213 232 235 238 248 268 274 291 475 481 527 533 624#
GETSH 93# 117
GROPE 128 525#
GRP 528 531 537#
GSTART 35# 945
HEDER 543# 551
HOMUPD 141 188#
ID 346 370 931#
INBLK 293 295 298# 502 506 544
INFL 38 78 80 107 108 926#
INTAL 318 419 431 470 739#
INUSE 289 295#
ITTY 53 62 161 168 172 939#
JOBFF 31# 69 72 74
JSTNUM 591 599#
K 21# 270 477 515 516 519 520 529 624 631 637 638 647
KEPON 150# 155
LFDEF 162 167#
LIST 124 697#
MESSG 139 147#
NEWFL 103# 126
NEXT 605# 616 618 644
NHOMD 142 200#
NOSTR 450 453 456#
NOTZER 655 659#
NTRIB 439 442 446#
NXTCM 112# 230 243 263 265 279 294 296 307 334 383 498 565 575
580 588 712
NXTCMM 92# 114 118
OCTOUT 204 722#
OMIT 609 613#
OTTY 57 66 152 154 181 183 940#
OUTCR 171 174#
OUTFL 40 79 82 109 110 927#
OUTUUO 136# 159 178 184 198 210
OUTWRD 228 652#
P 22# 50 75 112 113 132 136 137 147 158 175 176 179 188
192 194 195 197 200 204 206 207 209 213 221 224 228 232
235 238 245 248 256 259 262 268 274 278 284 286 288 291
293 295 303 310 313 318 322 325 333 336 360 379 416 419
425 428 431 445 446 449 459 464 466 468 469 472 475 481
485 489 492 496 502 509 521 523 527 533 544 546 548 549
571 573 582 587 597 621 622 648 649 662 664 666 668 684
695 700 704 708 710 724 728 731 733 743
PLIST 50 113 746#
PNTFND 284 590#
PNTHDD 545 552 590 592 936#
PNTLST 676# 682
POINAR 484 488 491 494 495 504 505 511 525 537 538 539 540 541
556 560 567 938#
POINTR 127 472#
PRINIT 571 573 662 664 666 671# 708 710 724 726
PRNTEM 216 228#
PRNTIT 221 256 464 489 492 496 597 600 670# 704
Q 7# 540 541 551
READ 15# 48 220 289 298 301 309 353 354 364 365 420 421 422
432 433 463 501 503 596 703
READD 119 288#
RPT1 421# 434
RPTR 341 353# 366
SAME 16# 309 317 326 331 335 341 358 367 426
SCAN 95# 99
SEARCH 123 268#
SETBUF 59 68#
SIXOUT 192 224 259 322 325 468 700 714# 719
SLOW 357 363 419#
SPSOUT 683# 720
STACK 746 942#
START 49# 111
STPNT 479 484#
STR 348 373 929#
STRNO 350 375 454 930#
STRWRD 92 747#
STUP 278 281# 546
STUPP 269 272 278#
SUMCHK 508 520 522 542 557 559 561 566 937#
SUP 13# 212 656 657 659
SUPRES 660 670 674 676 681 723 935#
SYSCH 352 377 932#
TAGN 625# 633 640
TELL 425 461#
TEMP 14# 234 237 242 359 427 458 478 480 483 484 510 515 517
518 537 556 570 572
TEMP1 18# 437 440 443 448 451 455 456 547
TEMP2 19# 340 444 457 538 539 543 550
TEST1 20# 437 438 440 441 443 444 451 452 454 455
TESTMR 675 679#
TOPTAB 144# 145
TOPUUO 134 145#
TPOPJ 649# 656
TST1 365# 435
TSTRIB 437# 449 548
TTDEV 61# 87
TTYBUF 68 71 941#
TTYP 89 91 156 177 934#
UPDHOM 379 405 407#
USETTY 54 58 60#
USTDEV 52# 84
UUOH 75 132#
UUOTAB 135 139# 145
WRITE 120 245#
X 11# 604 614 615 643 671 672 679 714 715 718
YUP 164 169 172#
Z 12# 220 255 463 488 491 494 495 570 572 596 599 605 606
607 610 611 613 615 617 619 625 626 627 630 632 634 637
639 641 645 646 661 663 665 671 703 707 709 722 725 729
730 732
CHRIN 27# 93 605 625 692 729
CHROUT 30# 678 683 717
HOMUP 28# 394 397 400
MESS 26# 92 100 190 191 193 202 203 205 218 222 225 226 253
257 260 304 319 323 327 328 389 461 465 486 490 493 497
553 563 568 574 577 593 598 667 697 701 705 711 734
NHOMUP 29# 403