| 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 |