/DIGITAL-8-16-F /DOUBLE PRECISION SINE /POINTERS TO DIGITAL-8-13-F DMUL=0200 B=0341 C=0342 *400 DSIN, 0 TAD I DSIN /ADDRESS OF ARGUMENT DCA TEMP TAD I TEMP /HIGH ORDER DCA X2 ISZ TEMP TAD I TEMP /LOW ORDER DCA X2+1 ISZ DSIN /FIX EXIT TAD DSIN /SAVE ON PUSHDOWN LIST DCA I PUSH ISZ PUSH TAD X2 /CHECK FOR ZERO SZA CLA JMP NEG TAD X2+1 SZA CLA JMP NEG /NO CLA DCA I PNT3 /SIN(0)=0 DCA I PNT3+1 XIT1, CLA CMA /EXIT TAD PUSH DCA PUSH TAD I PUSH DCA TEMP JMP I TEMP NEG, TAD X2 /CHECK FOR NEGATIVE X SMA CLA JMP POS TAD X2+1 /SIN(-X)=-SIN(X) CLL CMA IAC DCA X2+1 TAD X2 CMA SZL IAC DCA X2 /DIGITAL-8-16-F /PAGE 2 JMS DSIN /RECURSIVE CALL FOR SINE X2 XIT2, TAD I PNT3+1 /NEGATE THE ANSWER CLL CMA IAC DCA I PNT3+1 TAD I PNT3 CMA SZL IAC DCA I PNT3 JMP XIT1 POS, CLL /IS X