/ THREE CHANNEL SAMPLING PROGRAM / CHANNELS TO BE SAMPLED ARE 12,13,16 / CHANNEL 16 IS USED AS A DUMMY / AD 12 WILL BE DISPLAYED ON CHANNEL 1 OF THE TV / AD 13,16 WILL BE DISPLAYED ON CHANNEL 2 / DEFAULT FOR ANALYSIS VOLUME ON CHANNEL 12 / FLOW ON CHANNEL 13 / PTP ON CHANNEL 16 / USR IS USED TO CALL THE COMMAND DECODER TO INPUT OUTPUT / FILE NAME / DATA WILL BE COLLECTED TO FILL FIELD2 AND THEN WILL / BE WRITTEN / SNS 0 OFF WAIT FOR RATE IN RSW'S / SNS 0 ON READ RATE, SAMPLE AND DISPLAY / SNS 1 ON BEGIN STORAGE OF DATA / SNS 5 ON EXIT AND CLOSE FILE / EACH TIME OBUUFFER IS WRITTEN CHECKS SNS 0-2 /MODE CHANGE AND LINC INSTRUCTIONS PDP= 2 LINC= 6141 FIXMRI LJMP= 6200 FIXMRI LSTA= 4000 FIXMRI LAD2= 2200 /LADD FOR OTHER THAN PAGE 0 REFERNCES FIXMRI LADD= 2000 LCLR= 11 LCOM= 0017 SAM1= 112 SAM2= 113 SAM3= 116 SAMD= 116 ESF= 4 /FAST SAMPLE MODE WILL BE USED RSW= 516 DIS0= 147 /DISP CHANNEL 1 DIS1= 167 /AUTO INC CHANNEL 1 DIS2= 150 /CHANNEL 2 DIS3= 170 /AUTO INC CHANNEL 2 DSC= 1771 /CHARACTER DISP CHANNEL 2 AUTO INC SNS0= 440 SNS4= 444 SNS1= 461 /INDIRECT SKIP ON SNS5= 445 / CLOCK FUNCTIONS CLAB= 6133 CLEN= 6134 CLLR= 6132 CLSA= 6135 CLSK= 6131 /USR CALL FUNCTIONS FETCH= 1 ENTER= 3 CLOSE= 4 DECODE= 5 *07 /ORIGIN AT 00007 / LINC ALPHA AND BETA REGISTERS L7, 0 L10, 0 L11, 0 L12, 0 *20 USR, 17700 NAME, 0;0;0;0 FUNK, 0 /CLOCK FUNCTION VARIABLE RATE, 0 /CLOCK RATE VARIABLE LPNT, -377 /LINC CONSTANT FOR LOW POINT IN DISPLAY FLOW, 0 /FLOW SAMPLE STORAGE VOL, 0 /VOLUME SAMPLE STORAGE PTP, 0 /PRESSURE SAMPLE STORAGE BLKNTR, 0 KNTR2, 0 /WORD-BLK KNTRS M125, -125 *40 ERR, 0 /ERROR HALT CLA TAD ERR /LOCATION OF ERR IS IN THE AC HLT *200 / BEGIN PROGRAM / CALL THE DECODER INTO CORE CLA DCA BLKNTR /CLEAR THE BLOCK KNTR CDF 0 /D=CURRENT FIELD CIF 10 /USR IN FIELD 1 JMS I USR DECODE 0401 /ASSUMED EXTENSION IS DA 0 /PRESERVE ALL TENTATIVE FILES / FETCH THE RKB0: HANDLER CLA CDF 0 CIF 10 JMS I USR FETCH DEV, DEVICE RKB0 /DEVICE NAME /DEVICE # RETURNED IN DEV+1 STRT, 6001 /LOAD HANDLER IN 6000-7000 /STRT LOCATION RETURNED JMS ERR /ERROR RETURN / GET FILE NAME CLA CDF 10 TAD I (7601 CDF 0 DCA I (NAME CDF 10 TAD I (7602 CDF 0 DCA I (NAME+1 CDF 10 TAD I (7603 CDF 0 DCA I (NAME+2 CDF 10 TAD I (7604 CDF 0 DCA I (NAME+3 / ENTER AND OPEN THE OUTPUT FILE TAD DEV+1 /AC=DEVICE # OF RKB0: AND (0017 TAD (5000 CDF 0 CIF 10 JMS I USR ENTER NAME /FILE NAME POINTER LNGTH, 0 /"-" FILE LENGTH JMS ERR CLA TAD LNGTH-1 /GET STARTING BLOCK DCA STBLK TAD (-240 DCA LNGTH DCA I (DISBLK /CLEA DISPLAY BLOCK KNTR TAD M125 /SET WORD-BLK KNTR DCA KNTR2 / INSERT SAMPLING AND STORAGE PROGRAM HERE JMP I (SWTCH0 / ACCESSING THE HANDLER, WRITE!!! HANDLR, 0 CIF 0 JMS I STRT WFUNK, 4020 /FUNCTION WORD 4000=OUTPUT / 000= 40 RECORDS OF 128(10) WORDS / 20= FIELD 2 BUFFER 0000 /BUFFER ADDRESS STBLK, 0 /STARTING BLOCK JMS ERR /ERROR RETURN CDF 0 JMP I HANDLR / CLOSE FILE DKCLOS, CLA TAD DEV+1 CDF 0 CIF 10 JMS I USR CLOSE NAME LENGTH, 240 /# OF RECORDS JMP ERR JMP I (7605 / WRITE A FULL BUFFER ENDBLK, CDF 0 TAD I (DISBLK /BUMP DISPLAY BLK COUNTER TAD (1 DCA I (DISBLK TAD (20 TAD BLKNTR DCA BLKNTR JMS HANDLR CLA TAD (20 TAD STBLK DCA STBLK /BUMP WRITE BLK TAD M125 DCA KNTR2 TAD LNGTH TAD (20 DCA LNGTH TAD LNGTH SPA JMP I (SWTCH0 /GO BACK TO SWTCH0 EXIT, CLA JMP DKCLOS PAGE 2 / ********* INSERT PAGIING / CHECK TO SEE IF THE RIGHT SWITCH IS SET / AS WELL AS CREATING CODE WORD FOR ESF SWTCH0, CLA CLL TAD (0300 DCA FUNK /SET SPECIAL FUNCTION WORD TO FAST SAMPLE /AND LARGE CHARACTER MODE WAIT0, LINC /TURN ON LINC MODE SNS5 /TERMINATE? LJMP .+3 /NO PDP /YES JMP I (EXIT SNS0 LJMP .-1 /IS SNS 0 SET? RSW /READ RIGHT SWITCHES INTO THE AC LCOM /COMPLEMENT SWITCHES / SET ESF FOR FAST SAMPLE MODE AND LARGE CHARACTERS LSTA RATE /STORE RATE LADD FUNK ESF /SET SPECIAL FUNCTION REGISTER PDP /GO BACK TO 8-MODE / START CLOCK IN MOTION CLA CLL TAD (4000 /CLEAR CHANNEL 2 POINTERS DCA L10 /CLEAR LINC REGISTERS DCA L7 DCA L11 DCA L12 DCA KNTR /CLEAR POINT COUNTER CLLR /CLEAR CLOCK CONTROL CLEN /STOP THE CLOCK WITH CLEARED ENABLE TAD RATE /ADD THE RATE CLAB /CLK BUF_RATE CLA TAD (0100 CLLR /GENERATE A CLEAR COUNTER CLSA /CLEAR CLOCK STATUS CLA TAD (0300 CLEN /ENABLE INTERUPTS ON OVERFLOW AND BUF OR CLSA CLA TAD (3100 CLLR /START CLOCK AT 10KHZ; MODE 1 CLKTCK, CLA TAD (377 LINC /LINC MODE DIS0 /DISPLAY UPER POINT LCLR DIS0 /DISPLAY MIDDLE POINT LADD LPNT DIS0 /DISPLAY LOWER POINT PDP CLSK /SKIP ON CLOCK FLAG JMP CLKTCK /GO BACK CLSA /CLEAR CLOCK STATUS CLA LINC SAM1 /TRANSFER DUMMY SAM2 /TRANSFER SAM1 TO AC DIS0 /DISP CHANNEL 1 LSTA VOL /STORE VOL SAM3 /TRANSFER SAM2 TO AC DIS2 /DISP CHAN 2 LSTA FLOW /STORE FLOW SAMD /TRANSFER SAM3 TO AC DIS3 /DISP AND INC CHANNEL 2 LSTA PTP /STORE TRANS PULMONARY PRESSURE DIS1 /DISPLAY AND INC CHANNEL 1 SNS4 /ABORT AND SET NEW CLOCK? LJMP .+3 PDP /YES SET CLOCK AGAIN JMP WAIT0 SNS1 /NO; SAMPLE & STORE? LJMP .+3 PDP /NO;GET NEW CLOCK TICK JMP CLKTCK /STORAGE ROUTINE PDP /YES! DF, CDF 20 /DATA FIELD 2 AND 3 FOR STORAGE TAD VOL DCA I KNTR ISZ KNTR TAD FLOW DCA I KNTR ISZ KNTR TAD PTP DCA I KNTR ISZ KNTR ISZ KNTR2 /255 WORDS ? SKP /NO JMP BLK0 /YES RET, CDF 0 TAD (600 /BEGIN CHARACTER DISPLAY DCA 1 TAD DISBLK AND (0070 RTR TAD (777 JMS CHAR TAD DISBLK AND (0007 RAL TAD (777 JMS CHAR JMP CLKTCK /GO TO NEXT TICK CHAR, 0 /DISPLAY BLK KNT CHARACTERS LINC LSTA 11 LAD2 (200 DSC DSC PDP CLA JMP I CHAR BLK0, ISZ KNTR /CHECK FOR 8K OVERFLOW SKP JMP I (ENDBLK /WRITE 8K TAD M125 DCA KNTR2 /RESET WORD-BLK KNTR JMP RET KNTR, 0 /STORAGE ADDRESS DISBLK, 0 /DISPLAY BLOCK COUNTER *1000 /CONSTANTS FOR NUMERICAL DISPLAY 4136 3641 2101 0177 4523 2151 4122 2651 2414 0477 5172 0651 1506 4225 4443 6050 5126 2651 5122 3651