mirror of
https://github.com/PDP-10/its.git
synced 2026-01-20 01:45:49 +00:00
64 lines
1.0 KiB
Plaintext
Executable File
64 lines
1.0 KiB
Plaintext
Executable File
TITLE MOONPHASE FUNCTION FOR MACLISP (ITS ONLY)
|
|
|
|
;;; BY GUY L. STEELE JR. (GLS)
|
|
;;; PRIMARILY USED BY THE PHSPRT PACKAGE (Q.V.).
|
|
|
|
.FASL
|
|
.INSRT SYS:.FASL DEFS
|
|
|
|
;;; (MOONPHASE) RETURNS A 5-LIST (PHS DAY HOUR MIN SEC)
|
|
;;; PHS IS: 0 NEW MOON
|
|
;;; 1 FIRST QUARTER
|
|
;;; 2 FULL MOON
|
|
;;; 3 LAST QUARTER
|
|
;;; DAY, HOUR, MIN, SEC IS THE TIME SINCE PHS.
|
|
;;; THIS ROUTINE IS NOT TRULY ACCURATE, THEY SAY, BUT WHO CARES?
|
|
|
|
.ENTRY MOONPHASE SUBR 000001
|
|
|
|
SETZ A,
|
|
.RLPDT TT,
|
|
SKIPGE TT
|
|
POPJ P,
|
|
TLNE D,400000
|
|
SUBI TT,24.*60.*60.
|
|
TLNE D,100000
|
|
SUBI TT,60.*60.
|
|
MOVE F,TT
|
|
MOVEI T,-1(D)
|
|
TLZ D,-1
|
|
IMULI D,365.
|
|
LSH T,-2
|
|
ADDI D,(T)
|
|
IDIVI T,25.
|
|
SUBI D,(T)
|
|
LSH T,-2
|
|
ADDI D,1(T)
|
|
MULI D,24.*60.*60.
|
|
JFCL 4,.+1
|
|
ADD R,F
|
|
ADD R,[690882.]
|
|
JFCL 4,[AOJA D,.+1]
|
|
ASHC D,2
|
|
DIV D,[2551443.]
|
|
ANDI D,3
|
|
ASH R,-2
|
|
SETZ B,
|
|
IRP X,,[60.,60.,24.]
|
|
IDIVI R,X
|
|
MOVE TT,F
|
|
JSP T,FXCONS
|
|
CALL 2,.FUNCTION CONS
|
|
MOVEI B,(A)
|
|
TERMIN
|
|
MOVE TT,R
|
|
JSP T,FXCONS
|
|
CALL 2,.FUNCTION CONS
|
|
MOVEI B,(A)
|
|
MOVE TT,D
|
|
JSP T,FXCONS
|
|
JCALL 2,.FUNCTION CONS
|
|
|
|
FASEND
|
|
|