*20 ///FIXFRED /PROGRAM TO RECONSTITUTE RESPIRATORY /AND EKG FILES FROM PAPER TAPE INPUT. SEGMNT 5 *20 /MESSAGE: MAKE RESP & EKG FILES BEG, LIF 4 MESOUT MBEG LIF 4 OUTUNIT D1, LIF 4 INTRACT CJ1 M1 /NO. OF FILES D2, LIF 4 INTRACT CJ2 M2 /GO: CJ1, T2 J1 CJ2, T1 J2 T1, GO T2, 0 /NO. OF FILES J1, JMP BEG /CR JMP .+1 /0 COM STC 15 /NO. OF FILES CNTR JMP D2 /GO: J2, JMP BEG /CR JMP MAKFIL /GO JMP D2 /0 /BRING IN HEADER TO GET NAME AND DATA TYPE MAKFIL, OPR 11 13 275 /= 7 2000 JMP .-5 OPR 1 13 NAMGET JMP .-3 OPR 5 /GET NAME NAMGET, SET I 1 4\3777 SET I 2 4\NAMBUF-1 SET I 3 -6 LDF 7 LDH I 1 SAE I 45 JMP .-3 /GOT FIRST CR. NOW GET FIRST CHAR THAT IS /NO CR OR LF. THIS WILL BE NAME CHAR, LDH I 1 SHD I 1200 /LF JMP CHAR SHD I 4500 /CR JMP CHAR /STORE NAME CHARS IN NAMBUF SKP LDH I 1 STH I 2 XSK I 3 JMP .-3 /GET NAME LDA NAMBUF STC NAM INPUT NAMBUF+1 FIX FAC ISTOR1 NAM+1 /GET DATA TYPE /ADJUST BETA1 PTR TO NEXT FULL WORD ADD 1 ADA I 2 BCL I 4000 STC .+2 INPUT 0 FIX FAC ISTOR1 DTYPE /CHECK DATA TYPE ADD DTYPE SAE I 55 /45(10)=RESP SKP JMP RESP SAE I 56 /46(10)=EKG HLT /ERROR JMP EKG DTYPE, 0 NAM, 0 0 NAMBUF, 0 0 0 4500 //EKG DATA EKG, SET I 17 -21 /N SET I 10 P104 /GET FIRST VALUE JMP GETVAL /VALUE & SD INPUT 2000 JMP .+3 EKG1, JMP GETVAL /NEXT VALUE & SD JMP INVAL /INPUT VALUE STORE 4\10 JMP INSD /INPUT SD FMUL FAC /VARIANCE STORE 4\10 XSK I 17 /DONE? JMP EKG1 LDA I 21 /N JMP STOR /STORE FILE //RESP DATA RESP, SET I 16 -11 /VALUES W SD SET I 17 -4 /VALUES WO SD SET I 10 P104 /GET FIRST VALUE JMP GETVAL /NEXT VALUE & SD INPUT 2000 JMP .+3 RESP1, JMP GETVAL /NEXT VALUE & SD JMP INVAL /INPUT VALUE STORE 4\10 JMP INSD /INPUT SD FMUL FAC /VARIANCE STORE 4\10 XSK I 16 /DONE ALL SD? JMP RESP1 /FINISHED VALUES WITH SD RESP2, JMP GETVAL /NEXT VALUE JMP INVAL /INPUT VALUE STORE 4\10 FZER STORE 4\10 /ZERO VARIANCE XSK I 17 /DONE ALL? JMP RESP2 LDA I 15 /N JMP STOR /SUBROUTINES /GET NEXT VALUE (& SD) FROM TTY GETVAL, SET 3 0 OPR 11 13 212 7 2000 JMP .-5 OPR 1 13 GETX JMP .-3 OPR 5 GETX, JMP 3 /INPUT VALUE FROM CORE BUFFER /FIRST FIND EQUAL SIGN INVAL, SET 3 0 SET I 1 4\3777 LDH I 1 SAE I 75 /= JMP .-3 JMP FIX1 STC .+2 INPUT 0 JMP 3 /INPUT SD FROM CORE BUFFER /FIRST FIND PLUS SIGN INSD, SET 3 0 SET I 1 4\3777 LDH I 1 SAE I 53 /+ JMP .-3 JMP FIX1 STC .+3 LDF 7 INPUT 0 JMP 3 FIX1, LDA KP1, 1 ADD KP1 /ADVANCE PTR BCL I 4000 /CLR IF RT HALF JMP 0 //STORE FILE ON TAPE STOR, STA P17 /N LDA DTYPE STA P0 /DATA TYPE /GET NO. OF COMPLEXES JMP GETVAL JMP INVAL FIX FAC ISTOR1 P20 LDF 4 LDA NAM STA FILNAM LDA NAM+1 STA FILNAM+1 LDA I 7107 STA WORD1 LDA I 4106 STA WORD2 /DUMMY LIF 4 MSTORIT JMP BEG /FULL XSK I 15 /DONE ALL FILES? JMP MAKFIL LIF 4 DEASS LIF 4 STOP //MESSAGES MBEG, TEXT %MAKE RESP & EKG FILES % 4543 M1, TEXT %NO. OF FILES: % M2, TEXT %GO% 4543 7200 /PBLOCK FOLLOWS NOLIST //PBLOCK /PARAMETER BLOCK ASSIGNMENTS / P0=3400 /DATA TYPE P17=3417 /NO.SAMP IN SEG P20=3420 /NO.SEG IN ENSM P104=3610 / / /COMMAND DECODER ASSIGNMENTS / / STOP=JMP 20 DEASS=JMP 31 OUTUNIT=JMP 32 INTRACT=JMP 42 MESOUT=JMP 43 MSTORIT=JMP 57 / /COMMAND LOCATIONS. / FILNAM=2320 WORD1=2323 WORD2=2324 INBUF=2325 /COMMAND NUMBERS. GO=23 / /EXEC3 ASSIGNMENTS / OPR=500 /FLOATING POINT DEFINITIONS. / FAC=0 FMUL=742 LOAD=744 STORE=745 INPUT=747 OUTPUT=750 ISTOR1=751 SFLOAT=754 FIX=755 FZER=762 / /PBLOCK /FEB 74. LIST ///END FIXFRED /JUNE 74 /JLB