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