Commit | Line | Data |
---|---|---|
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 | |
9 | BSW= 7002\r | |
10 | /\r | |
11 | S1, STARTD\r | |
12 | FLDA ADOS1\r | |
13 | JA PARTW\r | |
14 | S2, STARTD\r | |
15 | FLDA ADOS2\r | |
16 | JA PARTW\r | |
17 | S3, STARTD\r | |
18 | FLDA ADOS3\r | |
19 | JA PARTW\r | |
20 | S4, STARTD\r | |
21 | FLDA ADOS4\r | |
22 | JA PARTW\r | |
23 | S5, STARTD\r | |
24 | FLDA ADOS5\r | |
25 | JA PARTW\r | |
26 | S6, STARTD\r | |
27 | FLDA ADOS6\r | |
28 | JA PARTW\r | |
29 | Q1, STARTD\r | |
30 | FLDA ADOQ1\r | |
31 | JA PARTW\r | |
32 | Q2, STARTD\r | |
33 | FLDA ADOQ2\r | |
34 | JA PARTW\r | |
35 | Q3, STARTD\r | |
36 | FLDA ADOQ3\r | |
37 | JA PARTW\r | |
38 | Q4, STARTD\r | |
39 | FLDA ADOQ4\r | |
40 | JA PARTW\r | |
41 | T1, STARTD\r | |
42 | FLDA ADOT1\r | |
43 | JA PARTW\r | |
44 | T2, STARTD\r | |
45 | FLDA ADOT2\r | |
46 | JA PARTW\r | |
47 | T3, STARTD\r | |
48 | FLDA ADOT3\r | |
49 | JA PARTW\r | |
50 | H1, STARTD\r | |
51 | FLDA ADOH1\r | |
52 | JA PARTW\r | |
53 | H2, STARTD\r | |
54 | FLDA ADOH2\r | |
55 | JA PARTW\r | |
56 | /\r | |
57 | /\r | |
58 | IXTA, STARTD\r | |
59 | FLDA IN0\r | |
60 | JA CON1\r | |
61 | JATX,\r | |
62 | STARTD\r | |
63 | FLDA IN1 / INSERT THE CORRECT INSTRUCTION\r | |
64 | JA CON1 / AND CONTINUE\r | |
65 | LOC,\r | |
66 | STARTD\r | |
67 | FLDA IN2\r | |
68 | JA CON1\r | |
69 | /\r | |
70 | IN0, JA AXTA\r | |
71 | IN1, FNOP\r | |
72 | FNOP\r | |
73 | IN2, JA ALOC\r | |
74 | /\r | |
75 | CON1,\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 | |
85 | INS, .-.\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 | |
94 | RETURN, STARTF\r | |
95 | RETS, JA .-.\r | |
96 | AXTA,\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 | |
103 | ANORM, 27 / FAC EXPONENT FOR NORMALISATION\r | |
104 | ORG .+2\r | |
105 | DJA, JA 0 / CONSTANT TO GET THE CORRECT LOC\r | |
106 | /\r | |
107 | ALOC,\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 | |
117 | PARTW,\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 | |
131 | GOBAK, JA .-. / HOME TO MAMA \r | |
132 | TWO, 0\r | |
133 | 2\r | |
134 | /\r | |
135 | / PDP 8 TASK\r | |
136 | /\r | |
137 | SECT8 DOIT\r | |
138 | ADOS1, JMP DOS1\r | |
139 | ADOS2, JMP DOS2\r | |
140 | ADOS3, JMP DOS3\r | |
141 | ADOS4, JMP DOS4\r | |
142 | ADOS5, JMP DOS5\r | |
143 | ADOS6, JMP DOS6\r | |
144 | ADOQ1, JMP DOQ1\r | |
145 | ADOQ2, JMP DOQ2\r | |
146 | ADOQ3, JMP DOQ3\r | |
147 | ADOQ4, JMP DOQ4\r | |
148 | ADOT1, JMP DOT1\r | |
149 | ADOT2, JMP DOT2\r | |
150 | ADOT3, JMP DOT3\r | |
151 | ADOH1, JMP DOH1\r | |
152 | ADOH2, JMP DOH2\r | |
153 | NOP / SHOULD BE HERE SINCE FPP PICKS UP 2 WORDS\r | |
154 | ARG, ORG .+3\r | |
155 | /\r | |
156 | /\r | |
157 | CLEROT, JMS CLEAR / CLEAR ARG, ROTATE AC 6 BITS AND JMP STARG2\r | |
158 | JMS SSL6\r | |
159 | JMP STARG2\r | |
160 | /\r | |
161 | /\r | |
162 | CLBROT, 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 | |
167 | TMP1, ORG .+1 / STORAGE FOR AC\r | |
168 | CLEAR, .-.\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 | |
176 | SSL6, .-. / LOGICAL SHIFT 6 BITS TO THE RIGHT\r | |
177 | BSW\r | |
178 | AND RHALF / CLEAR LEFT HALF OF AC\r | |
179 | JMP% SSL6\r | |
180 | RHALF, 0077\r | |
181 | /\r | |
182 | /\r | |
183 | DOS1, TAD ARG\r | |
184 | JMP CLEROT\r | |
185 | DOS2, TAD ARG\r | |
186 | JMP CLBROT\r | |
187 | DOS3, TAD ARG+1\r | |
188 | JMP CLEROT\r | |
189 | DOS4, TAD ARG+1\r | |
190 | JMP CLBROT\r | |
191 | DOS5, TAD ARG+2\r | |
192 | JMP CLEROT\r | |
193 | DOS6, TAD ARG+2\r | |
194 | JMP CLBROT\r | |
195 | DOT1, TAD ARG\r | |
196 | JMS CLEAR\r | |
197 | JMP STARG2\r | |
198 | DOT2, TAD ARG+1\r | |
199 | JMS CLEAR\r | |
200 | JMP STARG2\r | |
201 | DOT3, TAD ARG+2\r | |
202 | JMS CLEAR\r | |
203 | JMP STARG2\r | |
204 | DOQ1, / QUARTERS NOT YET IMPLEMENTED\r | |
205 | DOQ2,\r | |
206 | DOQ3,\r | |
207 | DOQ4,\r | |
208 | DOH1,\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 | |
223 | DOH2,\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 | |
232 | DOIT8, .-.\r | |
233 | REMI, JMP .-.\r | |
234 | NOP / MUST BE HERE SINCE FPP STORES 2 WORDS INTO REMI\r | |
235 | STARG2, DCA ARG+2 \r | |
236 | HOME,\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 |