File TSIN.SB (8k SABR macro assembler source file)

Directory of image this file is from
This file as a plain text file

/ 15	FORTRAN II EXTENDED SUBROUTINE & FUNCTION LIBRARY
/
/	FUNCTION TSIN (W)
/
/	FUNCTION TCOS (W)
/
/	ARGUMENT W IN GRAD (-2047 < ARG < 2047)
/
/	*****   ZERSTOERT MQ - INHALT   *****
/
/	11-FEB-78	W. MUELLER	W. HOUBEN
/	13-FEB-78
/	14-FEB-78	4 GRAD TABELLE	W. MUELLER
/	15-FEB-78	FLOAT & RETURN	W. HOUBEN
/	16-SEP-78	COMMENTS	W. HOUBEN
/	19-SEP-78	NEW TABLE &	W. MUELLER
/			NORMALIZE	W. HOUBEN
/	22-SEP-78	(2049)
/
/
	LAP 
	OPDEF	TADI	1400
	OPDEF	JMPI	5400
	OPDEF	MQL	7421	/ MQ=AC ; AC=0
	OPDEF	MQA	7501	/ AC=AC.OR.MQ
	OPDEF	CAM	7621	/ AC=0 ; MQ=0
	OPDEF	SWP	7521	/ AC=MQ ; MQ=AC
	ENTRY	TSIN
	ENTRY	TCOS
	DUMMY	WNKL
CM90,	6075		/ -90.0
	5000
NULL,
EXP,	2040
	0000
	DECIM
/
/	STAB(I)=SIN(I)*2048
/
STAB,	0000;0143;0286;0426;0565;0701
	0833;0962;1086;1204;1317;1423
	1522;1614;1698;1774;1841;1899
	1948;1988;2017;2037;2047;2049
	OCTAL
C4000,	4000
TSIN,	BLOCK	0	/ SIN - ENTRY
IDX0,	0000
IWNK,
SAVE,
IDX1,	0017
	TAD	TSIN
	DCA	TCOS
	TAD	TSIN#
	DCA	TCOS#
	TAD	CM90	/ FAC = -90.0
	DCA	ACH
	TAD	CM90#
	DCA	ACM
	JMP	SINUS
TCOS,	0000
	0017
SINUS,	TAD	TCOS
	DCA	CDF1
DELT,
CDF1,	HLT
	TADI	TCOS#
	DCA	WNKL
	INC	TCOS#
	TADI	TCOS#
	DCA	WNKL#
	INC	TCOS#
	CALL	0,FAD	/ FAC=W
WNKL,	0000
	0000
	CLA CLL CMA RAR	/ AC=3777
	AND	ACH
	DCA	ACH	/ FAC=ABS(FAC)
	CALL	0,FIX	/ AC=IFIX(FAC)
	CALL	1,DIV	/ AC=AC/90
	ARG	D90
C1,	IAC		/ MASK SMALL NUMBERS
	MQL		/ SAVE QUADRANT
	CALL	0,IREM
D90,	0132
TADR,	STAB
	SWP		/ SAVE ANGLE
	RAR		/ ODD/EVEN IN LINK
	AND	C1
	SZA CLA
	TAD	C4000
	SWP		/ SAVE SIGN
	SNL
	JMP	CALC
	CIA
	TAD	D90	/ IWNK=90-IWNK
CALC,	SNA
	CAM		/ CLEAR SIGN IF ZERO
	DCA	IWNK
	TAD	IWNK
	CLL RAR
	CLL RAR
	TAD	TADR
	DCA	IDX0	/ IDX0 = IWNK/4+TADR
	CLA CLL IAC CML RAL	/ AC = 3
	AND	IWNK	/ IDIW = - ( IW & 3 )
	SNA		/ IDIW = 0 ?
	JMP	ZERO	/ YES : TSIN=IT(IIW)
	CIA
	DCA	DELT
	TAD	IDX0	/ TSIN=(IT(IIW)+
	IAC		/ (IT(IIW+1)-IT(IIW))
	DCA	IDX1	/ *IDIW/4)*IS
	TADI	IDX0
	CIA
	TADI	IDX1	/ MULTIPLICATION
	DCA	SAVE
LOOP,	TAD	SAVE
	ISZ	DELT
	JMP	LOOP
	CLL RAR
	CLL RAR
ZERO,	TADI	IDX0
	DCA	ACM	/ FLOAT # IN AC
	TAD	EXP	/ AND DIDIDE BY 2048
	MQA		/ ADD SIGN (4000 OR 0)
	DCA	ACH
	IAC
	DCA	ACL
	CALL	1,FAD	/ NORMALIZE
	ARG	NULL
	CLA CLL IAC RAL	/ AC = 2
	TAD	TCOS
	DCA	RETCDI
RETCDI,	HLT
	JMPI	TCOS#
	END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search