Commit | Line | Data |
---|---|---|
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 | |
23 | BSW= 7002\r | |
24 | /\r | |
25 | S1, STARTD\r | |
26 | FLDA ADOS1\r | |
27 | JA PARTW\r | |
28 | S2, STARTD\r | |
29 | FLDA ADOS2\r | |
30 | JA PARTW\r | |
31 | S3, STARTD\r | |
32 | FLDA ADOS3\r | |
33 | JA PARTW\r | |
34 | S4, STARTD\r | |
35 | FLDA ADOS4\r | |
36 | JA PARTW\r | |
37 | S5, STARTD\r | |
38 | FLDA ADOS5\r | |
39 | JA PARTW\r | |
40 | S6, STARTD\r | |
41 | FLDA ADOS6\r | |
42 | JA PARTW\r | |
43 | Q1, STARTD\r | |
44 | FLDA ADOQ1\r | |
45 | JA PARTW\r | |
46 | Q2, STARTD\r | |
47 | FLDA ADOQ2\r | |
48 | JA PARTW\r | |
49 | Q3, STARTD\r | |
50 | FLDA ADOQ3\r | |
51 | JA PARTW\r | |
52 | Q4, STARTD\r | |
53 | FLDA ADOQ4\r | |
54 | JA PARTW\r | |
55 | T1, STARTD\r | |
56 | FLDA ADOT1\r | |
57 | JA PARTW\r | |
58 | T2, STARTD\r | |
59 | FLDA ADOT2\r | |
60 | JA PARTW\r | |
61 | T3, STARTD\r | |
62 | FLDA ADOT3\r | |
63 | JA PARTW\r | |
64 | H1, STARTD\r | |
65 | FLDA ADOH1\r | |
66 | JA PARTW\r | |
67 | H2, STARTD\r | |
68 | FLDA ADOH2\r | |
69 | JA PARTW\r | |
70 | /\r | |
71 | /\r | |
72 | IXTA, STARTD\r | |
73 | FLDA IN0\r | |
74 | JA CON1\r | |
75 | IATX,\r | |
76 | STARTD\r | |
77 | FLDA IN1 / INSERT THE CORRECT INSTRUCTION\r | |
78 | JA CON1 / AND CONTINUE\r | |
79 | LOC,\r | |
80 | STARTD\r | |
81 | FLDA IN2\r | |
82 | JA CON1\r | |
83 | /\r | |
84 | IN0, JA AXTA\r | |
85 | IN1, FNOP\r | |
86 | FNOP\r | |
87 | IN2, JA ALOC\r | |
88 | /\r | |
89 | CON1,\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 | |
99 | INS, .-.\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 | |
108 | RETURN, STARTF\r | |
109 | RETS, JA .-.\r | |
110 | AXTA,\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 | |
117 | ANORM, 27 / FAC EXPONENT FOR NORMALISATION\r | |
118 | ORG .+2\r | |
119 | DJA, JA 0 / CONSTANT TO GET THE CORRECT LOC\r | |
120 | /\r | |
121 | ALOC,\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 | |
131 | PARTW,\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 | |
145 | GOBAK, JA .-. / HOME TO MAMA \r | |
146 | TWO, 0\r | |
147 | 2\r | |
148 | /\r | |
149 | / PDP 8 TASK\r | |
150 | /\r | |
151 | SECT8 DOIT\r | |
152 | ADOS1, JMP DOS1\r | |
153 | ADOS2, JMP DOS2\r | |
154 | ADOS3, JMP DOS3\r | |
155 | ADOS4, JMP DOS4\r | |
156 | ADOS5, JMP DOS5\r | |
157 | ADOS6, JMP DOS6\r | |
158 | ADOQ1, JMP DOQ1\r | |
159 | ADOQ2, JMP DOQ2\r | |
160 | ADOQ3, JMP DOQ3\r | |
161 | ADOQ4, JMP DOQ4\r | |
162 | ADOT1, JMP DOT1\r | |
163 | ADOT2, JMP DOT2\r | |
164 | ADOT3, JMP DOT3\r | |
165 | ADOH1, JMP DOH1\r | |
166 | ADOH2, JMP DOH2\r | |
167 | NOP / SHOULD BE HERE SINCE FPP PICKS UP 2 WORDS\r | |
168 | ARG, ORG .+3\r | |
169 | /\r | |
170 | /\r | |
171 | CLEROT, JMS CLEAR / CLEAR ARG, ROTATE AC 6 BITS AND JMP STARG2\r | |
172 | JMS SSL6\r | |
173 | JMP STARG2\r | |
174 | /\r | |
175 | /\r | |
176 | CLBROT, 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 | |
181 | TMP1, ORG .+1 / STORAGE FOR AC\r | |
182 | CLEAR, .-.\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 | |
190 | SSL6, .-. / LOGICAL SHIFT 6 BITS TO THE RIGHT\r | |
191 | BSW\r | |
192 | AND RHALF / CLEAR LEFT HALF OF AC\r | |
193 | JMP% SSL6\r | |
194 | RHALF, 0077\r | |
195 | /\r | |
196 | /\r | |
197 | DOS1, TAD ARG\r | |
198 | JMP CLEROT\r | |
199 | DOS2, TAD ARG\r | |
200 | JMP CLBROT\r | |
201 | DOS3, TAD ARG+1\r | |
202 | JMP CLEROT\r | |
203 | DOS4, TAD ARG+1\r | |
204 | JMP CLBROT\r | |
205 | DOS5, TAD ARG+2\r | |
206 | JMP CLEROT\r | |
207 | DOS6, TAD ARG+2\r | |
208 | JMP CLBROT\r | |
209 | DOT1, TAD ARG\r | |
210 | JMS CLEAR\r | |
211 | JMP STARG2\r | |
212 | DOT2, TAD ARG+1\r | |
213 | JMS CLEAR\r | |
214 | JMP STARG2\r | |
215 | DOT3, TAD ARG+2\r | |
216 | JMS CLEAR\r | |
217 | JMP STARG2\r | |
218 | DOQ1, / QUARTERS NOT YET IMPLEMENTED\r | |
219 | DOQ2,\r | |
220 | DOQ3,\r | |
221 | DOQ4,\r | |
222 | DOH1,\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 | |
237 | DOH2,\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 | |
246 | DOIT8, .-.\r | |
247 | REMI, JMP .-.\r | |
248 | NOP / MUST BE HERE SINCE FPP STORES 2 WORDS INTO REMI\r | |
249 | STARG2, DCA ARG+2 \r | |
250 | HOME,\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 |