Add README.md
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / hppw.ra
CommitLineData
81e70d48
PH
1/ -+-+-+-+-+ \ e H P P W . R A \ e -+-+-+-+-+\r
2 SECT #PARTW\r
3 ENTRY S1\r
4 ENTRY S2\r
5 ENTRY S3\r
6 ENTRY S4\r
7 ENTRY S5\r
8 ENTRY S6\r
9 ENTRY T1\r
10 ENTRY T2\r
11 ENTRY T3\r
12 ENTRY Q1\r
13 ENTRY Q2\r
14 ENTRY Q3\r
15 ENTRY Q4\r
16 ENTRY H1\r
17 ENTRY H2\r
18 ENTRY LOC / RETURNS ADR. OF PARAMETER FLOATED\r
19 ENTRY IATX / CONVERT FRACTION INTO 12 BIT INTEGER R.J.Z.F.\r
20 ENTRY IXTA / INTEGER --> FRACTIONAL CONVERSION\r
21 BASE 0 / STAY ON CALLERS BASE\r
22 ORG .\r
23BSW= 7002\r
24/\r
25S1, STARTD\r
26 FLDA ADOS1\r
27 JA PARTW\r
28S2, STARTD\r
29 FLDA ADOS2\r
30 JA PARTW\r
31S3, STARTD\r
32 FLDA ADOS3\r
33 JA PARTW\r
34S4, STARTD\r
35 FLDA ADOS4\r
36 JA PARTW\r
37S5, STARTD\r
38 FLDA ADOS5\r
39 JA PARTW\r
40S6, STARTD\r
41 FLDA ADOS6\r
42 JA PARTW\r
43Q1, STARTD\r
44 FLDA ADOQ1\r
45 JA PARTW\r
46Q2, STARTD\r
47 FLDA ADOQ2\r
48 JA PARTW\r
49Q3, STARTD\r
50 FLDA ADOQ3\r
51 JA PARTW\r
52Q4, STARTD\r
53 FLDA ADOQ4\r
54 JA PARTW\r
55T1, STARTD\r
56 FLDA ADOT1\r
57 JA PARTW\r
58T2, STARTD\r
59 FLDA ADOT2\r
60 JA PARTW\r
61T3, STARTD\r
62 FLDA ADOT3\r
63 JA PARTW\r
64H1, STARTD\r
65 FLDA ADOH1\r
66 JA PARTW\r
67H2, STARTD\r
68 FLDA ADOH2\r
69 JA PARTW\r
70/\r
71/\r
72IXTA, STARTD\r
73 FLDA IN0\r
74 JA CON1\r
75IATX,\r
76 STARTD\r
77 FLDA IN1 / INSERT THE CORRECT INSTRUCTION\r
78 JA CON1 / AND CONTINUE\r
79LOC,\r
80 STARTD\r
81 FLDA IN2\r
82 JA CON1\r
83/\r
84IN0, JA AXTA\r
85IN1, FNOP\r
86 FNOP\r
87IN2, JA ALOC\r
88/\r
89CON1,\r
90 FSTA INS / INSERT THE CORRECT INSTRUCTION INTO INS\r
91 FLDA 10*3 / GET RETURN ADR.\r
92 FSTA RETS\r
93 FLDA 0 / GET FIRST PARAMETER\r
94 FADD TWO\r
95 FSTA 3\r
96 FCLA / CLEAR EXP. FOR LOC FUNCTION\r
97 FLDA% 3 / ADR. OF FIRST PARAMETER --> FAC\r
98 FSTA 3 / STORE ADR. OF PARAMETER\r
99INS, .-.\r
100 .-.\r
101 FCLA / CLEAR ARG,ARG+1\r
102 FSTA ARG\r
103 STARTF\r
104 FLDA% 3 / PARAMETER --> FAC\r
105 SETX ARG+1 / CONVERSION OUTPUT ADR.\r
106 ATX 1 / CONVERT INTO INTEGER AND STORE INTO ARG+2\r
107 FLDA ARG\r
108RETURN, STARTF\r
109RETS, JA .-.\r
110AXTA,\r
111 STARTF\r
112 FLDA% 3 / THIRD WORD OF PARAMETER --> X1\r
113 FSTA ARG\r
114 SETX ARG+1 / MAKE ARG+2 TO X1\r
115 XTA 1\r
116 JA RETS\r
117ANORM, 27 / FAC EXPONENT FOR NORMALISATION\r
118 ORG .+2\r
119DJA, JA 0 / CONSTANT TO GET THE CORRECT LOC\r
120/\r
121ALOC,\r
122 FSUB DJA / SUBTRACT JA FROM THE ADR. TO GET THE LOCATION\r
123 FSTA ANORM+1\r
124 STARTF\r
125 FLDA ANORM\r
126 FNORM\r
127 JA RETS\r
128/\r
129/\r
130/\r
131PARTW,\r
132 FSTA REMI / INSERT THE CORRECT REMOTE INSTRUCTION\r
133 FLDA 10*3 / RET. ADR. --> FAC\r
134 FSTA GOBAK / AND STORE INTO RETURN LOCATION\r
135 FLDA 0 / LOAD ADR. OF ARGUMENT LIST --> FAC\r
136 FADD TWO / INCREMENT FOR FIRST ARGUMENT\r
137 FSTA 3 / TEMPORARY FOR SECOND INDIRECT REF.\r
138 FLDA% 3\r
139 FSTA 3\r
140 STARTF\r
141 FLDA% 3 / FIRST PARAMETER\r
142 FSTA ARG / --> ARG\r
143 TRAP4 DOIT8 / EXECUTE THE SHIFT & STORE INSTRUCTION WITH PDP8\r
144 FLDA ARG / LOAD THE RESULT --> FAC\r
145GOBAK, JA .-. / HOME TO MAMA \r
146TWO, 0\r
147 2\r
148/\r
149/ PDP 8 TASK\r
150/\r
151 SECT8 DOIT\r
152ADOS1, JMP DOS1\r
153ADOS2, JMP DOS2\r
154ADOS3, JMP DOS3\r
155ADOS4, JMP DOS4\r
156ADOS5, JMP DOS5\r
157ADOS6, JMP DOS6\r
158ADOQ1, JMP DOQ1\r
159ADOQ2, JMP DOQ2\r
160ADOQ3, JMP DOQ3\r
161ADOQ4, JMP DOQ4\r
162ADOT1, JMP DOT1\r
163ADOT2, JMP DOT2\r
164ADOT3, JMP DOT3\r
165ADOH1, JMP DOH1\r
166ADOH2, JMP DOH2\r
167 NOP / SHOULD BE HERE SINCE FPP PICKS UP 2 WORDS\r
168ARG, ORG .+3\r
169/\r
170/\r
171CLEROT, JMS CLEAR / CLEAR ARG, ROTATE AC 6 BITS AND JMP STARG2\r
172 JMS SSL6\r
173 JMP STARG2\r
174/\r
175/\r
176CLBROT, JMS CLEAR / CLEARS ARG, SWAP BYTES, ROTATE AC 6 BITS AND JMP STARG2\r
177 AND RHALF / CLEAR LEFT HALF OF AC\r
178 JMP STARG2\r
179/\r
180/\r
181TMP1, ORG .+1 / STORAGE FOR AC\r
182CLEAR, .-.\r
183 DCA TMP1\r
184 DCA ARG+1\r
185 DCA ARG\r
186 TAD TMP1\r
187 JMP% CLEAR\r
188/\r
189/\r
190SSL6, .-. / LOGICAL SHIFT 6 BITS TO THE RIGHT\r
191 BSW\r
192 AND RHALF / CLEAR LEFT HALF OF AC\r
193 JMP% SSL6\r
194RHALF, 0077\r
195/\r
196/\r
197DOS1, TAD ARG\r
198 JMP CLEROT\r
199DOS2, TAD ARG\r
200 JMP CLBROT\r
201DOS3, TAD ARG+1\r
202 JMP CLEROT\r
203DOS4, TAD ARG+1\r
204 JMP CLBROT\r
205DOS5, TAD ARG+2\r
206 JMP CLEROT\r
207DOS6, TAD ARG+2\r
208 JMP CLBROT\r
209DOT1, TAD ARG\r
210 JMS CLEAR\r
211 JMP STARG2\r
212DOT2, TAD ARG+1\r
213 JMS CLEAR\r
214 JMP STARG2\r
215DOT3, TAD ARG+2\r
216 JMS CLEAR\r
217 JMP STARG2\r
218DOQ1, / QUARTERS NOT YET IMPLEMENTED\r
219DOQ2,\r
220DOQ3,\r
221DOQ4,\r
222DOH1,\r
223 CLA CLL\r
224 TAD ARG+1\r
225 JMS SSL6\r
226 DCA ARG+2\r
227 TAD ARG+0\r
228 JMS SSL6\r
229 DCA ARG+1\r
230 TAD ARG\r
231 AND RHALF\r
232 BSW\r
233 TAD ARG+2\r
234 DCA ARG+2\r
235 DCA ARG\r
236 JMP HOME\r
237DOH2,\r
238 CLA CLL\r
239 DCA ARG\r
240 TAD ARG+1\r
241 AND RHALF\r
242 DCA ARG+1\r
243 JMP HOME\r
244/\r
245/\r
246DOIT8, .-.\r
247REMI, JMP .-.\r
248 NOP / MUST BE HERE SINCE FPP STORES 2 WORDS INTO REMI\r
249STARG2, DCA ARG+2 \r
250HOME,\r
251 CDF CIF\r
252 JMP% DOIT8 / HOME TO FPP12\r
253 END\r
254\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0