File TIME.PA (PAL assembler source file)

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

EJECT TIMER

	/ PRINTS TIME IN TOPS8
	/ BY M.P.VAN OS  EXPOGRAPH 30-MAR-79


	DECIMAL
	SEVENTY=70
	NINETY=1900
	OCTAL

*0200

START,	SKP			/ CLEAR ALL
	CLA CLL			/ ENTER VIA CCL
	6254			/ SKIP UNDER TOPS8
	JMP	ERROR		/ NO TOPS8 BACKGROUND!
	TAD	(MESDAT		/ PRINT: DATE 
	JMS	SIMPRT		/
	JMS	DATE		/ GO PRINT THE DATE
	TAD	(MESHRS		/ PRINT TIME
	JMS	SIMPRT		/
	6770			/ GET HOURS
	BSW			/ SWAP
	AND	(77		/ MASK
	JMS	OCTDEC		/ PRINT HOURS
	TAD	(MES1		/ PRINT HRS.
	JMS	SIMPRT		/
	6770			/ GET MINUTES
	AND	(77		/ MASK
	JMS	OCTDEC		/
	TAD	(MES2		/ PRINT MIN.
	JMS	SIMPRT		/
	JMP	7605		/ BACK TO MONITOR
ERROR,	CLA CLL			/ BAD ENTRY!
	TAD	(MESERR		/
	JMS	SIMPRT		/ PRINT
	JMP	7605		/ BACK TO MONITOR

SIMPRT,	.-.			/
	DCA	START		/ SAVE
	TAD I	START		/
	SNA			/ ZERO?
	JMP I	SIMPRT		/
	JMS	PRINT		/
	ISZ	START		/
	JMP	SIMPRT+2	/ NEXT

PRINT,	.-.			/
	TLS			/
	TSF			/
	JMP	.-1		/
	CLA			/
	KSF			/ A CALL?
	JMP I	AD KBB
	AND	(177		/
	TCLA			/
	JMP I	PRINT		/K

	PAGE

DATE, .-. / DATA FIELD 1 TAD 7666 / GET DATA AND (7400 / AND THE MONTH CLL RTR BSW / DIVIDE BY 1000 DCA MONTH / TAD 7666 / AND (370 / AND THE DAY CLL RTR / DIVIDE BY TEN RAR / DCA DAY / DONE T AND (7 / DCA YEAR 0 TAD 7777 / GET RES / CLL RTR / DIVIDEEAR / TAD (SEVENTY / ADD 70 DECIMAL TO IT TAD (NINETY / ADD 1900 DCA YEAR / TAD DAY / PRINT DAY JMS OCTDEC / TAD ("- / JMS PRINT / TAD (DATAB / GET THE DATE TABLE DCA DAY / TAD MONTH / PRINT MONTH TAD I DAY / COMPAIRE? SNA CLA / TRY JMP DATE1 / YES ISZ DAY / NOT YET ISZ DAY / JMP .-6 / TRY NEXT MONTH DATE1, ISZ DAY / POINTER TO MONTH TAD I DAY / JMS SIMPRT / SIMPLE OUTPUT ROUTINE DATE2, TAD ("- / JMS PRINT / TAD YEAR / PRINT THE YEAR JMS OCTDEC / JMP I DATE / RETURN DAY, .-. / DATE MONTH, .-. / YEAR, .-. / PAGE
OCTDEC, .-. / OCTAL TO DECIMAL TAD (-1750 / THOUSANDS SPA / POSITIF? JMP OCDE1 / YEP ISZ THOU / NOT YET JMP OCTDEC+1 / GO OCDE1, TAD (1750 / REBUILD TAD (-144 / MINUS 100 SPA / POSITIF? JMP OCDE2 / YES ISZ HUN / UPDATE HUNDREDS JMP OCDE1+1 / NOT YET OCDE2, TAD (144 / REBUILD TAD (-12 / TENS SPA / POSITIF? JMP OCDE3 / NEXT ISZ TENDE2+1 / GO OCDE3, TAD / SAVE ONES DCA ZROFE4, TAD THOU / GET THE PRINT TAD HUN / PRINT HUNDREDS JMS DECOUT / TAD TEN / GET TENS JMS DECOUT / PRINT ISZ ZROFLG / SET FLAG TAD ONE / PRINT ONES JMS DECOUT / DCA ONE / CLEAR ALL LOCATIONS DCA TEN / DCA HUN OCTDEC / RETURN DECE,CHECK FOR 0 PRINT SZ YES TAD ZROFLG / CHE/ WAS IT SET? TAD (" -"0 / NO,PRINT A SPACE SKP / SKIP DC1, ISZ ZROFLG / SET FLAG TAD ("0 / GET A ZERO JMS PRINT / PRINT JMP I DECOUT / RETURN ONE, .-. / ONES TEN, .-. / TENS HUN, .-. / HUNDREDS THOU, .-. / THOUSANDS ZROFLG, .-. / FLAG ZERO OR NOT PAGE
DATAB, -1; JAN / DATE TABLE -2; FEB / -3; MAR / -4; APR / -5; MAY / -6; JUN / -7; JUL / -10; AUG / -11; SEP / -12; OCT / -13; NOV / -14; DEC / JAN, "J;"A;"N;0 FEB, "F;"E;"B;0 MAR, "M;"A;"R;0 APR, "A;"P;"R;0 MAY, "M;"A;"Y;0 JUN, "J;"U;"N;0 JUL, "J;"U;"L;0 AUG, "A;"U;"G;0 SEP, "S;"E;"P;0 OCT, "O;"C;"T;0 NOV, "N;"O;"V;0 DEC, "D;"E;"C;0 MESDAT, " ;"D;"A;"T;"E;" ;0 MESHRS, " ;" ;" ;" ;" ;" ;0 MES1, "H;"R;"S;".;0 MES2, "M;"I;"N;".;0 MESERR, " ;"O;"N;"L;"Y;" "I;"N;" ;"T;"H;"E;" "B;"A;"C;"K;"G;"R;"O;"U;"N;"D;" "O;"F;" "T;"O;"P;"S;"8;"!;0 $$$ M.P. VAN OS $$$



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