*20/// PROGRAM FRC /CORE ALLOCATION:/IF 5&6- PROGRAM/DF 7 - UNUSED, CURRENTLY/DF 10 -UNUSED/DF11 - DEAD VALUES (16)/DF12 - BREATH VALUES (17)/DF 13 - %N VALUES FOR FILING (13)/DF 14 - %N AND EAV VALUES FOR STORAGE(14)/DF 15 - UNUSED/DF 16 - STRIPPED D TA/DF 17 - TAPE BUFFER & HEADER BLOCK LMODE //BEGIN IF 5 ROUTINES. SEGMNT 5 *20 BEG1, JMP USROFF LIF 6 JMP QUES /KBD VALUES BEG2, JMP USROFF JMP SETREG /STD TAPE JMP GETHED /START BLOCK JMP CLRBUF /CLR BFRS,SET DEAD JMP STRDIS /START DISPLAY JMP ETMRE /PREP MRE LOOP MRE, JMP GET3BN /INPUT 3/6 BN, U2 SET I 7 3777 JMP STRIP /3BN DF17 TO 16 XSK I 2 /DUNX2? JMP MRE /NO/YES, FALL THRU TO TTY /TTY INTERACTION HANDLER./OPEN INPUT BUFFER TO ACCEPT JUST 1 CHARACTER.TTY, OPR 11 0013 -1 4 INBUF JMP .-5 OPR 11 /TYPE COLON 0004 272 /: 5 MCOLN JMP .-5 OPR 1 /SET WAKEUP 0013 DECUD JMP .-3 OPR 5 /GO TO SLEEP /ROUTINE TO DECODE THE SINGLE CHARACTER.DECUD, LDF 4 SET I 1 GUDLST-1 /VALID CHAR PNTR SET I 2 JMPLST-1 /ROUTINE PNTR SET I 4 GUDLST-GUDEND-1 LIST CNTR LDH INBUF SAE I 1 SKP /NO JMP VALID /YES XSK I 2 XSK I 4 JMP .-5 Q, LIF 4 /BAD CHARACTER MESOUT MQ /? JMP TTYMQ, TEXT &??& 4543MCOLN, TEXT &: & VALID, LDA I 2 STC .+1 0 /JMP/END TTY. /LIST OF VALID CHARACTERS./LOCATIONS IN JMPLST & GUD ST CORRESPOND.GUDLST, 63 /3, CAL CHAN 3 65 /5, CAL CHAN 5 01 /A, RESTART WHOLE PROG 02 /B, BAKUP 1 FRAME 03 /C, BREATH INITL 04 /D, DEPOSIT A BREATH 05 /E, N2 ZERO 06 /F, START AT DEADSPACE 07 /G, GET AMBIENT N2 10 /H, GET PAN 20 /P,PROCESS TO ATE 24 /T, DEAD SPACE 40 /SPACE, DEPOSIT 43 /LF, SEEK TRIG PULSE 45 /CR, FORWARD 1 FRAMEGUDEND, 23 /S, STOP/END GUDLST. /JUMP TO SUBROUTINE LIST./LOCATIONS IN GUDLST & JMP LST CORRESPOND.JMPLST, JMP CAL3 /3, CAL CHAN 3 JMP CAL5 /5, CAL CHAN 5 JMP BE 1 /A, RESTART ALL JMP BAKUP /B, BACK 1 FRAME JMP INITL /C, BREATH INITIALIZE JMP DEPO /D, DEPOSIT BREATH JMP ZERON2 /E, NITRO ZERO JMP BEG2 /F, SIMPLE RESTART JMP GETAMB /G, GET AMBIENT N2 JMP GETPAN /H, GET PAN JMP PROC /P, PROCESS ALL JMP DEADSP /T, DEP DEAD SPACE JMP DEPO /SPACE, DEPOSIT BREATH JMP SEEKT /LF, SEEK TRIG JMP NXTSEG /CR, NEXT FRAME JMP .+1 /S OR STOP, STOP LIF 4 STOP/END JMPLST. /ROUTINE TO HALT ALL SYSTEM USERS.USROFF, OPR 2 0 JMP 0 /LEAVE./END USROFF. /ROUTINE TO GET HEADER BLOC ./ASK FOR U2 BN & BRING IN HEADER TO /QN7 OF DF 17. HEADER HAS INITIAL PBLOCK.GETHED, SET 3 0 LDF 6D00, LIF 4 INTRACT CJ00 2\M00 /PROG FRC/ START BN:CJ00, T00 J00T00, 0 J00, JMP BEG1 /CR JMP .+1 /NUM STC HEDBN JMP SETEXT /EXT XO LDA I 7400 /QN7, DF17 TMA RDCHEDBN, 0 STD /WAIT ON TAPE JMP .-1 LDA HEDBN ADD KP1 STA ISTRBN, 0 /FIRST DATA BN LDF 17 LDA P20 MUL P102+17 /NUMCHAN ADD HEDBN STA IENDBN, 0 /LAST BN CLR ADD STRBN ADD KM3 STA ICURBN, 0 /CURNT DISPLY BN JMP SETREG /R G AXO /CALCULATE SEC\PT FROM PBLOCK. SFLOAT P17 /PTS\SEG STORE FPTIME LOAD P44 /SEG LENGTH(SEC) FDIV FPTIME STORE FPTIME /SEC\PT JMP 3 /LEAVE GETHEDFPTIME, 0 0 0 /ROUTINES TO MANIPULATE TAPE AXO.SETREG, LDA IKP10, 10 AXO CLR JMP 0 /LEAVE SETEXT, L A I 3031 /DF13-17,EXT ADRKP1, AXO /NO PAUSE, UNIT 2 CLR JMP 0 /LEAVE/END GETHED & TAPE AXO ROUTINES. /ROUTINE TO CLEAR BUFFERS & SET SOME POINTERS.CLRBUF, SET 3 0 FZER STORE FPAN2 STORE FPPAN STORE FPMDS STC AMBN STC PANN STC DEADN STC NUMDEP SET I 6 /DEAD STRG PNTR 2000 /IN DF 11. JMP 3/END CLRBUF. /DISPLAY HANDLERS./START USER & LEAVE.STRDIS, SET 3 0 OPR 1 /START CURVE DISPLAY 2 DISPLY JMP .-3 OPR 11 /START BN & NUMDEP 26 0 5 NUMBUF JMP .-5 JMP 3 /LEAVE STRDIS NUMBUF, +0 /TEXT 0 +1 /X 250 /Y LDF 5 N /TEXT PNTR 4001 /END CHORE 4000 /END JOB N, TEXT %N=%DEPNUM, 0000 0000 0045 4343 TEXT %BN= %DISBLK, 0000 0000 0034/END STRDIS. /THE DISPLAY USER.DISPLY, SETWRD 0500 SFLOAT NUMDEP OUTPUT DEPNUM SFLOAT CURBN OUTPUT DISBLK SET I 12 377 /DATA C1 SET I 13 2777 /DATA C2 RSW BCL I 7760 BSE I SCR STA DISP1 STA DISP2 STA SCALE1 STC SCALE2 /DISPLAY CONTROLLERS./DISPLAY 2 DATA CURVES. LDF 16BKDIS, LDA I 13 JMP DISP2 LDA I 12 JMP DISP1 XSK 13 JMP BKDIS /NOW SAMPLE POTS. SAM 0 SCR 1 STA IPOT , 0 JMP FIXPOT+2 STA IPOT01, 0 JMP DISCR1 SAM 1 JMP FIXPOT STA IPOT11, 0 JMP DISCR1 SNS I 0 JMP ZERONE ZERZER, ADD POT01 ADD KP1000 STA IPOT02, 0 JMP DISCR2 ADD POT11 ADD KP1000 STA IPOT12, 0 JMP DISCR2 JMP VERT ZERONE, SAM 2 /SNS1=1 JMP FIXPOT ADD K 1000 STA IPOT22, 0 JMP DISCR2 LDF 16 SET I 13 /HORIZ LINE ON POT11 2777 LDA POT11 STC .+2 LDA 0SCALE2, SCR ADD POT6 DIS I 13 XSK I 13 JMP .-2 VERT, SAM 6 /VERT POSN POTS SCR 1 STA IPOT6, 0 SAM 7 STA IPOT7, 0 OPR 7 JMP DISPLY/END DISPLY. /DISPLAYER FOR URVE 1.DISP1, SCR ADD POT6 DIS 13 JMP 0 /;EAVE/END DISP1. /DISPLAYER FOR CURVE 2.DISP2, SCR ADD POT7 DIS 13 JMP 0 /LEAVE/END DISP2. /ROUTINE TO FIXUP SAMPLED POT VALUES.FIXPOT, SCR 1 ADD POT0 ADD KP3777 BCL I 7000 ADD KP2000 JMP 0 /LEAVEKP3777, 3777K 2000, 2000/END FIXPOT. /DISPLAY CURSOR ON CURVE 1.DISCR1, STC 14 ADD 0 STC DISCRX LDA I ADD POT6DISCR, STC POTNRT LDA 14SCALE1, SCRPOTNRT, 0 SET I 13KM10, -10 ADD KP10 DIS 14 ADD KM1 XSK I 13 JMP .-3 CLRDISCRX, 0 /LEAVE/END DISCR1. /ROUTINE TO DISPLAY URSOR ON CURVE 2.DISCR2, STC 14 ADD 0 STC DISCRX LDA I ADD POT7 JMP DISCR/END DISCR2./END DISPLAYER ROUTINES. /ROUTINE TO SETUP TWO LOOPS THROUGH MRE.SETMRE, SET 3 0/SETUP BETA REGISTERS. SET I 2 -2 /X2 LOOP CNTR SET I 16 3777 /CURVE 1, DF16 SET I 17 2777 /CURVE 2, DF16/UPDATE BN. LDA CURBN ADD KP3 STA CURBN STC BN JMP 3 /LEAVEKP3, 3/END SETMRE. /ROUTINE TO GET 3 OF 6 NEEDED BN FROM U2.GET3BN, SET 3 0 SET I 6KM3, -3 JMP SETEXT LDA I 6000 IOB IOF STA ITMAVAL, 0 STD JMP .-1 TMA RDEBN, 0 LDA BN AD KP1 STC BN ADD TMAVAL XSK I 6 SKP JMP .+3 ADD KP400 JMP TMAVAL-1 IOB ION STD JMP .-1 JMP SETREG JMP 3 /LEAVEKP400, 400/END GET3BN. /ROUTINE TO STRIP DF17 ALTERNATING TAPE/DATA AND PLACE SEQUENTIALLY IN DF 16./DF17 ALTERNATES TRIG, CURVE1, CURVE2./DF16 ILL CONTAIN CURVE 1 FROM 2000-2777/AND CURVE 2 FROM 3000-3777.STRIP, SET 3 0 SET I 10KM400, -400 /CNTRMRSTRP, LDF 17 LDA I 7 STC RTEMP LDA I 7 /CURVE 1 LDF 16 STA I 16 /1ST HALF DF16 LDF 17 LDA I 7 /CURVE 2 LDF 16 STA I 17 /2ND HALF DF16 XSK I 10 JMP M STRP JMP 3 /LEAVERTEMP, 0/END STRIP. /CALIBRATION ROUTINES. THEY REQUIRE REAL/WORLD CALIBRATION PULSE VALUES IN PBLOCK/AS FOLLOWS: CH 3, P55, A3MAX/ CH 5, P61, A5MAX CAL3, SET 16 POT01 LDF 16 LDA 16 COM STC FPTEMP SET 16 POT11 LDA 16 JMP GETEMP STORE CAL33 JMP TTY CAL5, SET 16 POT02 LDF 16 COM STC FPTEMP SET 16 POT12 LDA 16 JMP GETEMP STORE CAL55 JMP TTY GETEMP, ADM FPTEMP SFLOAT FPTEMP JMP 0 FIXCH3, FDIV CAL33 LDF 17 FMUL P55 JMP 0 FIXCH5, FSUB FPZN2 FDIV CAL55 LDF 17 FMUL P61 JMP 0 CAL33, 0 0 0CAL55, 0 0 0FPTEMP, 0 0 0/END CALIBRATION ROUTINES. /ROUTINES TO INITIALIZE, ADVANCE OR BAKUP FRAMES./INITIALIZER.INITL, LDA POT01 STC BEGINT STC FRMCNT SET I 17 2000 /BREATH PNTR SET I 1 3777 /NITRO PER BREATH SET I 15 2777 /NUM INTEG P S CLR STC NUMDEP JMP TTY /LEAVEFRMCNT, 0BEGINT, 0/END INITL. /ROUTINE TO GET NEXT SEGMENT IF MORE/ARE AVAILABLE.NXTSEG, LDA I 1 ADD FRMCNT STC FRMCNT /NO. OF FRAMES SINCE INITIALIZATION ADD CURBN ADD KP7 COM ADD ENDBN APO /MORE LEFT? JMP ATEND /NO JMP RE-1 /YES, LEAVE ATEND, LIF 6 /U2 ENDED JMP AENDKP7, 7/END NXTSEG. /ROUTINE TO BAKUP 3 BN FROM CURBN.BAKUP, LDA IKM1, -1 ADD FRMCNT STC FRMCNT ADD CURBN ADD KM3KP17, COM ADD STRBN APO I /AT BEGINNING? JMP INITL /YES LDA CURBN /NO,OK ADD KM6 STC CURBN JMP MRE-1 /LEAVEKM6, -6/END BAKUP. /ROUTINE TO RESTART U2 AT BEGINNING OF JOB.STRTAP, LDA STRBN ADD KM3 STC STRBN JMP MRE-1 /LEAVE/END STRTAP./END FRAME HANDLING ROUTINES. /ROUTINE TO DEPOSIT DATA FROM A SINGLE BREATH.DEPO, LDA POT01 STC STRPT ADD POT 1 STC ENDPT ADD POT22 STC 6 LDF 16 LDA 6 LDF 13 STA I 15 /STORE N2 JMP DOINT LDF 12 STORE /VOLUME 4\17 ADD KP1 /BUMP CNTR ADM INUMDEP, 0 JMP TTY /LEAVE/END DEPO. /ROUTINE TO ZERO NITROGEN CURVE.ZERON2, SET 10 POT22 LDF 16 SFLOAT 10 STORE FPZN2 J P TTYFPZN2, 0 0 0/END ZERON2. /INTEGRATES CH3, DF 16, FROM STRPT TO ENDPT.DOINT, LDA ISTRPT, 0 STA 1 /YO PNTR ADD KP1 STC 2 /YN PNTR ADD 0 STC DOINTX FZER STORE FPTVOL /GET TIDAL VOLUME. LDF 16 SFLOAT 1 STORE BSLNMRINT, SFLOAT 4\1 /YO FSUB BSLN STORE FPTEMP SFLOAT 4\2 /YN FSUB BSLN FADD FPTEMP JMP FIXCH3 LDF 16 FMUL FPTIME FDIV FP2 FADD FPTVOL STORE FPTVOL ADD 1 SAE IENDPT, 0 JMP MRINTDOINTX, 0 /LEAVEFPTVOL, 0 0 0BSLN, 0 0 0/END DOINT. /ROUTINE TO GET NITRO CURVE BASELINE./CURSOR 2(2).N2ZER SET 16 POT22 LDF 16 SFLOAT 16 STORE FPZN2 JMP TTY /LEAVE/END N2ZER. /ROUTINE TO GET AMBIENT N2 FROM CURSOR 0(2).GETAMB, SET 16 POT02 LDF 16 SFLOAT 16 FADD FPAN2 STORE FPAN2 ADD KP1 ADD AMBN STC AMBN JMP TTY /LEAVEFPAMB, 0 0 0AMBN, 0/END GETAMB. / OUTINE TO GET PAN FROM CURSOR 1(2).GETPAN, SET 16 POT12 LDF 16 SFLOAT 16 FADD FPPAN STORE FPPAN ADD KP1 ADD PANN STC PANN JMP TTY /LEAVEFPPAN, 0 0 0PANN, 0/END GETPAN. /ROUTINE TO CALCULATE A SINGLE DEADSPACE.DEADSP, LDA POT01 ADD KP1000 COM ADD POT22 A D POT11 STC ENDPT ADD POT11 STC STRPT JMP DOINT LDF 11 STORE 4\16 FADD FPMDS STORE FPMDS ADD KP1 ADD DEADN STC DEADN JMP TTY /LEAVEDEADN, 0KP1000, 1000/END DEADSP. /ROUTINE TO SEEK TRIAL MARKER.SEEKT, LDA CURBN ADD KM3 STC CURBN BKTRG3, LDA CURBN ADD KP3 STA CURBN STC BN JMP GET3BN SET I 10 -400 SET I 17 3777 BKTRG, LDF 17 LDA I 17 COM ADD KP377 APO JMP GOTONE LDA I 17 /BUMP BETA 17 LDA I 17 XSK I 10 /DUN ALL? JMP BKTRG /CHK MORE PTS JMP BKTRG3 /NEXT 3 BN GOTONE, CLR ADD 17 BCL I 6377 ROR 1 ADD CURBN ADD KM3 STC CURBN JMP MRE-1 /LEAVE SEEKTKP377, 377/END SEEKT. /FINAL PROCESSOR HANDLER.PROC, JMP DOCALC LIF 6 JMP TYPO LIF 6 JMP STRIT /RTRN VIA BEG1/END PROC. /ROUTINE TO DO MAJOR CALCULATIONS.DOCALC, SET 3 0 /FIRST CALCULATE DEAD SPACE & ETERMINE/WHETHER OR NOT TO USE KBD DEAD SPACE. SFLOAT DEADN FDIV FPMDS RECIP FAC STORE FPMDS LOAD FPDSE FMUL FP11HF FSUB FPMDS FAPO JMP USEKBD /MEAN CALC NO GOOD LOAD FPDSE FDIV FP2 FCOMP FADD FPMDS FAPO JMP USEKBD /MEAN NO GOOD LDA I /MEAN IS OK FPMDS JMP .+7 USEKBD, LDF 6 LIF 4 MESOUT 2\MKBDDS /USING KBD VALUES LDA I FPDSE STA DEAD1 STC DEAD2 /CALCULATE ENV.GETENV, SET I 17 2000 /TVOL PNTR SET I 15 3777 /N2\BREATH PNTR SET I 14 2000 /%N & EAV PNTR SET I 13 2000 /%N PNTR LDA NUMDEP COM STC DEPNUM SET 10 DEPNUM SFLOAT /SETUP PANN PANN FDIV FPPAN RECIP FAC JMP FIXCH5 STORE FPPAN FZER STORE FPENV STORE FPEAV STORE FPNUMBKENV, LDF 13 SFLOAT /RAW NS\BREATH 4\15 JMP FIXCH5 /X FSUB FP1 LIF 6 JMP TENX / 10^(X-1) STORE FPN2 /%N /STORE %N BY ITS LF AND ALSO ALONG WITH/EAV. LOAD FP1 FADD FPNUM STORE FPNUM /SEQUENCE LDF 13 STORE 4\13 /X LOAD FPN2 /&N STORE 4\13 /Y LDF 14 STORE 4\14 /X /CONTINUE CALCULATION. FMUL /CALC CF FPZZZ /0.00000101175 FADD FPZZ1 /0.0014900837 FMUL FPN2 /%N FCOMP ADD FP111 /1.11273 LDF 12 FMUL 17 /TVOL*CF=EV STORE FPTEMP /STORE SUMMED EV-DEAD SPACE, EAV. FSUBDEAD1, 0 FADD FPEAV STORE FPEAV LDF 14 STORE 4\14 /CONTINUE CALCULATIONS. LOAD FPTEMP FMUL FPN2 /EV*%N FDIV FPHUN /EV*%N/100 STORE 4\17 /ENV FADD FPENV /SUMMED ENV STORE FPENV XSK I 10 /MORE BREATHS? JMP BKENV /YES DOFRC, LOAD FPKG /WEIGHT FMUL FPK /3.02 OR 2.03 FCOMP FADD FPENV /SUM ENV - NB FDIV FPPAN FMUL FPHUN FSUBDEAD2, 0 /DEAD SPACE STORE FPFRC DOCFRC, LOAD /CORRECT FRC FPRTMP FADD FP273 273.16 FMUL FPFRC FDIV FP310 /310.16 STORE FPCFRC DOTRAP, SET I 16 /CALCULATE TRAPPING 2000 /INIT VAL SET I 17 2003 /NEXT VAL FZER STORE FPTRAP STC 15 /TRAPPING CNTR ADD DEPNUM ADD KP1 STC 10 /BREATH CNTR BKTRAP, LOAD 4\16 STORE FPTEMP FCOMP FADD 4 17 FAPO SKP JMP TRAP /TRAPPINGBKT, XSK I 10 /DUN ALL? JMP BKTRAP /NO TRAP, LDA /YES 15 STC FPTEMP /OCTAL NUM TRAPPED SFLOAT FPTEMP STORE FPTRAP SFLOAT NUMDEP FDIV FPTRAP FDIV FPHUN RECIP FAC STORE FPTRAP JMP 3 /LEAVE /DOCALC BUFFERS.FPN2, 0 0 0FPK, /3.02 OR 2.03 0 0FPEAV, 0 0 0FPENV, 0 0 0FPNUM, 0 0 0 /DOCALC CONSTANTS.FP1, 0001 /1 2000 0000FP11HF, 0001 /1.5 3000 0000FP2, 0002 /2 2000 0000FPZZZ, 7754 /.00000101175 2076 2673FPZZ1, 7766 /.0014900837 3032 3565FP111, 0001 /1.11273 2163 3370FP27 , 0011 /273.16 2104 5076FP310, 0011 /310.16 2330 5076FPHUN, 0007 3100 0000/END DOCALC. /FINAL VALUE BUFFERS./KBD ENTRY VALUE BUFFERS.FPKG, 0 /RECTAL TEMP 0 0FPRTMP, 0 /RECTAL TEMP 0 0FPATMP, 0 /AMBIENT TEMP 0 0FPHUM, 0 /HUMIDITY 0 0FPAN2E, 0 /KBD MB N2 0 0FPDSE, 0 /KBD DEAD SPACE 0 0/CALCULATED VALUES.FPAN2, 0 /MSRD AMB N2 0 0FPMDS, 0 /MEAN DEAD SPACE 0 0FPFRC, 0 /FRC 0 0FPCFRC, 0 /CORRECTED FRC 0 0FRCKG, 0 /FRC\KG 0 0FPDUR, 0 /DURATION 0 0FPTRAP, 0 /%TRAPPING 0 0/END BUFFERS. AAEND5, 0// ND IF 5 ROUTINES. // IF6 ROUTINES. SEGMNT 6 *20/INITIAL KBD INPUT HANDLER. D0, QUES, LIF 4 INTRACT CJ0 M0 /PROGRAM FRC/ DESORBED N2:CJ0, T1 J0J0, JMP LVQUES /CR JMP .+1 LDF 5 STORE 2\FPK/FIRST BRING IN ASCII IDENTIFIERS./PRES MES 8 MAX CHARACTERS.D1, LIF 4 INTRACT CJ1 M1 /SPECIESCJ1, T1 J1T1, 0J1, JMP LVQUES /CR JMP .+1 /NUM LDA I 4\M1A-1 JMP MOVE D2, LIF 4 INTRACT CJ2 M2 /I.D. NUMBERCJ2, T1 J2J2, JMP LVQUES /CR JMP .+1 /NUM LDA I 4\M2A-1 JMP MOVE D3, LIF 4 INTRACT CJ3 M /CONTROL NUMBERCJ3, T1 J3J3, JMP LVQUES /CR JMP .+1 /NUM LDA I 4\M3A-1 JMP MOVE /NOW BRING IN FP VALUES. SET I 6 /CNTR -6 SET I 12 /TBL PNTR ASKTBL-1 BKVAL, LDA I 12 STC MESG LDA I 12 STC PNTR5D4, LIF 4 INTRACT CJ4MESG, 0 /M4-9CJ4, T1 J4J4, JMP LVQ ES /CR JMP .+1 /NUM LDF 5 STOREPNTR5, 0 XSK I 6 JMP BKVAL LVQUES, LIF 5 /LEAVE QUES JMP BEG2 /ROUTINE TO MOVE 8 ASCII CHARACTERS FROM/INBUF TO M1A,M2A, OR M3A. FILLS NON ENTERED/LOCATIONS WITH SPACES.MOVE, SET 3 0 STC OUTM SET I 10 -10 /8 CHARACTE S SET I 4 4\INBUF-1 SET I 5OUTM, 0 /4\M?A-1 XFRIT, LDF 4 LDH I 4 SAE I 45 SKP JMP STUFIT STH I 5 XSK I 10 JMP XFRIT JMP 3 /LEAVE STUFIT, LDA I 40 STH I 5 XSK I 10 JMP .-2 JMP 3 /LEAVE/END MOVE. /TABLE OF MESSAGE & STORAGE PNTRS.ASKTBL, M4 2\FPKG M 2\FPRTMP M6 2\FPATMP M7 2\FPHUM M8 2\FPAN2E M9 2\FPDSE/END QUES & ITS SUBROUTINES. /MESSAGES.M1, TEXT &SPECIES:& 4543M1A, 00 00 00 00 4543M2, TEXT &I.D. NUMBER:& 4543M2A, 00 00 00 00 4543M3, TEXT &CONTROL NUMBER: & 4543M3A, 00 00 00 00 4543M4, TEXT &BODY WEIGHT:& 4543M5, TEXT &RECTAL TEMP:& 4543M6, TEXT &AMBIENT TEMP: & 4543M7, TEXT &RELATIVE HUMIDITY:& 4543M8, TEXT &KBD AMBIENT N2: & 4543M9, TEXT &KBD DEAD SPACE: & 4543M10, TEXT &MEASURED AMBIENT N2:& 4543M11, TEXT &MEASURED DEAD SPACE:& 4543M 2, TEXT &MEAN DEAD SPACE:& 4543M13, TEXT &FRC:& 4543M14, TEXT &CORRECTED FRC:& 4543M15, TEXT &FRC PER KG: & 4543M16, TEXT &DURATION: & 4543M17, TEXT &TRAPPING: & 4543M18, TEXT &PERCENT TRAPPING: & 4543M0, TEXT &PROGRAM FRC & 4543 TEXT &DESORBED N2:&M00, T XT &START BN: &MKBDDS, TEXT &USING KBD VALUES& 4543/END MESSAGES. /ROUTINE TO STORE TWO NUMFILES./FIRST IS STRING OF %N AND SECOND IS/%N ALTERNATING WITH SUMMED EAV.STRIT, LIF 4 /ASK OUTPUT TAPES OUTUNITS LDF 5 /SETUP PBLOCK SFLOAT 2\NUMDEP /N LDF 7 STORE P20 /PBLOCK N ADD C1 STA P17 /DIMENSION ADD C2 STA P1 /3=FP NUMBERS CLR COM STA P0 /DATA TYPE LDF 4 LDA I 7117 STA WORD1 /PBLOCK /NOW STORE %N FILE.DNAM1, LIF 4 INTRACT CJNAM1 MNAM1CJNAM1, TNAM1 JNAM1TNAM1, 0JNAM1, JMP LVSTOR /CR JMP .+1 /N M LDF 4 STA FILNAM+1 /NUM LDA INBUF STA FILNAM LDA I 4413 STA WORD2 /DATA FLTP1, LIF 4 OUTUNITS LIF 4 MSTORIT JMP FLTP1 /TAPE FULL DNAM2, LIF 4 INTRACT CJNAM2 MNAM2CJNAM2, TNAM1 JNAM2JNAM2, JMP LVSTOR /CR JMP .+1 /NUM LDF 4 STA FILNAM+1 /NUM LDA INBU STA FILNAM /NAM LDA I 4414 STA WORD2 /DATA CLR ADD C2 LDF 17 STA P17 /DIMENSION STR2, LIF 4 MSTORIT JMP FLTP2 LVSTOR, LIF 5 JMP BEG1 /EXIT STORIT FLTP2, LIF 4 OUTUNITS JMP STR2MNAM1, TEXT &N2 FILE NAME: &MNAM2, TEXT &N2 AND EAV FILE NAME: &C1, 1C2 2/END STORIT. /MESSAGE AT END OF UNIT 2.AEND, LIF 4 MESOUT MEND LIF 5 JMP TTY /LEAVEMEND, TEXT &END OF UNIT 2 & 4543/END AEND. /ROUTINE TO PROVIDE TYPEOUT OF CALCULATIONS.TYPO, SET 3 0 /FIRST TYPE OUT ASCII STUFF. CRLF CRLF LIF 4 MESOUT M1 LIF 4 ME OUT M1A CRLF LIF 4 MESOUT M2 LIF 4 MESOUT M2A CRLF LIF 4 MESOUT M3 LIF 4 MESOUT M3A /NOW TYPE OUT CALCULATED STUFF. SET I 17 PNTRS-1 SET I 10 -15 /13(10) BKTYP, LDA I 17 STC MSG /M4-17 LDA I 17 STC .+3 LDF 5 LOAD 0 LDA I 17 STC .+2 SETWRD 0 OUTPUT TYP CRLF LIF 4 MESOUTMSG, 0 LIF 4 MESOUT MTYP XSK I 10 JMP BKTYP /NOW TYPE OUT INDIVIDUAL DEAD SPACE VALUES.ATYP, CRLF LIF 4 MESOUT M11 /MSRD DEAD SPACES LDF 5 LDA 2\DEADN COM STC 10 /CNTR SET I 16 2000 /PNTR LDF 11BKD, LOAD 4\16 OUTPUT MDED LIF 4 M SOUT MDED XSK I 10 JMP BKD LIF 5 JMP 3 /LEAVE TYPOMDED, MTYP, 00 00 00 00MCRLF, 4543 PNTRS, M4 /BODY WEIGHT 2\FPKG 1043 M5 /RECTAL TEMP 2\FPRTMP 1043 M6 /AMBIENT TEMP 2\FPATMP 1043 M7 /REL HUMIDITY 2\FPHUM 1043 M8 /KBD AMB N2 2\FPAN2E 1043 M9 /KBD DEAD SPACE 2\FPDSE 1044 M10 /AMBIENT N2 MEASURED 2\FPAN2 1043 M13 /FRC 2\FPFRC 1043 M14 /CORRECTED FRC 2\FPCFRC 1043 M15 /FRC\KG 2\FRCKG 1044 M16 /DURATION 2\FPDUR 1042 M17 /% TRAPPING 2\FPTRAP 1043 M12 /MEAN DEAD SPACE 2\F MDS 1044/END PNTRS. /ROUTINE TO TYPEOUT A CRLF. CRLF=JMP . SET 4 0 LIF 4 MESOUT MCRLF JMP 4 /LEAVE/END CRLF./END TYPO. /ROUTINE TO CALCULATE POWERS OF TEN.TENX, STORE XFAC ADD 0 STC TENXX FIX FAC ISTOR1 XNET SFLOAT XNET FCOMP FADD XFAC STORE XFAC /1 ^X, WHERE 0