software: Added more and more
[pdp8.git] / sw / f4 / FRTSRC / datan2.ra
CommitLineData
7af5ad59
PH
1/
2/
3/
4/ D A T A N 2
5/ - - - - - -
6/
7/SUBROUTINE DATAN2(Y,X)
8/
9/ VERSION 5A 4-27-77 PT
10/
11 SECT DATAN2
12 JA #DATN2
13 DPCHK
14 TEXT +DATAN2+
15ATN2XR, SETX XRATN2
16 SETB BPATN2
17BPATN2, FNOP
18 0
19 0
20XRATN2, F 0.0
21YCOR, F 0.0
22 0;0;0
23XCOR, F 0.0
24 0;0;0
25 ORG 10*3+BPATN2
26 FNOP
27 JA ATN2XR
28 0
29AT2RTN, JA .
30FPIAT2, 2
31 3110 /PI
32 3755
33 2421
34 0264
35 3016
36ATPI, 0001
37 3110 /PI/2
38 3755
39 2421
40 0264
41 3016
42 BASE 0
43#DATN2, STARTD
44 FLDA 10*3
45 FSTA AT2RTN
46 FLDA 0
47 SETX XRATN2
48 SETB BPATN2
49 BASE BPATN2
50 LDX 1,1
51 FSTA BPATN2
52 FLDA% BPATN2,1 /ADDR OF Y
53 FSTA YCOR
54 FLDA% BPATN2,1+ /ADDR OF X
55 FSTA XCOR
56 STARTE
57 FLDA% YCOR
58 FSTA YCOR /SAVE FOR A SECOND
59 LDX 1,2 /POSITIVE Y
60 JEQ ATN0
61 JGT ATN1
62 LDX 0,2
63ATN1, FLDA% XCOR /GET X - THE QUADRAND
64 FSTA XCOR /+MOVE IT TO A SAFE PLACE
65 JEQ ATASP
66 FLDA YCOR /Y/X
67 FDIV XCOR
68 FSTA YCOR
69 EXTERN DATAN
70 JSR DATAN /CALL ATAN
71 JA .+4 /TAKE ARCTAN OF Y/X
72 JA YCOR
73 FSTA YCOR /SAVE IT AWAY
74 JGE A2 /SKIP IF 1ST OR 3RD QUADS
75 FADD FPIAT2 /ADD PI FOR 4TH QUAD
76 FSTA YCOR
77A2, JXN AT2RTN,2 /DONE IF 1 OR 4 Q
78 FLDA YCOR
79 FSUB FPIAT2 /2ND OR 3RD Q
80 JA AT2RTN
81ATASP, FLDA ATPI /PI/2
82 JXN ATNG,2
83 FNEG
84ATNG, JA AT2RTN
85ATN0, FLDA% XCOR
86 JLT POSX
87 FCLA /X POS, ANS =0
88 JA AT2RTN
89POSX, FLDA FPIAT2 /X LT 0, ANS = PI
90 JA AT2RTN
91\f