100 XLIST OFF 110 IFNZRO CHAN < 120 XLIST ON 130 FLOOP, DLD; L2 /UPDATE 140 XLIST OFF > 150 IFZERO CHAN < 160 XLIST ON 170 FLOOP, DLD; L4 /UPDATE 180 XLIST OFF > 190 XLIST ON 200 FCHECK, DAD; SPKTM1 /GET LATEST POINTER 210 DST; SPKTM1 /STORE IT BACK 220 DCM /INVERT FOR TESTING 230 DAD; SPKTM2 /COMPARE TO LIMIT 240 SMA SZA /SKIP IF = OR TIME1 BIGGER THAN TIME2 250 JMP FMORE /JUMP IF DEFINITELY SMALLER 260 SZA CLA /IF ZERO THAN POSSIBLY EQUAL 270 JMP SPKFIN /NO DEFINITELY TIME1 GREATER THAN TIME2 280 MQA /GET LOW-ORDER DIFFERENCE 290 SNA CLA /SKIP IF DIFFERENT 300 JMP SPKFIN /JUMP IF AT END OF RANGE 310 XLIST OFF 320 IFNZRO CHAN < 330 XLIST ON 340 FMORE, LOAD; SPKTM1 /GET AN X WORD 350 XLIST OFF > 360 IFZERO CHAN < 370 XLIST ON 380 FMORE, DLD; SPKTM1 /GET X ADDRESS 390 DAD; L2 /BUMP TO SPIKE WORD 400 DST; FNDTMP /SAVE POINTER 410 LOAD; FNDTMP /GET THE SPIKE WORD 420 XLIST OFF > 430 XLIST ON 440 SMA CLA /SKIP IF A SPIKE HERE 450 JMP FLOOP /JUMP IF NOT 460 ISZ SPKCNT /COUNT ANOTHER SPIKE 470 ISZ FSW /FIRST TIME THROUGH? 480 JMP NXTSPK /NO 490 MOVE; SPKTM1; FRSPIKE /SAVE FIRST SPIKE 500 NXTSPK, MOVE; SPKTM1; LSPIKE /MIGHT BE LAST SPIKE 510 JMP FLOOP /KEEP GOING 520 530 SPKFIN, TAD SPKCNT /GET FINAL SPIKE COUNT 540 JMP I SPKFND /RETURN 550 560 FSW, .-. /ONE SPIKE FOUND SWITCH 570 SPKTM1, ZBLOCK 2 /TEMPORARY 580 SPKTM2, ZBLOCK 2 /TEMPORARY 590 EJECT 600 /PARAMETER TABLE FOR SPIKE LOCATING CORRECTION FACTORS 610 620 PRMTBL= . /VALUES ARE HERE 630 640 /BEGINNING CORRECTION FOR PAUSE 650 660 XLIST OFF 670 IFZERO PARM1&4000 < 680 XLIST ON 690 T= PARM1&M^12+PARM1F%D /PARTIAL VALUE 700 PARM1%D^12+T /FINAL VALUE 710 XLIST OFF > 720 IFNZRO PARM1&4000 < 730 XLIST ON 740 TT= -PARM1 /USE POSITIVE FORM 750 T= TT&M^12+PARM1F%D /FIRST PARTIAL 760 T= TT%D^12+T /FINAL VALUE 770 -T /USE NEGATIVE FORM 780 XLIST OFF > 790 XLIST ON 800 810 /ENDING CORRECTION FOR PAUSE 820 830 XLIST OFF 840 IFZERO PARM2&4000 < 850 XLIST ON 860 T= PARM2&M^12+PARM2F%D /PARTIAL VALUE 870 PARM2%D^12+T /FINAL VALUE 880 XLIST OFF > 890 IFNZRO PARM2&4000 < 900 XLIST ON 910 TT= -PARM2 /USE POSITIVE FORM 920 T= TT&M^12+PARM2F%D /FIRST PARTIAL 930 T= TT%D^12+T /FINAL VALUE 940 -T /USE NEGATIVE FORM 950 XLIST OFF > 960 XLIST ON 970 980 /BEGINNING CORRECTION FOR MOVEMENT 990 1000 XLIST OFF 1010 IFZERO PARM3&4000 < 1020 XLIST ON 1030 T= PARM3&M^12+PARM3F%D /PARTIAL VALUE 1040 PARM3%D^12+T /FINAL VALUE 1050 XLIST OFF > 1060 IFNZRO PARM3&4000 < 1070 XLIST ON 1080 TT= -PARM3 /USE POSITIVE FORM 1090 T= TT&M^12+PARM3F%D /FIRST PARTIAL 1100 T= TT%D^12+T /FINAL VALUE 1110 -T /USE NEGATIVE FORM 1120 XLIST OFF > 1130 XLIST ON 1140 1150 /ENDING CORRECTION FOR MOVEMENT 1160 1170 XLIST OFF 1180 IFZERO PARM4&4000 < 1190 XLIST ON 1200 T= PARM4&M^12+PARM4F%D /PARTIAL VALUE 1210 PARM4%D^12+T /FINAL VALUE 1220 XLIST OFF > 1230 IFNZRO PARM4&4000 < 1240 XLIST ON 1250 TT= -PARM4 /USE POSITIVE FORM 1260 T= TT&M^12+PARM4F%D /FIRST PARTIAL 1270 T= TT%D^12+T /FINAL VALUE 1280 -T /USE NEGATIVE FORM 1290 XLIST OFF > 1300 XLIST ON 1310 1320 PAGE 1330 EJECT