/ 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 IFNDEF NULLLOC 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 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=$=$