/ FP 8 EM ANCR 1040 / INSTRUCTION SUMMARY AND DEFINITION / / MNEMONIC CODE CLASS DESCRIPTION / / EFM 4176 CONTROL ENTER INTERPRETIVE MODE. / SFLO 4565 CONTROL SINGLE, SIGNED FLOAT AND EFM. / DFLO 4564 CONTROL DOUBLE PRECISION FLOAT AND EFM. / FCDF 6060 CONTROL CHANGE INTERPRETIVE DATA FIELD. / LFM 0000 CONTROL LEAVE INTERPRETIVE MODE. / SFIX 6040 CONTROL SINGLE FIX AND LFM. / DFIX 6030 CONTROL DOUBLE FIX AND LFM. / LD 1000 MEM. REF. LOAD FAC FROM MEMORY. / ST 1400 MEM. REF. STORE FAC TO MEMORY. / AD 2000 MEM. REF. ADD OPERAND TO FAC. / SB 2400 MEM. REF. SUBTRACT OPERAND FROM FAC. / MP 3000 MEM. REF. MULTIPLY FAC BY OPERAND. / DV 3400 MEM. REF. DIVIDE FAC BY OPERAND. / RDV 4000 MEM. REF. DIVIDE OPERAND BY FAC TO FAC. / JS 4400 MEM. REF. JUMP TO SUBROUTINE / CMP 5000 MEM. REF. COMPARE FAC, CONDITIONAL BRANCH. / JP 5400 MEM. REF. JUMP TO NEW LOCATION. / ILA 0000 OPERATE IMMEDIATE LOAD TO FAC. / ZAC 6000 OPERATE SET FAC TO ZERO. / ABS 6010 OPERATE ABSOLUTE VALUE TO FAC. / CHS 6020 OPERATE CHANGE SIGN OF FAC. / FREAD 6050 OPERATE FREE-FORMAT READ TO FAC. / WRITE 6051 OPERATE FORMATTED OUTPUT FROM FAC. / FCRLF 6052 OPERATE NEW LINE TO OUTPUT DEVICE. / FORMAT 6400 OPERATE SET OUTPUT FORMAT. / FSQR 6070 FUNCTION SQUARE OF FAC TO FAC. / FSQRT 6100 FUNCTION SQUARE ROOT OF FAC. / FEXP 6110 FUNCTION NATURAL EXPONENTIAL. / FLOG 6120 FUNCTION NATURAL LOGARITHM. / FSIN 6130 FUNCTION SINE OF FAC (RADIANS). / FCOS 6140 FUNCTION COSINE OF FAC. / FATN 6150 FUNCTION ARCTANGENT. / FIELD 0 / EXAMPLE ACCESS FROM '0' *164 XDFLO / DOUBLE FLOAT LINKAGE. XSFLO / SINGLE FLOAT LINKAGE. XRH0 / READ HIGH FAC LINKAGE. XLH0 / LOAD HIGH FAC LINKAGE. *175 XEE / ENTER INTERPRETIVE HLT / MODE LINKAGE. JMP I .-2 READA, HLT / EXAMPLE INPUT ROUTINE CLA CLL RDF TAD .+7 DCA .+4 KSF JMP .-1 KRB HLT JMP I READA CIF PRINTA, HLT / EXAMPLE OUTPUT ROUTINE TLS TSF JMP .-1 TCF CLA CLL RDF TAD .-10 DCA .+1 HLT JMP I PRINTA *7400 XEE, CIF+10 / ASSUME INTERPRETER JMS I .+2 / IN MEMORY FIELD #1. JMP I 176 EME XDFLO, HLT / DOUBLE FLOAT AND ENTER CIF+10 / FOR CROSS-BANK ACCESS. JMS I .+3 EFM JP XDFLO AFLO XSFLO, HLT / CROSS-BANK SINGLE, SIGNED CIF+10 / FLOAT AND ENTER INTERPRETER. JMS I .+3 EFM JP XSFLO BFLO EXRHA=4566 / DEFINE READ HIGH FAC. XRH0, HLT / READ HIGH FAC IN FIELD '1' CDF+10 / FROM NORMAL MODE CODE TAD I .+3 / IN FIELD '0'. CDF JMP I XRH0 ACH EXLHA=4567 / DEFINE LOAD HIGH FAC. XLH0, HLT / LOAD HIGH FAC, CDF+10 / CROSS-BANKS '1' AND '0'. DCA I .-3 CDF JMP I XLH0 / FP 8 EM / PDP-8 FLOATING POINT / EXTENDED MEMORY VERSION / ANCR 1040 / W R MYERS / FEBRUARY 1972 / FLOATING MODE INSTRUCTIONS: UDF=6211 / FP IN FIELD #1 EFM=4176 / ENTER INTERPRETER LFM=0 / LEAVE FLOATING MODE ILA=0 / IMMEDIATE LOAD FAC LD=1000 / LOAD FAC ST=1400 / STORE FAC AD=2000 / ADD SB=2400 / SUBTRACT MP=3000 / MULTIPLY DV=3400 / DIVIDE RDV=4000 / DIVIDE INVERTED JS=4400 / JUMP TO SUBROUTINE CMP=5000 / THREE-WAY COMPARE JP=5400 / JUMP TO LOCATION SFLO=4565 / SINGLE FLOAT AND EFM DFLO=4564 / DOUBLE FLOAT AND EFM ZAC=6000 / ZERO TO FAC ABS=6010 / ABSOLUTE VALUE CHS=6020 / CHANGE SIGN DFIX=6030 / DOUBLE FIX AND LFM SFIX=6040 / SIGNED FIX AND LFM FREAD=6050 / INPUT TO FAC WRITE=6051 / OUTPUT FROM FAC FCRLF=6052 / NEW OUTPUT LINE FORMAT=6400 / SET OUTPUT FORMAT FCDF=6060 / SET FLOATING DATA FIELD FSQR=6070 / SQUARE FAC FSQRT=6100 / SQUARE ROOT FEXP=6110 / EXPONENT FLOG=6120 / LOGARITHM FSIN=6130 / SINE FCOS=6140 / COSINE FATN=6150 / ARCTANGENT / START OF ASSEMBLED CODE FIELD 1 / EXAMPLE FP 8 IN FIELD '1' *151 SVPC, SPC1 RSPC, RPC1 ACZ, ACZA BCZ, BCZA NOR, NORA CHRX, 0 / INPUT CHARACTER COUNTER. ICHR, 0 / LAST INPUT CHARACTER. FMQ, 0 / 'MQ' REGISTER. OTR, UOR / OUTPUT ROUTINE. FMT, 1305 / FORMAT INDICATOR. INR, UIR / INPUT ROUTINE. FLOR / DOUBLE FLOAT AND ENTER. FLOS / SINGLE SIGNED FLOAT. ACS, 0 / FLOATING ACCUMULATOR. ACX, 0 ACH, 0 ACL, 0 BCS, 0 / FLOATING OPERAND. BCX, 0 BCH, 0 BCL, 0 E, 0 / INTERPRETER LOCAL ENTRY. R, CLA CLL / INTERPRETIVE RETURN. JMS TENT NOP TAD I EX SZA / TEST FOR LFM. JMP EGO JMS TENT / RESTORE INSTRUCTION XIF, CIF / AND DATA FIELDS DCA E / AND RETURN. JMP I EX TENT, HLT / TEST ENTRY AND TAD E / FIX DATA FIELD FOR SNA / INTERPRETER JMP .+4 / INSTRUCTION FIELD. ISZ TENT UDF JMP .+3 XDF, UDF TAD EME DCA EX JMP I TENT EX, 0 CDF EME, 0 / CROSS-BANK ENTRY. CLA CLL RDF / CALCULATE DATA FIELD TAD EX+1 / AND RETURN LINKAGE. DCA XDF TAD XDF IAC DCA XIF JMP R IFPC, HLT / INCREMENT LOCAL OR JMS TENT / EXTENDED INSTRUCTION JMP .+3 / POINTER. ISZ E SKP ISZ EME UDF JMP I IFPC ADR, 0 / OPERAND ADDRESS 0 / POINTERS. 0 P1, 177 / PAGE #1 CONSTANTS. 200 7600 4000 3777 7 EGO, DCA FMQ / SAVE INSTRUCTION. TAD FMQ AND P1 / CALCULATE OPERAND ADDRESS. DCA ADR TAD FMQ AND P1+1 SNA CLA / TEST PAGE INDICATOR. JMP .+5 TAD EX AND P1+2 TAD ADR DCA ADR TAD I ADR / INDIRECT ADDRESSING DCA ADR / IS IMPLICIT. TAD ADR IAC / SET ADDRESS POINTERS. DCA ADR+1 TAD ADR+1 IAC DCA ADR+2 JMS I F8DF / SET OPERAND DATA FIELD. TAD I ADR DCA BCX / MOVE OPERAND TO TAD I ADR+1 / FLOATING OPERAND AND P1+3 / REGISTER. DCA BCS TAD I ADR+1 AND P1+4 DCA BCH TAD I ADR+2 DCA BCL JMS IFPC TAD FMQ / GET OPERATION CODE. RTL RTL AND P1+5 RAL SZA JMP .+5 TAD FMQ / IMMEDIATE LOAD FAC, JMS I .+2 / USE SINGLE FLOAT JMP R / ROUTINE. BFLO TAD T1 / CALCULATE BRANCH FN2, DCA ICHR / TO OTHER FUNCTIONS. TAD I ICHR DCA ICHR JMP I ICHR T1, OPT-2 ST1, JMS I F8DF / STORE FAC TO MEMORY. TAD ACX DCA I ADR TAD ACH TAD ACS DCA I ADR+1 TAD ACL DCA I ADR+2 JMP R JS1, JMS TENT JMP .+6 TAD E DCA I ADR TAD ADR+1 JP2, DCA E JMP R TAD EME DCA I ADR TAD ADR+1 JP3, DCA EME JMP R JP1, JMS TENT JMP .+3 TAD ADR JMP JP2 TAD ADR JMP JP3 F8DF, FDF1 LD1, JMS I XAB2 JMP R XAB2, XAB1 FDF1, HLT FDF2, UDF JMP I FDF1 CDX1, TAD FMQ / FLOATING OPERAND AND SPC1-5 / DATA FIELD SET. CLL RAL RTL TAD SPC1-3 JMP .+5 RPC1, LFM / RESTORE INSTRUCTION TAD SPC1-2 / POINTER AND OPERAND DCA E / FIELD AND RETURN TAD SPC1-1 / FROM FUNCTION. DCA FDF2 JMP R 7 UDF CDF HLT HLT SPC1, HLT / SAVE LOCAL INSTRUCTION TAD E / POINTER AND DATA FIELD DCA SPC1-2 / FOR FP8 USE OF FP8. TAD FDF2 DCA SPC1-1 TAD SPC1-4 DCA FDF2 EFM JP SPC1 OPT, LD1 / OPERATION BRANCH TABLE. ST1 AD1 SB1 MP1 DV1 RD1 JS1 CM1 JP1 FN1 FM1 USER / USER-DEFINED FUNCTIONS; OP=7000. 17 OPF FN1, TAD FMQ RAR RTR AND FN1-2 TAD FN1-1 JMP I .+1 FN2 OPF, ZA1 / FUNCTION BRANCH TABLE. AB1 CH1 AFIX BFIX IO1 CDX1 SQAR SQRT EXP LOG SIN COS ATN IO1, TAD FMQ AND SPC1-5 TAD .+2 JMP I OPF-1 .+1 IN1 / IO BRANCH TABLE. OT1 CR1 ACZA, HLT / TEST FAC FOR ZERO. TAD ACH SZA CLA JMP .+6 TAD ACL SZA CLA JMP .+3 DCA ACX JMP I ACZA ISZ ACZA JMP I ACZA BCZA, HLT / TEST OPERAND FOR ZERO. TAD BCH SZA CLA ISZ BCZA JMP I BCZA RACL, HLT / ROTATE FAC LEFT TAD ACL / AND DECREMENT CLL RAL / EXPONENT. DCA ACL TAD ACH RAL DCA ACH CMA TAD ACX DCA ACX JMP I RACL RACR, HLT / ROTATE FAC RIGHT TAD ACH / AND INCREMENT CLL RAR / EXPONENT. DCA ACH TAD ACL RAR DCA ACL ISZ ACX JMP I RACR JMP I RACR NORA, HLT / NORMALIZE FAC. JMS ACZA JMP I NORA TAD ACH SMA CLA JMP .+3 JMS RACR JMP I NORA JMS RACL JMP .-6 ZA1, DCA ACL / CLEAR FAC. DCA ACH DCA ACX JMP AB1 CH1, STL RAR / CHANGE SIGN. TAD ACS AB1, DCA ACS / ABSOLUTE VALUE. JMP R DTAD, HLT / DOUBLE PRECISION ADD CLA CLL / AC AND BC MANTISSAS. TAD ACL TAD BCL DCA ACL CLA RAL TAD ACH TAD BCH DCA ACH JMP I DTAD MPTN, HLT / MULTIPLY FAC BY TEN. TAD ACH DCA BCH TAD ACL DCA BCL JMS I RR3 JMS I RR3 JMS DTAD ISZ ACX CLL JMS I NOR JMP I MPTN DVTN, HLT / DIVIDE FAC BY TEN. TAD ACH DCA FMQ TAD ACL JMS DIV RR3+2 DCA ACH JMS DIV RR3+2 DCA ACL TAD RR3+1 TAD ACX DCA ACX JMS I NOR JMP I DVTN XAB1, HLT / EXCHANGE FAC TAD ACL / AND OPERAND. DCA DTAD TAD ACH DCA MPTN TAD ACX DCA DVTN TAD ACS CLL RAL TAD BCS DCA ACS RAR DCA BCS TAD BCX DCA ACX TAD BCH DCA ACH TAD BCL DCA ACL TAD DTAD DCA BCL TAD MPTN DCA BCH TAD DVTN DCA BCX JMP I XAB1 DIV, HLT / DIVIDE FMQ,AC BY DCA DTAD / ADDRESSED NUMBER. TAD I DIV DCA MPTN / QUOTIENT IN AC AND TAD I MPTN / REMAINDER IN FMQ. CIA CLL DCA MPTN TAD RR3+3 DCA XAB1 ISZ DIV JMP .+11 TAD FMQ RAL DCA FMQ TAD FMQ TAD MPTN SZL DCA FMQ CLA TAD DTAD RAL DCA DTAD ISZ XAB1 JMP .-14 TAD DTAD JMP I DIV MPY, HLT / MULTIPLY AC BY DCA DTAD / ADDRESSED NUMBER. DCA FMQ TAD RR3+4 / HIGH PRODUCT IN FMQ, DCA MPTN / LOW PRODUCT IN AC. TAD I MPY DCA DIV TAD I DIV DCA DIV ISZ MPY CLL TAD DTAD RAR DCA DTAD TAD FMQ SNL JMP .+3 CLL TAD DIV RAR DCA FMQ ISZ MPTN JMP .-13 TAD DTAD RAR CLL JMP I MPY RR3, RACR 7774 5000 7763 7764 RACL MP1, JMS I RR3+5 / MULTIPLY FAC TAD ACX / BY OPERAND. TAD BCX IAC DCA ACX TAD ACS TAD BCS DCA ACS TAD ACL JMS I MP4 BCL CLA CLL TAD FMQ DCA BCS TAD ACL JMS I MP4 BCH TAD BCS DCA BCS GLK TAD FMQ DCA ACL GLK DCA BCX TAD ACH JMS I MP4 BCL TAD BCS GLK TAD ACL DCA ACL GLK TAD BCX DCA BCX TAD FMQ TAD ACL DCA ACL GLK TAD BCX DCA BCX TAD ACH JMS I MP4 BCH TAD ACL DCA ACL GLK TAD BCX TAD FMQ DCA ACH JMS I NOR JMP R SB1, STL RAR / SUBTRACT. TAD BCS DCA BCS AD1, JMS I BCZ / ADD OPERAND TO FAC. JMP R JMS I ACZ JMP I MP4+1 JMS I MP4+2 CLA SMA SZA JMS I MP4+3 TAD BCX CIA TAD ACX SMA CLA JMP .+3 JMS I MP4+4 JMP .-6 TAD ACS TAD BCS SNA CLA JMP .+11 TAD ACL CLL CIA DCA ACL TAD ACH CMA SZL IAC DCA ACH TAD BCS DCA ACS JMS I MP4+5 AR3, JMS I NOR JMP R RD1, JMS I MP4+3 / INVERSE DIVIDE. DV1, JMS I ACZ / NORMAL DIVIDE. JMP R JMS I BCZ JMP I MP4+6 TAD ACS TAD BCS DCA ACS TAD BCX CIA TAD ACX DCA ACX TAD BCL CLL RAL DCA BCL TAD BCH RAL DCA BCH TAD ACH JMS I MP4 BCL JMS I MP4+7 BCH CLL CIA TAD ACL DCA ACL SNL CMA TAD ACH DCA FMQ TAD ACL JMS I MP4+7 BCH DCA ACH JMS I MP4+7 BCH DCA ACL JMP AR3 MP4, MPY LD1 CPQ XAB1 RACR DTAD ZA1 DIV SCR1, HLT HLT HLT FLOS, HLT / SINGLE, SIGNED JMS BFLO / FLOAT AND ENTER. EFM JP FLOS FLOR, HLT / DOUBLE PRECISION JMS AFLO / FLOAT AND ENTER. EFM JP FLOR AFLO, HLT DCA ACL DCA ACS TAD AFLO DCA BFLO JMP CFLO BFLO, HLT SMA JMP .+5 CIA DCA ACL STL RAR SKP DCA ACL DCA ACS DCA ACH CFLO, TAD T5 DCA ACX JMS I NOR RDF TAD T5+1 DCA .+1 HLT JMP I BFLO FXQ, HLT TAD ACX SMA JMP .+5 CLA CLL DCA ACH DCA ACL JMP I FXQ TAD T5+2 SMA JMP .-6 DCA AFLO JMS I T5+3 ISZ AFLO JMP .-2 TAD ACL JMP I FXQ CFIX, HLT JMS FXQ SNL CLA JMP I CFIX ISZ ACL JMP I CFIX ISZ ACH JMP I CFIX BFIX, JMS CFIX TAD ACS / SINGLE, SIGNED FIX CLL RAL / AND LEAVE. TAD ACL SZL CIA DCA ACL SKP AFIX, JMS CFIX / DOUBLE PRECISION TAD I T5+4 / FIX AND LEAVE. IAC CLL DCA CFIX TAD I T5+5 DCA .+2 JMS I T5+6 HLT DCA E TAD ACL JMP I CFIX T5, 27 CIF 7751 RACR EX XIF TENT IFPC CPQ, HLT / COMPARE OPERAND TAD BCX / MAGNITUDES. CIA TAD ACX SZA JMP I CPQ TAD BCH CIA TAD ACH SZA JMP I CPQ TAD BCL CIA CLL TAD ACL CML SZA RAR JMP I CPQ CZ, TAD ACS SZA CLA JMP R JMS I T5+7 JMS I T5+7 JMP R CM1, JMS I ACZ / THREE-WAY BRANCH. JMP RAZ JMS I BCZ JMP CZ TAD ACS TAD BCS SZA CLA JMP CZ JMS CPQ SNA JMP CZ+4 SMA CLA JMP CZ TAD BCS SZA CLA JMP CZ+3 JMP R RAZ, JMS I BCZ JMP CZ+4 JMP .-6 CHAR, HLT / INPUT CHARACTER PROCESSOR. JMS I INR AND K5 / MASK TO SEVEN BITS. SNA / IGNORE NULL. JMP CHAR+1 DCA ICHR / SAVE CHARACTER. TAD ICHR TAD K5+1 / TEST FOR RUB-OUT. SNA JMP RBO TAD K5+2 / TEST FOR 'E'. SNA JMP EXPN TAD K5+3 / TEST FOR DECIMAL POINT. SNA JMP DC5 IAC / TEST FOR MINUS. SNA JMP MN5 TAD K5+4 / IGNORE PLUS. SNA JMP CHAR+1 TAD K5+5 / BLANK MAY TERMINATE. SNA JMP BK5 TAD K5+6 / IGNORE LINE-FEED. SNA JMP CHAR+1 TAD K5+7 / TERMINATE IF NOT SMA SZA / DECIMAL DIGIT. JMP INAN TAD K5+10 SPA JMP INAN / INCREMENT COUNTER, DCA ACX / RETURN FOUR-BIT ISZ CHRX / DIGIT IN ACX. JMP I CHAR MN5, STL CLA RAR ISZ CHAR JMP I CHAR DC5, CLA CMA JMP IN2-1 RBO, TAD ROC JMS I OTR JMP IN1 BK5, TAD CHRX SNA CLA JMP CHAR+1 INAN, CLA CLL / INTERPRET AND NORMALIZE TAD K5+3 / INPUT NUMBER. DCA ACX JMS I NOR TAD BCL CLL RAL TAD BCH SZL CIA CLL TAD BCS SNA JMP R DCA BCS TAD BCS SMA CIA DCA BCX TAD BCS ROC, SMA CLA JMP .+3 TAD K5+12 SKP TAD K5+11 DCA CHAR JMS I CHAR ISZ BCX JMP .-2 JMP R K5, 177 7601 72 27 2 13 26 7720 12 MPTN DVTN MPY IN1, DCA CHRX DCA ACL DCA ACH DCA ACS DCA BCL DCA BCH DCA BCS DCA BCX IN2, JMS CHAR JMP .+3 DCA ACS JMP IN2 TAD BCS TAD BCX DCA BCS TAD ACH JMS I K5+13 K5+10 DCA ACH TAD ACL JMS I K5+13 K5+10 TAD ACX DCA ACL CLA RAL TAD ACH TAD FMQ DCA ACH JMP IN2 EXPN, JMS CHAR JMP .+3 DCA BCL JMP EXPN TAD BCH JMS I K5+13 K5+10 TAD ACX DCA BCH JMP EXPN HLT OT1, TAD FMT / FIXED-POINT OUTPUT. AND T6A CIA DCA FRWD TAD FMT RTR RTR RTR AND T6A CIA DCA INWD TAD ACS SMA CLA JMP .+3 TAD T6A+4 SKP TAD T6A+3 DCA T6A+7 DCA ACS JMS I SVPC ST T6B LFM JMS I ACZ JMP ZOT TAD FRWD SMA CLA CMA DCA SPAC EFM ILA 5 LFM JMS I T6B+1 ISZ SPAC JMP .-2 EFM AD T6B LFM TAD ACX SMA SZA CLA JMP IGOT JMP .+3 ZOT, TAD T6A+6 DCA T6A+7 IAC TAD INWD SPA JMS SPAC TAD T6A+7 JMS I OTR FRO, TAD FRWD SMA CLA JMP ODN TAD T6A+5 JMS I OTR ISZ FRWD SKP CLA JMP ODN JMS I T6B+2 JMP .-4 IGOT, DCA CHRX JMS I T6B+1 ISZ CHRX TAD ACX SMA SZA CLA JMP .-4 TAD INWD TAD CHRX SPA JMP OCN CLA TAD FRWD TAD INWD DCA CHRX TAD T6A+3 SKP TAD T6A+5 JMS I OTR ISZ CHRX JMP .-3 ODN, EFM LD T6B JP RSPC OCN, IAC SPA JMS SPAC TAD CHRX CMA DCA CHRX TAD T6A+7 JMS I OTR ISZ CHRX SKP CLA JMP FRO JMS I T6B+2 JMP .-4 T6B, SCR1 DVTN DGO FRWD, HLT INWD, HLT T6A, 77 212 215 240 255 256 260 HLT HLT SPAC, HLT DCA T6A+10 TAD T6A+3 JMS I OTR ISZ T6A+10 JMP .-3 JMP I SPAC CR1, TAD T6A+2 JMS I OTR TAD T6A+1 JMS I OTR JMP R SQAR, JMS I SVPC ST T6B MP T6B JP RSPC SCR2, HLT HLT HLT DGO, HLT / PRINT FAC HIGH JMS I T7A / DECIMAL DIGIT. EFM ST T7A+2 LFM JMS I T7A+1 DCA T7B TAD T7B TAD T7B+1 JMS I OTR TAD T7B CIA SFLO AD T7A+2 LFM JMP I DGO FM1, TAD FMQ / SET OUTPUT FORMAT. AND T7B+2 DCA T7B TAD FMQ AND T7B+3 CLL RAL RTL TAD T7B DCA FMT JMP R T7A, MPTN FXQ SCR2 T7B, HLT 260 7 370 SCR3, HLT HLT HLT PIOT, 1 3110 3755 ONE, 1 2000 HALF, 0 2000 ZERO, 0 0 0 XK2, 0 2000 0 XTA, ONE XK1 SCR1 XK1+3 XK2 SCR2 SCR3 ZERO EXPS EXPT EXP, JMS I SVPC / NATURAL EXPONENT. MP XTA+1 ST XTA+2 SFIX DCA T7B TAD T7B IAC DCA XK2 TAD T7B CIA SFLO AD XTA+2 MP XTA+3 ST XTA+2 LD XTA ST XTA+5 ILA 10 EXPT, ST XTA+6 RDV XTA+2 MP XTA+5 AD XTA ST XTA+5 LD XTA+6 SB XTA CMP XTA+7 JP XTA+10 JP XTA+10 JP XTA+11 EXPS, LD XTA+5 MP XTA+4 JP RSPC LGK, LGC LGC+3 LGC+6 LGC+11 LGC+14 LGC+17 LGC+22 HALF LOG, TAD ACX / NATURAL LOGARITHM. DCA XK2 IAC DCA ACX DCA ACS JMS I ACZ JMP R JMS I SVPC AD LGK+1 ST XTA+5 SB LGK DV XTA+5 ST XTA+5 MP XTA+5 ST XTA+2 MP LGK+3 AD LGK+4 MP XTA+2 AD LGK+5 MP XTA+2 AD LGK+6 MP XTA+5 ST XTA+5 LFM TAD XK2 SFLO SB LGK+7 AD XTA+5 MP LGK+2 JP RSPC LGC, 2 2650 1172 1 2650 1172 0 2613 4414 -1 3362 5646 0 2234 6604 0 3661 6112 2 2705 2436 XK1, 1 2705 2436 0 2613 4414 TSQ, SCR1 SCR2 0 HALF ONE 7774 SQRTL 0 SQRT, DCA ACS / SQUARE ROOT. JMS I ACZ JMP R TAD ACX SPA CML RAR DCA SQRT-1 GLK DCA ACX TAD TSQ+5 DCA TSQ+2 JMS I SVPC ST TSQ AD TSQ+4 JP TSQ+6 EFM ST TSQ+1 RDV TSQ AD TSQ+1 SQRTL, MP TSQ+3 LFM ISZ TSQ+2 JMP .-7 TAD ACX TAD SQRT-1 DCA ACX JMP I RSPC ATN, TAD ACS / ARCTANGENT. DCA TSQ+2 DCA ACS TAD ACX DCA TSQ+7 JMS I SVPC CMP TSQ+4 JP KAT+1 JP KAT+1 RDV TSQ+4 ATL, ST KAT+11 MP KAT+11 ST KAT+10 DV KAT+7 AD KAT+6 RDV KAT+10 AD KAT+5 RDV KAT+10 AD KAT+4 RDV KAT+10 AD KAT+3 RDV KAT+10 AD KAT+2 RDV KAT+10 AD TSQ+4 MP KAT+11 LFM TAD TSQ+7 SPA SNA CLA JMP .+5 EFM CHS AD KAT LFM TAD TSQ+2 DCA ACS JMP I RSPC KAT, PIOT ATL XAT XAT+5 XAT+10 XAT+13 XAT+2 XAT+16 SCR1 SCR2 XAT, 2 7000 6 6622 2322 0 6161 6351 4 7743 0460 7776 6456 2636 7775 7353 1611 COS, DCA ACS / COSINE. JMS I SVPC AD KR1 JP .+1 SIN+1 KS1, SCR1 SCR2 SCR3 KR1, PIOT FXQ ONE 0 SCOS, .+1 SCOX, HLT RDV KS1+1 MP KS1+2 CHS AD KR1+2 ST KS1+2 JP SCOX SIN, JMS I SVPC / SINE. LFM TAD ACS DCA KR1+3 DCA ACS EFM DV KR1 ST KS1 LFM JMS I KR1+1 RTR DCA SCOX CLA RAR TAD KR1+3 DCA KR1+3 DCA ACH TAD ACL DFLO CHS AD KS1 ST KS1 LFM TAD SCOX SMA JMP .+5 EFM LD KR1+2 SB KS1 LFM EFM MP KR1 ST KS1 MP KS1 ST KS1+1 LD KR1+2 ST KS1+2 322 JS SCOS 234 JS SCOS 156 JS SCOS 110 JS SCOS 52 JS SCOS 24 JS SCOS 6 JS SCOS MP KS1 LFM TAD KR1+3 DCA ACS JMP I RSPC / SAMPLE USER OUTPUT ROUTINE / USES 'PRINTA' ROUTINE IN FIELD '0' UOR, HLT CIF+00 JMS I .+3 CLA CLL JMP I UOR PRINTA / SAMPLE USER INPUT ROUTINE / USES 'READA' ROUTINE IN FIELD '0' UIR, HLT CIF+00 JMS I .+2 JMP I UIR READA / SAMPLE USER-DEFINED FUNCTION USER, JMS I SVPC / SAVE FPC AND EFM. / ANY CODE (SEE TEXT) JMS I RSPC / RESTORE AND RETURN. / / THE FOLLOWING CODE OVERLAYS THE SOFTWARE / MULTIPLY AND DIVIDE ROUTINES. / REMOVE IF EAE NOT AVAILABLE. / *DIV HLT / FP8 EAE DIVIDE. 7421 TAD I DIV ISZ DIV DCA MPTN TAD I MPTN DCA .+3 TAD FMQ 7407 HLT DCA FMQ 7501 JMP I DIV *MPY HLT DCA .+6 / FP8 EAE MULTIPLY. TAD I MPY ISZ MPY DCA MPTN TAD I MPTN 7425 HLT DCA FMQ 7501 JMP I MPY $