File NULL.PA (PAL assembler source file)

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

/ NULL TASK FOR RTS8 V2B-A			12/1/76

	VERS=	1

/
/EDIT HISTORY
/
/01-JAN-76: (LHN)
/	1)  CREATED THIS DATE
/01-DEC-76: (LHN)
/	1)  UPDATED TO V2B-A



IFNDEF	NULLFLD	<NULLFLD=0>
IFNDEF	NULLLOC	<NULLLOC=4000>




	TASK=	NULL
	CUR=	NULLFLD
	INIWT=	0		/ALWAYS RUNNABLE !!

/ / / THIS TASK WILL RUN WHEN NO OTHER TASKS ARE / RUNNABLE. / / THE NULL TASK MOVES A PATTERN THROUGH THE PDP-8'S / ACCCUMULATOR INDICATORS. THE RATE OF THE PATTERN / MOTION IS A INDICATION OF SYSTEM ACTIVITY. / / IF "EAE" IS NON-ZERO IN THE PARAMETER FILE, THE MQ / REGISTER IS USED TO DISPLAY THE CONTENTS OF THE / MEMORY LOCATION ADDRESSED BY THE CONSOLE SWITCH / REGISTER. THE DATA FIELD OF THE DISPLAYED DATA IS / DETERMINED BY A 'CDF N' INSTRUCTION IN LOCATION / 'FIMQDY' (SEE THE PARAMETER FILE). THIS 'CDF N' / INSTRUCTION IS CONTROLLED BY THE 'FI' COMMAND OF / THE MCR TASK. / / THIS TASK MAY ASSEMBLED INTO ANY AVAILABLE SPACE / IN ANY MEMORY FIELD. THE NULL TASK'S PRIORITY MUST / BE THE LOWEST IN THE SYSTEM AS NO LOWER PRIORITY / TASK WILL EVER RUN! THE NULL TASK'S PRIORITY IS / USUALLY SET EQUAL TO 'NTASKS'+1. / / WITH THE MQ DISPLAY FEATURE THIS TASK IS 51(8) / WORDS LONG. WITHOUT THE MQ DISPLAY, THE LENGTH IS / 37(8) WORDS. / FIELD CUR%10 *NULLLOC
/ START, TAD NULL1 /RESET THE MQ DISPLAY DELAY COUNTER. DCA NULL2 TAD I NULL3 /GET THE DATA FOR THE AC DISPLAY. ISZ NULL2 /INCREMENT THE MQ DELAY COUNTER. JMP .-1 IFZERO EAE <CLL CLA> IFNZRO EAE < LAS /GET MEMORY ADDRESS TO DISPLAY FROM DCA NULL7 /THE SWITCH REGISTER. CDF 0 /DATA FIELD TO FIELD OF RTS8 EXEC. TAD I NULL8 /GET THE "CDF N" TO THE FIELD OF DCA .+1 /INTEREST LEFT BY THE MCR TASK ('FI' HLT /COMMAND) AND USE IT. TAD I NULL7 /GET THE DATA TO DISPLAY, AND MQL /PUT IT IN THE MQ REGISTER. CDF CUR /RESTORE THE DATA FIELD TO HERE. > ISZ NULL4 /INCREMENT THE AC DELAY COUNTER. JMP START TAD NULL1 /RESET THE AC DISPLAY DELAY COUNTER. DCA NULL4 ISZ NULL5 /FORM AN ADDRESS OF THE NEXT DATA TAD NULL5 /PATTERN TO DISPLAY IN THE AC. AND NULL6 /KEEP IT WITHIN THE DATA TABLE. TAD NULTBL DCA NULL3 /SAVE THE NEW DATA TABLE POINTER. JMP START /GO BACK TO THE DELAY LOOP. NULTBL, .+1 0140 / ** AC DISPLAY 0360 / **** PATTERN DATA 0630 / ** ** TABLE 10(8) 1414 / ** ** WORDS LONG. 3006 / ** ** 6003 / ** ** 4001 / * * 0 / NULL1, -200 /DISPLAY DELAY CONSTANT. NULL2, 0 /MQ DISPLAY DELAY COUNTER. NULL3, NULTBL+1 /POINTER TO CURRENT AC DATA PATTERN. NULL4, -200 /AC DISPLAY DELAY COUNTER. NULL5, 0 /INDEX INTO THE AC PATTERN TABLE. NULL6, 0007 /PATTERN TABLE LENGTH MASK. IFNZRO EAE < NULL7, 0 /TEMPORARY SCRATCH LOCATION. NULL8, FIMQDY /POINTER TO 'CDF N' LEFT BY THE MCR. > $=$=LHN=$=$



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