File AAVG5.

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

/LAB8E ADVANCED AVERAGER MS-SECTION 5,DATA OUTPUT TO MASS STORAGE.
/
/DEC-8E-AAA5A-A-LA
/
/COPYRIGHT 1972
/DIGITAL EQUIPMENT CORPORATION
/MAYNARD ,MASSACHUSETTS 01754
/

/ / / /FILE AD5.1 /PART 5 OF ADVANCED AVERAGER FOR OS-8. / DATA WRITE OVERLAY FOR ADV. AVG. FOR PS8. CDFV=20 CDFVV=21 CDFVR=22 ENTRY=23 BLKCT=24 JLPT=25 TEMP1=26 TEMP2=27 TEMP3=30 TEMP4=31 TEMP5=32 NOODP=33 NAMEA=34 /FILE NAME TAKES 4 LOCATIONS. WPPT=40 OUSWYN=41 *6400 /OVERLAY TO WRITE DATA. /START HERE. CDF 0 /SET UP CDF ROUTINE ON PAGE 0. CLL CLA TAD (5420 DCA CDFVR DCA 7746 /SET PS8 STATUS WORD. CIF 10 /CALL COMMAND DECODER. JMS I (7700 5 0 0 /COMMAND DECODER CALL IS /DEV: NAME < CDF 10 /CALL IN DEVICE HANDLER. TAD I (7600 SNA /TEST FOR NO OUTPUT NAME. JMP ERROR1 AND (17 CDF 0 CIF 10 JMS I (7700 1 WANS3, 7201 /RETURN ENTRY POINT. JMP ERROR1 /DEVICE NOT AVAILABLE. TAD WANS3 /SAVE ENTRY POINT TO DEVICE HANDLER. DCA ENTRY TAD (7600 /MOVE NAME TO FIELD 0. DCA 10 TAD (NAMEA-1 DCA 11 TAD (-4 DCA 12 WOV1, CDF 10 TAD I 10 CDF 0 DCA I 11 ISZ 12 JMP WOV1 CDF 10 /CREATE FILE. TAD I (7600 CDF 0 CIF 10 JMS I (7700 3 WANS1, NAMEA /RETURN START BLOCK OF FILE. WANS2, 0 /-BLOCK LENGTH RETURNED HERE. JMP ERROR2 /FILE CREATE ERROR. TAD WANS1 /SAVE FILE BLOCK START. DCA BLKCT
/ / / CDF 0 /WRITE JOB LIST OUT. TAD (230 DCA TEMP3 OU3, TAD (-2 TAD TEMP3 DCA TEMP3 TAD (-44 /CAN PUT 36 JOB LISTS IN BLOCK. DCA TEMP1 /7 WORDS PER LIST. IAC /SET 1ST WORD IN BLOCK=1 DCA I TEMP3 /AS CODE FOR ADV.AVG. ISZ TEMP3 TAD TEMP3 /SAVE ADD.OF WORD2 OF BLOCK. DCA TEMP2 ISZ TEMP3 OU1, TAD I TEMP3 /SCAN JOB LIST FOR END. SNA CLA JMP OU2 TAD TEMP3 /LOOK AT NEXT LIST VALUE. TAD (7 DCA TEMP3 ISZ TEMP1 JMP OU1 CLA IAC /36 JOB LIST ENTRIES,SET WORD2 OF BLOCK OU2, DCA I TEMP2 /TO 0 IF NO MORE JOB LIST BLOCKS, /TO 1 IF MORE JOB LIST BLOCKS FOLLOW. CMA TAD TEMP2 /STORE STARTING CORE LOC. DCA OARG2 TAD BLKCT /STORE BLOCK ADD. DCA OARG3 ISZ BLKCT /INCREMENT BLOCK COUNT. CDF CIF 0 /WRITE JOB LIST BLOCK TO DEVICE. JMS I ENTRY OARG1, 4200 OARG2, 0 OARG3, 0 JMP ERROR3 /WRITE ERROR. ISZ WANS2 /TEST FOR FILE FULL. JMP .+2 JMP ERROR4 TAD I TEMP2 /TEST IF MORE JOB LISTS TO DO. SZA CLA JMP OU3 JMP I .+1 6600 EJECT / / / /2 LOCATIONS DESTROYED IN JOB LIST FOR MORE THAN 36, /DOES NOT EFFECT LATER PROCESSING,SINCE NOT USED. *6600 TAD (230 /WRITE OUT DATA.SET JOB LIST ADD. DCA TEMP2 OU5, TAD (CDF 0 DCA CDFVV /SET CDF INST. IN SUBROUTINE. TAD TEMP2 /SET NEXT JOB LIST ADD. DCA TEMP3 CDF 0 TAD I TEMP3 /CHECK FOR END OF JOB LIST. SNA CLA JMP OUDON /NO MORE DATA TO OUTPUT. TAD TEMP3 /SAVE JOB LIST ADD. OF NEXT LIST. TAD (7 DCA TEMP2 TAD (2 /SET COUNT FOR BEGINNING OF BLOCK. DCA OUSWYN
TAD (2 DCA WPPT /CALCULATE WORDS PER DATA POINT. ISZ TEMP3 /LOOK AT WORD 2 OF JOB LIST. TAD I TEMP3 /CODE IN LISTS ARE /BITS 0-3 =1 (0400) AVERAGE ONLY, / =2 (1000) CONFIDENCE LIMITS TOO. / =3 (1400) TREND TOO. RTL RAL SNL /CHECK FOR CONFIDENCE LIMITS. JMP OU4 /NO JUST AVEAGE. SPA CLA /YES,CHECK FOR TREND. IAC /ADD 1 FOR TREND. TAD (2 /ADD 2 FOR CONF.LIM. TAD WPPT /2 IN WPPT FOR AVG. DCA WPPT /NUMBER WORDS PER DATA POINT. OU4, CLA ISZ TEMP3 /WORD3 OF JOB LIST. OU6, JMS CDFV /SET CDF OF DATA. TAD I TEMP3 /GET NUMBER OF POINTS IN DATA. CIA DCA NOODP ISZ TEMP3 /GET CDF OF DATA TAD I TEMP3 DCA CDFVV ISZ TEMP3 /GET BUFFER START. TAD I TEMP3 IAC /SAVED AS LOC -1. DCA TEMP4 /SAVE START OF BUFFER. TAD WPPT /CALCULATE WORDS PER DATA. CIA DCA TEMP5 CLA TAD NOODP ISZ TEMP5 JMP .-2 TAD OUSWYN /ADD 1 FOR SWEEP COUNT,1 FOR END /OF BLOCK NUMBER. /ADD ONLY 1 IF BLOCK LINK. DCA NOODP TAD NOODP /CALCULATE # OF 128 BLOCKS NEEDED. AND (7600 /STORE IN BITS 1-5 CLL RAR DCA OARG4 TAD NOODP /CHECK FOR PARTIAL BLOCK. AND (177 SZA CLA TAD (100 TAD OARG4 DCA OARG4
TAD CDFVV /STORE CDF IN WRITE CALL. AND (70 TAD (4000 /SET OUTPUT BIT. TAD OARG4 DCA OARG4 TAD TEMP4 /STORE BUFFER LOC. DCA OARG5 TAD BLKCT /STORE BLOCK TO START WRITE. DCA OARG6 TAD OARG4 /TEST IF FILE FULL. AND (3700 /GET # OF BLOCKS TO WRITE. CLL RTR RTR RTR RAR SZL IAC CLL TAD WANS2 /ADD TO BLOCK COUNT. SNL JMP .+3 SZA CLA JMP ERROR4 DCA WANS2 CDF CIF 0 /WRITE 1 AVERAGE SET OF DATA. JMS I ENTRY OARG4, 0 OARG5, 0 OARG6, 0 JMP ERROR3 /WRITE ERROR. JMP I .+1 7000 EJECT / / / *7000 TAD OARG4 /ADJUST 256 BLOCK COUNT. AND (3700 CLL RTR RTR RTR /SHIFT TO BITS 7-11. RAR /DIVIDE BY 2 ,128 TO 256. SZL /CHECK FOR ODD 128 COUNT. IAC TAD BLKCT DCA BLKCT /UPDATE BLOCK COUNT. CMA /GET END OF DATA LOC TO CHECK FOR LINKED TAD TEMP4 /DATA BLOCKS. TAD NOODP DCA TEMP5 /END OF DATA LOC. JMS CDFV TAD I TEMP5 SNA CLA JMP OU5 /NO LINKED DATA. TAD TEMP5 /DATA LINKED INTO NEXT FIELD. DCA TEMP3 CLA IAC /SET FOR LINK BLOCK DCA OUSWYN JMP OU6 ERROR4, IAC ERROR3, IAC ERROR2, IAC ERROR1, IAC DCA OARG7 /SET ERROR MESSAGE. CDF 0 CIF 10 JMS I (7700 7 OARG7, 0 HLT OUDON, TAD WANS1 /CLOSE FILE. CIA TAD BLKCT DCA OARG8 /NUMBER OF BLOCKS IN FILE. CDF 10 TAD I (7600 AND (17 CDF 0 CIF 10 JMS I (7700 4 OARG9, NAMEA OARG8, 0 JMP ERROR4 CDF 0 JMP I .+1 7600 $



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