Previous File Previous Page Single Page Next Page Next File

* NAME BASIC-MTHPAK DOC. 70181832000 REV. A PAGE 34

1165 * 1166 * 1167 * FLOATING POINT EXPONENTIATION 1168 * 1169 * CALLING SEQUENCE: 1170 * 1171 * JST E$22 FIRST ARGUMENT IN A AND B REGISTERS 1172 * DAC ARG2 POINTER TO SECOND ARGUMENT 1173 * ......RETURN FIRST ARGUMENT RAISED TO THE SECOND ARGU- 1174 * MENT POWER IN THE A AND B REGISTERS 1175 * 1176 * 1177 *//THE FIRST ARGUMENT IS SAVED, AND THE RESULT IS INITIALIZED TO 1178 */ONE. THE SECOND ARGUMENT IS LOADED, AND IF IT IS AN INTEGER WHOSE 1179 */ABSOLUTE VALUE IS LESS THAN 64, THE SIGN OF THE SECOND ARGUMENT IS 1180 */SAVED, AND THE LEAST SIGNIFICANT BIT OF THE ABSOLUTE VALUE OF THE 1181 */SECOND ARGUMENT IS TESTED. IF IT IS ONE, THE RESULT IS MULTIPLIED 1182 */BY THE FIRST ARGUMENT. THE ABSOLUTE VALUE OF THE SECOND ARGUMENT 1183 */IS SHIFTED RIGHT ONE PLACE AND TESTED EQUAL TO ZERO. IF NON-ZERO, 1184 */FIRST ARGUMENT IS REPLACED BY ITS SQUARE, AND THE ROUTINE LOOPS TO 1185 */TEST THE LEAST SIGNIFICANT BIT OF THE SECOND ARGUMENT. IF ZERO 1186 */THE SIGN OF SECOND ARGUMENT IS TESTED, AND IF NEGATIVE, THE RESULT 1187 */IS REPLACED BY ITS RECIPROCAL. THE ROUTINE EXITS. IF THE SECOND 1188 */ARGUMENT IS NOT AN INTEGER OR AN INTEGER WHOSE ABSOLUTE VALUE IS 1189 */GREATER THAN 63, THE EXPONENTIATION IS ACCOMPLISHED BY TAKING THE 1190 */NATURAL ANTILOGARITHM OF THE PRODUCT OF THE SECOND ARGUMENT AND 1191 */NATURAL LOGARITHM OF THE FIRST ARGUMENT. (EXP(ARG2*LN(ARG1))) 1192 */THERE IS A SPECIAL CHECK SO THAT IF THE FIRST ARGUMENT IS ZERO AND 1193 */SECOND ARGUMENT IS GREATER THAN ZERO, A ZERO IS RETURNED; AND IF 1194 */THE SECOND ARGUMENT IS LESS THAN ZERO, A DZ ERROR IS FLAGGED. 1195 * 1196 * 1197 00714 0 000000 E$22 DAC ** ENTRY 1198 00715 0 10 00104 JST H$22 STORE FIRST ARGUMENT 1199 00716 0 001021 DAC ETMP 1200 00717 0 10 00100 JST L$22 INITALIZE THE RESULT TO ONE 1201 00720 0 001144 DAC F1 1202 00721 0 10 00104 JST H$22 1203 00722 0 001221 DAC Z0 1204 00723 0 02 00714 LDA E$22 LOAD THE EXPONENT 1205 00724 0 10 00070 JST LARG 1206 00725 0 12 00714 IRS E$22 BUMP FOR RETURN 1207 00726 0 10 00627 JST TINT TEST FOR INTEGER 1208 00727 0 01 00751 JMP E$01 INTEGER - JUMP 1209 * 1210 * HERE IF THE EXPONENT IS A NON-INTEGER NUMBER, OR AN INTEGER 1211 * WHOSE ABSOLUTE VALUE IS GREATER THAN 63 1212 * 1213 00730 0 10 00100 E$03 JST L$22 LOAD THE FIRST ARGUMENT 1214 00731 0 001021 DAC ETMP
Previous File Previous Page Single Page Next Page Next File