Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | / |
2 | / | |
3 | / | |
4 | / A M O D | |
5 | / - - - - | |
6 | / | |
7 | /SUBROUTINE AMOD(X,Y) | |
8 | / | |
9 | / VERSION 5A 4-27-77 PT | |
10 | / | |
11 | SECT AMOD | |
12 | ENTRY MOD | |
13 | JA #AMOD | |
14 | TEXT +AMOD + | |
15 | AMODXR, SETX XRAMOD | |
16 | SETB BPAMOD | |
17 | BPAMOD, F 0.0 | |
18 | XRAMOD, F 0.0 | |
19 | AMODX, F 0.0 | |
20 | ORG 10*3+BPAMOD | |
21 | FNOP | |
22 | JA AMODXR | |
23 | 0 | |
24 | AMDRTN, JA . | |
25 | EXTERN #ARGER | |
26 | AMODER, TRAP4 #ARGER | |
27 | FCLA | |
28 | JA AMDRTN | |
29 | BASE 0 | |
30 | MOD, | |
31 | #AMOD, STARTD | |
32 | FLDA 10*3 | |
33 | FSTA AMDRTN | |
34 | FLDA 0 | |
35 | SETX XRAMOD | |
36 | SETB BPAMOD | |
37 | BASE BPAMOD | |
38 | LDX 1,1 | |
39 | FSTA BPAMOD | |
40 | FLDA% BPAMOD,1 /ADDR OF X | |
41 | FSTA AMODX | |
42 | FLDA% BPAMOD,1+ /ADDR OF Y | |
43 | FSTA BPAMOD | |
44 | STARTF | |
45 | FLDA% BPAMOD /GET Y | |
46 | JEQ AMODER /Y=0 IS ERROR | |
47 | JGT .+3 | |
48 | FNEG /ABS VALUE | |
49 | FSTA BPAMOD | |
50 | FLDA% AMODX /GET X | |
51 | JGT .+5 | |
52 | FNEG /ABS VALUE | |
53 | LDX 0,1 /NOTE SIGN | |
54 | FSTA AMODX /SAV IN A TEMPORARY | |
55 | FDIV BPAMOD /DIVIDE BY Y | |
56 | JAL AMODER /TOO BIG. | |
57 | ALN 0 /FIX IT UP NOW. | |
58 | FNORM | |
59 | FMUL BPAMOD /MULITPLY IT. | |
60 | FNEG /NEGATE IT. | |
61 | FADD AMODX /AND ADD IN X. | |
62 | JXN AM,1 /CHECK SIGN | |
63 | FNEG | |
64 | AM, JA AMDRTN | |
65 | \f |