software: Added more and more
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape3 / RWTAPE.SB
CommitLineData
7af5ad59
PH
1/DECTAPE I-O ROUTINES OS8 FORTRAN II LIBRARY
2/
3/
4/
5/
6/
7/
8/
9/
10/
11/COPYRIGHT (C) 1974,1977 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 MANUAL.
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\f/ VERSION 2A
46/
47/ CALL 4, RTAPE(WTAPE)
48/ ARG UNIT
49/ ARG +-BLOCK (-MEANS START SEARCH FORWARD)
50/ ARG WORD COUNT
51/ ARG CORE ADDRESS
52/ VERSION NUMBER IS AVAILABLE AT ENTRY POINTS
53/
54 ENTRY RTAPE
55 ENTRY WTAPE
56 DUMMY WCT
57 DUMMY CAD
58 OPDEF TADI 1400
59 OPDEF DCAI 3400
60
61 LAP /ENABLE FIT INTO 1 PAGE
62/
63/DATA
64/
65DFUNC, 0
66DBLK, 0
67DWCT, 0
68DFIELD, 0
69WCT, 7754
70CAD, 7755
71DCORE,
72/
73/ARG PICKUP ROUTINE
74/
75GETARG, 0
76 TAD I RTAPE
77 DCA AA
78 INC RTAPE#
79 TADI RTAPE#
80 DCA WTAPE#
81 INC RTAPE#
82AA, NOP /SET DATA FIELD
83 TADI WTAPE#
84 JMP I GETARG
85/
86/ERROR
87/
88DTERR, CALL 1,ERROR /CK FOR ERROR
89 ARG TAPERR
90/
91/DATA
92/
93/
94/START
95/
96WTAPE, BLOCK 1
97 2
98 TAD WTAPE /MOVE ARG ADDR TO RTAPE
99 DCA RTAPE
100 TAD WTAPE#
101 DCA RTAPE#
102 IAC /WRITE FUNCTION
103 JMP TARGS
104TAPERR, 2401 /TA
105 2005 /PE
106RTAPE, BLOCK 1
107 2
108TARGS, DCA DFUNC /READ=0, WRITE=1
109 JMS GETARG /GET UNIT #
110 CLL RTR /TO BITS 0-2
111 RTR
112 TAD DFUNC /COMBINE WITH R-W BIT
113 DCA DFUNC
114 JMS GETARG /GET BLK #
115 SMA
116 JMP RT2 /REV. SRCH.
117 CIA /FORWARD SRCH.
118 DCA DBLK
119 JMP RT3
120RT2, DCA DBLK
121 TAD (400 /REV. SRCH. BIT
122 TAD DFUNC
123 DCA DFUNC
124RT3, JMS GETARG /GET W.C.
125 CIA
126 DCA DWCT
127 JMS GETARG /GET CORE ADDR
128 CLA CMA
129 TAD WTAPE#
130 DCA DCORE
131 TAD AA /GET CORE FIELD
132 DCA DFIELD
133/
134/DEFINITIONS
135/
136OPDEF DTCA 6762
137OPDEF DTXA 6764
138OPDEF DTLB 6774
139OPDEF DTRB 6772
140SKPDF DTSF 6771
141OPDEF DTRA 6761
142/
143/START OF DECTAPE I-O
144/
145 TAD DFUNC /UNIT & DIRECTION
146 AND (7400
147 TAD (10 /+ SRCH MODE
148 DTCA DTXA /SET STATUS & CLR FLGS
149 DTLB /CLR FIELD BITS
150 TAD WCT /USE 7754 AS ADDR TO
151 6201 /SET FIELD 0
152 DCAI CAD /STORE BLK FOUND
153DTSERR, RTL /REENTRY FOR SRCH ERROR
154 RAL /ENDZONE FLAG TO LINK
155 CLA CML /CHANGE DIRECTION
156 TAD (200 /DTA GO FLAG
157DTCONT, SNL /CK DIR.
158DTREV, TAD (400 /CHANGE DIR.
159DTSRCH, DTXA /GO INTO SEARCH
160 DTSF DTRB /READ CONDITION
161 JMP DTSRCH#
162 SPA
163 JMP DTSERR /ERROR
164 DTRA /GET CUR. DIR.
165 RTL /TO LINK
166 RTL
167 SZL CLA
168 TAD (3 /FOR REV GET BLK-3
169 6201
170 TADI WCT /# OF LAST BLK SEEN
171 CMA /CIA MIGHT BLOW THE LINK
172 TAD DBLK
173 CMA
174 SZA CLA
175 JMP DTCONT /CONT. SRCH
176 SZL /FOUND, CK DIR.
177 JMP DTREV /IF REV, SNEAK BACK UP
178 TAD DWCT /SET WORD COUNT
179 DCAI WCT
180 TAD DCORE
181 DCAI CAD
182LABEL, TAD DFIELD /LOAD FIELD BITS
183 DTLB
184 IAC /GET R-W FUNCTION
185 AND DFUNC
186 CLL RTL
187 RTL
188 TAD (130 /SET UP FUNCTION FOR
189 /THE XOR TO GIVE SRCH
190 /MODE CLEARED & SET CONTINUOUS MODE
191 /READ=3, WRITE=5
192 DTXA /BEGIN TRANSFER
193DTWAIT, DTSF /WAIT FOR W.C. OVERFLOW
194 JMP DTWAIT
195 DTRA
196 AND (200 /STOP-GO BIT
197 TAD (2 /SAVE DTA & ERROR FLAGS
198 DTXA /STOP TAPE
199 DTRB /READ ERROR FLAGS
200 SPA CLA /CK FOR ERROR
201 JMP DTERR /YES
202 RETRN RTAPE
203 END
204\f