--- /dev/null
+/
+/
+/
+/ A M O D
+/ - - - -
+/
+/SUBROUTINE AMOD(X,Y)
+/
+/ VERSION 5A 4-27-77 PT
+/
+ SECT AMOD
+ ENTRY MOD
+ JA #AMOD
+ TEXT +AMOD +
+AMODXR, SETX XRAMOD
+ SETB BPAMOD
+BPAMOD, F 0.0
+XRAMOD, F 0.0
+AMODX, F 0.0
+ ORG 10*3+BPAMOD
+ FNOP
+ JA AMODXR
+ 0
+ AMDRTN, JA .
+ EXTERN #ARGER
+AMODER, TRAP4 #ARGER
+ FCLA
+ JA AMDRTN
+ BASE 0
+MOD,
+#AMOD, STARTD
+ FLDA 10*3
+ FSTA AMDRTN
+ FLDA 0
+ SETX XRAMOD
+ SETB BPAMOD
+ BASE BPAMOD
+ LDX 1,1
+ FSTA BPAMOD
+ FLDA% BPAMOD,1 /ADDR OF X
+ FSTA AMODX
+ FLDA% BPAMOD,1+ /ADDR OF Y
+ FSTA BPAMOD
+ STARTF
+ FLDA% BPAMOD /GET Y
+ JEQ AMODER /Y=0 IS ERROR
+ JGT .+3
+ FNEG /ABS VALUE
+ FSTA BPAMOD
+ FLDA% AMODX /GET X
+ JGT .+5
+ FNEG /ABS VALUE
+ LDX 0,1 /NOTE SIGN
+ FSTA AMODX /SAV IN A TEMPORARY
+ FDIV BPAMOD /DIVIDE BY Y
+ JAL AMODER /TOO BIG.
+ ALN 0 /FIX IT UP NOW.
+ FNORM
+ FMUL BPAMOD /MULITPLY IT.
+ FNEG /NEGATE IT.
+ FADD AMODX /AND ADD IN X.
+ JXN AM,1 /CHECK SIGN
+ FNEG
+AM, JA AMDRTN
+\f