1 /8 DUMP LPT HANDLER FOR OS/8
11 /COPYRIGHT (C) 1974,1977 BY DIGITAL EQUIPMENT CORPORATION
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.
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.
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
50 / DIGITAL EQUIPMENT CORPORATION
52 / MAYNARD MASSACHUSETTS 01754
58 KCLR=CODE^10+6700 /CLEAR ALL
59 KSDR=CODE^10+6701 /SKIP ON DATA FLAG
60 KSEN=CODE^10+6702 /SKIP ON ERROR
61 KSBF=CODE^10+6703 /SKIP ON READY FLAG
62 KLSA=CODE^10+6704 /LOAD STATUS A
63 KSAF=CODE^10+6705 /SKIP ON ANY FLAG OR ERROR
64 KGOA=CODE^10+6706 /ASSERT CONTENTS OF STATUS A AND XFER
65 KRSB=CODE^10+6707 /READ STATUS B
67 BSW=7002 /BYTE SWAP [8/E,F ONLY]
82 / 4-7 UNUSED (TAKES LOW ORDER 2 BITS ONLY CURRENTLY)
86 / 1976 S.R. ORIGINALLY WRITTEN
87 / 19-MAR-77 S.R. FIXED BUG WITH BUFFER ENDING AT 7777
92 DEVICE DUMP;DEVICE DUMP;1360;DUMP&177+4000;ZBLOCK 2
97 LINK, 0 /POINTS TO 'LINC' ON NEXT PAGE
98 TAD I DUMP /GET FUNCTION CONTROL WORD
100 ISZ DUMP /POINT TO BUFFER STARTING ADDRESS
101 TAD I DUMP /GET BUFFER STARTING ADDRESS
103 ISZ DUMP /POINT TO STARTING BLOCK #
104 TAD I DUMP /GET STARTING BLOCK NUMBER
105 DCA BLOCK /SAVE IT IN 'BLOCK'
106 ISZ DUMP /POINT TO USER'S ERROR RETURN
108 TAD KCIDF /FOR 'CIF CDF' TO USER'S FIELD
109 DCA DMPRET /NEED IT TO RETURN TO HIM LATER
110 TAD FNWD /LOOK AT FUNCTION WORD
111 SMA /BIT 0 IS READ/WRITE BIT
112 JMP ERRET /TAKE FATAL ERROR IF GUY TRIED TO
117 JMP CLOSE /0 PAGES MEANS PERFORM CLOSE
119 CIA /STORE AWAY NEGATIVE OF
120 /NUMBER OF LINES TO DUMP
122 TAD FNWD /LOOK SOME MORE AT ALL-IMPORTANT
124 L374, AND L70 /ISOLATE FIELD OF BUFFER
125 TAD KCDF /FORM 'CDF' TO FLD OF BUFFER
126 DCA .+1 /STORE IT IN NEXT LOCATION
128 BPTR, HLT /CHANGE DATA FIELD TO FLD OF BUFFER
146 TAD L40 /MUST BE REAL 40
152 C, TAD I BPTR /GET WORD FROM BUFFER
154 JMS PRINT-200 /PRINT IT IN OCTAL ON LIST DEVICE
155 ISZ BPTR /POINT TO NEXT WORD IN BUFFER
157 ISZ CKNT /DONE WITH THIS ROW?
158 JMP C /NO, GO PRINT NEXT WORD
171 ISZ BPTR /POINT TO NEXT WORD IN BUFFER
173 ISZ CKNT /DONE WITH THIS ROW?
174 JMP D /NO, GO ON TO NEXT WORD
178 E, TAD I BUFFER /GET WORD 1 OF PAIR
180 JMP PUTSAV-200 /PUT OUT THE CHAR AND SAVE THE WORD
181 ISZ BUFFER /POINT TO WORD 2 OF PAIR
182 TAD I BUFFER /GET WORD 2 OF PAIR
185 ISZ BUFFER /POINT TO BEGIN OF NEXT PAIR
187 JMP THIRD-200 /PRINT THIRD CHAR FROM
188 /REMEMBRANCES OF LAST TWO
190 ISZ CKNT /DONE WITH THIS ROW?
191 JMP E /NO, GO ON TO NEXT PAIR
193 JMP CRLF-200 /PRINT CARRIAGE RETURN/LINE FEED
194 ISZ KNT /DONE WITH BUFFER YET?
197 ISZ RKNT /DONE WITH LAST ROW OF PAGE?
198 JMP A /NO, GO ON TO NEXT ROW IN SAME PAGE
199 ISZ BLOCK /BUMP BLOCK NUMBER BY 1
200 JMP B /GO DUMP THE NEXT PAGE
201 \fCLOSE, STA /-1 CHANGES CR TO FORM FEED
204 OKRET, ISZ DUMP /POINT TO NORMAL RETURN
205 M40, SMA SZA CLA /AC 0 SO ALWAYS SKIPS
206 ERRET, STL CLA RAR /FATAL ERROR HAS AC NEGATIVE
207 DMPRET, HLT /PERFORM 'CIF CDF' TO USER'S FIELD
221 L40, 40 /MUST BE REAL 40
225 CKNT, 0 /COLUMN COUNT
226 BLOCK, 0 /CURRENT BLOCK NUMBER
228 IFZERO .-375&4000 <ERROR>
230 L70, 70 /MUST BE AT REL LOC 174
231 KNT, 0 /- NUMBER OF PAGES LEFT TO DUMP
232 IFNZRO L70-374 <ERROR>
234 JMS LINK /GET ADDRESS OF NEXT PAGE INTO LINK
237 \f LSF=6661 /SLIP ON LPT FLAG
238 LLS=6666 /LOAD LPT BUFFER
259 POP, JMP I LINC /RETURN
261 IFNZRO POP&177-15 <ERROR> /MUST BE AT 15 IN PG
262 IFNZRO DOIT&177-14 <ERROR>
263 IFNZRO TEMP&177-12 <ERROR>
276 AND L177 /FORCE 7-BIT
277 TAD M140 /DO RANGE CHECK
279 TAD (100 /FOR BETWEEN 40 AND 137
282 M140, SZA CLA /NEVER SKIPS
283 PUTSPC, TAD TTY40 /RESTORE CHAR OR BLANK
287 NOP /THIS MAY BE AN 'LLS' OR 0
328 JMP I LPUT /YES, RETURN
344 TAD L214 /14 SHIFTS TO 60
345 /AND L214 HAS AC0 = 0
352 ISZ CNT /BUG IF TRY TO USE AS L214
355 L214, 214 /COULD BE 'AND CNT'
357 SAVE, 0 /MUST BE DEDICATED. USED AS SHIFT
358 /REG AND MUST BE ALMOST 0 ON ENTRY
366 DCA LOW /BLOCK 0 INITIALIZATION
376 / TAD (10 /MUST BE REAL 10