Directory of image this file is from
This file as a plain text file
0 /SET SIGN TO POSITIVE. JGT SINMOD /IF POSITIVE BYPASS FUDGE. JEQ SINRTN /IF ZERO EXIT. FNEG /NEGATIVE. NEGATE AC. SIN(-X)=-SIN(X) LDX 0,0 /SET SIGN TO MINUS. SINMOD, JAL SINER /IF SIGN CAN T INT, THEN ERROR. FDIV F2PISN /REDUCE TO BELOW TWO PI. FSTA SIN1 /SAVE IN A TEMP. ALN 0 FNORM /INTERGIZE IT. FNEG FADD SIN1 /RECALL NUMBER. AC NOW <0 FMUL F2PISN /NOW MULTIPLY BACK. FSTA SIN2 /AND SAVE AWAY. FSUB FPISIN /SUBTRACT OFF PI. JLT SINP /LESS THEN PI. FSTA SIN2 /RESTORE AS 2. XTA 0 /INVERT THE SIGN. FNEG FSUB F1SIN /SIN(X-PI)=-SIN(X) ATX 0 /AND PUT BACK. / SINP, FLDA SIN2 /RECALL MAGIC GOODY. FSUB FPI2SN /TEST TO SEE IF X<PI/2 JLT SINPP /YEP. / FLDA FPISIN /SIN(X)=SIN(PI-X) FSUB SIN2 FSTA SIN2 /AND STORE IT BACK. / SINPP, FLDA SIN2 /GET THE MAGIC NUMBER. FSUB SINTST /SEE IF ITS CLOSE TO AN EDGE JGT SINPPP /IT IS NOT FLDA SIN2 /RECALL NUMBER IF TOO SMALE JXN SINRTN,0 /EXIT IF SAME SIGN. FNEG /ELSE NEGATE IT. JA SINRTN SINPPP, FLDA SIN2 /RECALL NUMBER TO BE WORKED ON. FDIV FPI2SN /DIVIDE BY PI OVER TWO. FSTA SIN2 /AND STORE BACK. FMUL SIN2 /MULTIPLY OUT. FSTA SIN1 FMUL SINC9 /NOW DO THE STANDARD ITERATION. FADD SINC7 FMUL SIN1 FADD SINC5 FMUL SIN1 FADD SINC3 FMUL SIN1 FADD FPI2SN /ADD IN PI OVER 2 FMUL SIN2 /DO THE FINAL MULTIPLY. JXN SINRTN,0 /SHALL WE NEGATE FNEG /YEP JA SINRTN /AND RETURN.