*20 /// REGFRC /DISPLAYS NUMFILE DATA GENERATED BY /PROGRAM FRC. /CALCULATES LEAST SQS. REGRESSION FIT /FOR RAW OR LOG NORMALIZED DATA SETS. SEGMNT 5 *20 BEG, JMP USROFF /KILL ALL USERS /INTRACT SEQUENCE Q1, LIF 4 INTRACT CJ1 / REGFRC M1 /FILENAME /DISPLAY THE DATA DSP, JMP DISPLA /OPEN INPUT BUFFER Q2, LIF 4 INTRACT CJ2 MCOLON /: /DECISION TABLES CJ1, T1 J1 CJ2, T2 J2 /COMMAND LISTS T2, B /REMOVE LINE NEXT /SUBTRACT LINE GO /DO REGRESSION NO /REMOVE CU CU /CURSOR C /DO LOG T1, 0 /JUMP LISTS ASSOC. WITH DECISIONS /FILENAME: J1, JMP BEG /CR JMP FILEIN /0 /MAIN CONTROLLING JUMP LIST J2, JMP BEG /CR JMP NOLINE /B JMP SUBLIN /NEXT JMP DOREG /GO JMP NOCURS /NO JMP CURS /CU JMP LOG10 /L JMP QUES /0 QUES, LIF 4 MESOUT MQUES /?? JMP Q2 /SUBROUTINES FOLLOW /BRING IN FILE /PBLOCK TO Q7,DF7; DATA TO DF6 FILEIN, LDF 4 FIX FAC ISTOR2 FILNAM+1 DFLOAT FILNAM+1 SETWRD 0400 OUTPUT NAMBUF+1 LDA INBUF STA FILNAM STC NAMBUF /GETFIL LDA I 7107 STA WORD1 LDA I 4406 STA WORD2 Q1A, LIF 4 INUNIT GETF, LIF 4 MGETFIL JMP NOT /NOT FOUND JMP NOT /NOT FOUND /GOT FILE, CHECK DATATYPE LDF 7 LDA P0 /DATA TYPE APO I JMP WRONG /NOT NUMFILE LDA P1 /NUMBER TYPE SAE I 3 JMP WRONG /NOT AN FP FILE LDA P17 /DIMENSION ADA I -2 APO I JMP WRONG /DIM >2 JMP DSP /FILE OK, LEAVE NOT, LIF 4 MESOUT MNO /NO JMP BEG WRONG, LIF 4 MESOUT MWRONG /NOT A NO. FILE JMP BEG /SCALE X DATA /FIRST GET MAX X VALUE; I.E. LAST X ENTRY DISPLA, LDF 7 LDA P20 /NO. OF PTS. ADD KM1 MUL P17 /DIMESNION MUL I 3 ADD KP2000 STC .+3 LDF 6 LOAD 0 /STORE IN OUTPUT BUFFER STORE XMAX STORE XEND /INITIALIZE LAST PT. SETWRD 0742 OUTPUT ABSBUF /CALC SCALE FACTOR LOAD FP256 FDIV XMAX STORE XFUDG /SCALE DATA; STORE IN DF7 SET I 1 2000 /GET P0INTER JMP PTCNTR /NO. OF PTS CNTR SET I 3 2000 /PUT POINTER XSCL, LDF 6 LOAD 4001 FMUL XFUDG LDF 7 FIX FAC ISTOR1 4003 XSK I 3 /INC PUT PTR JMP INC1 /INC GET PTR XSK I 2 /DONE? JMP XSCL /NO /X DATA SCALED; NOW SCALE Y DATA /CALC Y FUDGE FACTOR DISLOG, LDF 7 LOAD P102 /MAX Y VALUE FSUB P103 /MIN Y VALUE STORE YFUDG LOAD FP200 /Y FULL SCALE FDIV YFUDG STORE YFUDG /Y SCALE FACTOR /CALCULATE SUBTRACTION FACTOR TO MAKE /Y ORIGIN = MIN Y VALUE LOAD P103 FMUL YFUDG STORE SUBFAC /SET Y DISPLAY SCALE LOAD P102 /MAX Y VALUE SETWRD 0742 OUTPUT ORDMAX LOAD P103 /MIN Y VALUE OUTPUT ORDMIN /SCALE DATA; STORE IN DF7 DISSUB, SET I 1 2003 JMP PTCNTR / NO. OF PTS CNTR SET I 3 2001 YSCL, LDF 6 LOAD 4001 FMUL YFUDG FSUB SUBFAC FIX FAC LDF 7 ISTOR1 4003 XSK I 3 /INC PUT PTR JMP INC1 /INC GET PTR XSK I 2 /DONE? JMP YSCL /NO /DISPLAY AXES, SCALES, NAME & CURSOR /VALUES. /START WITH NO CURSOR DODIS, OPR 11 26 0 5 DISBUF JMP .-5 /START DATA DISPLAY USER OPR 1 2 DISP JMP .-3 /OPEN INPUT BUFFER JMP Q2 /USER TO DISPLAY SCALED DATA IN DF7 /ALSO DISPLAYS CURSOR WHEN CALLED FOR DISP, OPR 7 SET I 1 3777 JMP PTCNTR LDF 7 LDA I 1 /X ADD KP140 STC 15 LDA I 1 /Y ADD KM42 DIS 15 XSK I 2 JMP .-10 SAMT, JMP DISP /OR NOP FOR CURSOR /CODE TO HANDLE CURSOR DISPLAY SAM 0 /CURSOR KNOB SCR 2 ADA I 177 /ACCESS CU SAE I CUR, 0 /CURRENT CU SKP JMP DISCU /CU NOT MOVED /NEW CU VALUE; GET X & Y VALUES FOR /NUMERICAL DISPLAY STA CUR MUL I KP6, 6 ADD KP2000 STA I CURADR, 0 STC 10 SETWRD 1042 LDF 6 LOAD 4010 /X OUTPUT CXB+2 LOAD 10 /Y OUTPUT CYB+2 /DISPLAY CURSOR DISCU, LDF 7 LDA P20 /NO. OF PTS ADD KM1 COM ADD CUR /CURRENT CU PT APO JMP .+5 /CUR < P20 LDA /CUR > P20 P20 /DIS LAST PT ADD KM1 JMP .+3 LDA CUR ROL 1 /X2 ADD KP2000 STC 10 /ADR OF X VALUE SET I 12 -6 /CU CNTR LDA 10 /X ADD KP140 /140