File FRC.DI

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

*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<X<1	LOAD	A4	JMP MULT	FADD	A3	JMP MULT	FADD	A2	JMP MULT	FADD	A1	JMP MULT	FADD	F1	FMUL	FAC	STORE	XFAC	LDA I	XNET+1	ADD XNET	STC .+2	LDA	0	STC .+2	FMUL	0	STORE	XFAC	LIF 5TENXX,	0		/LEAVE	 MULT,	FMUL	XFAC	JMP 0	 XFAC,	0	0	0	 XNET,	0	F1	F10	F100	F1
00	 F1,	1	2000	0F10,	0004	2400	0000F100,	0007	3100	0000F1000,	0012	3720	0000A1,	0001		/1.1499196	2231	4110A2,	0000		/0.6774323	2553	3032A3,	7775		/0.2080030	3247	7536A4,	7775		/0.1268089	2016	6431/END TENX.	 AAEND6,	0//END IF 6 ROUTINES.	 	 /PBLOCK FOLLOW
.	NOLIST//PBLOCK/PARAMETER BLOCK ASSIGNMENTS/	P0=3400		/DATA TYPE	P1=3401		/CURRENT CHAN.	P17=3417	/NO.SAMP IN SEG	P20=3420	/NO.SEG IN ENSM	P44=3450	/SEG LENGTH	P55=3503	/A3 MAX	P61=3517	/A5MAX	P102=3602/COMMAND DECODER ASSIGNMENTS//	STOP=JMP 20	SCAN=JMP 
1	STRSCN=JMP 21	INUNIT=JMP 22	STORIT=JMP 23	GETFIL=JMP 24	GETFST=JMP 24	GETNAM=JMP 25	GETNXT=JMP 25	DIRINI=JMP 26	DIRLST=JMP 27	ASSIGN=JMP 30	DEASS=JMP 31	OUTUNIT=JMP 32	LODBLK=JMP 33	RUNBLK=JMP 34	FIND=JMP 35	CALL=JMP 37	UNCALL=JMP 40	RUNPRG=JMP 41	INTRA
T=JMP 42	MESOUT=JMP 43	DISK=JMP 44	TABSET=JMP 45	INTABLE=JMP 46	MISSNG=JMP 47	TABGET=JMP 50	TABPUT=JMP 51	TABZER=JMP 52	MAKDIL=JMP 53	TABINI=JMP 54	MGETNAM=JMP 55	MGETFIL=JMP 56	MSTORIT=JMP 57//COMMAND LOCATIONS./	FILNAM=2320	WORD1=2323	WORD2=2324	INBUF=2
25/COMMAND NUMBERS.	YES=17	NO=20	SAMPL=21	TABLE=22	GO=23	NEXT=24	CU=25	CONT=26	ALL=27/EXEC3 ASSIGNMENTS/	OPR=500	IOF=6002	ION=6001	EXC=1710	REXC=540	RLSW=514	RRSW=515/FLOATING POINT DEFINITIONS./	FAC=0	STARTE=740	FSUB=741	FMUL=742	FDIV=743	LOAD=744	STORE=
45	SETWRD=746	INPUT=747	OUTPUT=750	ISTOR1=751	SQRT=752	DFLOAT=753	SFLOAT=754	FIX=755	FADD=756	ISTOR2=757	STARTF=760	FCOMP=761	FZER=762	FAPO=763	FAZE=764	RECIP=765/PBLOCK/FEB 74.	LIST///END FRC/SEPT 76/FHD25/COMMAND NUMBERS.	YES=17	NO=20	SAMPL=21	TABLE=22	
O=23	NEXT=24	CU=25	CONT=26	ALL=27/EXEC3 ASSIGNMENTS/	OPR=500	IOF=6002	ION=6001	EXC=1710	REXC=540	RLSW=514	RRSW=515/FLOATING POINT DEFINITIONS./	FAC=0

Note: Lines longer than 256 characters were wrapped



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