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