File GAUNCE.PA (PAL assembler source file)

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

  JIM GAUNCE    EECS 415     V01  5/13/75
FIXMRI FGET=5000
FIXMRI FPUT=6000
FIXMRI FMPY=3000
FIXMRI FADD=1000
FEXT=0000
FLOT=0014
FOUT=0012

*100
N,        0
M,        0
T,        0
MN,       0
MT,       0
NOCTR,    0
COUNT,    0
CT1,      0
BUFF,     2000
OUTPTR,   0
STORE,     0
K1777,    0077
M4,       7774
K350,     1700
K212,   212
K215,     215
K,        0
M022,     7756
CHECK,    7470
MP1,      0
MP2,      0
XMEAN,  0
DF,       7777
RESULT,   3000
M260,     260
POINT,    0
SUML,     0
SUMH,     0
XH,       0
KI,       0
EQUAL,    275
K260,     260
R,        0
KCNT,     0
AUTOP,    AUTO
ANSWEP,   ANSWER
HEADP,    HEAD
CRLFP,    CRLF
TYPEP,    TYPE
LISNP,    LISN
PACKP,    PACK
SAMPLP,   SAMPLE
SETDFP,   SETDF
SUMRP,    SUMR
DIVIDP,   DIVIDE
FGETP,    7306
FLOTP,    5533
FPUTP,    7322
M15,      7761
STAR,     252
K3000,    3000
DIV,      0
K100,     100
SUM,      0
          0
          0
TEMP,     0
          0
          0
          0
*200
START,    CLA CLL
          IAC
          IAC
          IAC
          CIA             /TO COUNT NUMBER
          DCA NOCTR       /OF INPUTS
          TLS             /CLEAR PRINTER FLAG
          TAD BUFF      /INITIALIZE
          DCA OUTPTR      /OUTPUT PTR
          TAD K100        /INITIALIZE PTR
          DCA 11          /TO STORE N,M,&T
          JMS I CRLFP
CHRTYP,   TAD I OUTPTR    /GET CHARACTER
          ISZ OUTPTR      /INCREMENT PTR
          SNA             /WAS CHARACTER A NULL?
          JMP INPUT       /YES: GO TO INPUT
          JMS I TYPEP     /NO: TYPE CHARACTER
          JMP CHRTYP      /GO TO GET NEXT CHAR.
INPUT,    CLA CLL
          TLS             /RAISE PRINTER FLAG
          JMS I CRLFP     /RETURN CARRIAGE
NXTNUM,   TAD M4          /SET CTR FOR
          DCA COUNT       /4 DIGITS
          TAD K350        /SET UP TEMP STORAGE
          DCA TEMP        /FOR ASCII INPUT
NXTDIG,   JMS I LISNP     /GET A CHARACTER
          DCA I TEMP      /STORE IT TEMPORARILY
          ISZ TEMP        /INCREMENT PTR
ISZ COUNT                 /RECEIVED 4 DIGITS YET?
          JMP NXTDIG      /NO: GET ANOTHER
          JMS I CRLFP     /YES: RETURN CARRIAGE
          JMS I PACKP     /PACK THE 4 DIGITS
          DCA I 11        /STORE THE PACKED NO.
          ISZ NOCTR       /GOTTEN 3 INPUTS?
          JMP CHRTYP      /NO: TYPE NEXT MSG.
          JMS I SAMPLP    /YES: SAMPLE ADC
LOOP1,    JMS I SETDFP    /CHANGE DATA FIELD
          JMS I SUMRP     /SUM SERIES
          CDF 00
          CLA CLL
          JMS I DIVIDP    /DIVIDE SUM BY N
          TAD SUML        /ANS RETURNED IN SUML
          DCA XMEAN       /STORE RESULT
          JMS I FGETP     /GET RESULT &
          XMEAN           /PUT IN FAC
          JMS I FLOTP     /FLOAT IT
          JMS I FPUTP     /STORE IT
SOLN,     3000
          ISZ SOLN        /INCREMENT
          ISZ SOLN        /POINTER
          ISZ SOLN        /BY 3
          CLA CLL
NEXTK,    IAC
          DCA K           /SET K
          DCA 10          /INITIALIZE PTR(10) TO DATA
          TAD 10
          TAD K           /INITIALIZE PTR(11) TO
          DCA 11          /(I+K) DATA
LOOP2,    JMS I SETDFP    /CHANGE DATA FIELD
          TAD I 11        /GET (I+K) NO.
          DCA MP2         /STORE IT IN MP2
          TAD I 10        /GET (I) NO.
          DCA MP1         /& STORE IT IN MP1
          CDF 00
          JMS I 7         /ENTER INTERPRETER
          FGET MP1        /GET MP1
          FLOT            /FLOAT IT
          FPUT TEMP       /PUT IT IN TEMP
          FGET MP2        /GET MP2
          FLOT            /FLOAT IT
          FMPY TEMP       /MULTIPLY THE 2 NO.
          FADD SUM       /ADD TO SUM
          FPUT SUM        /& STORE IN SUM
          FPUT I SOLN
          FEXT            /EXIT INTERPRETER
          TAD K           /(AC) =K
          CIA             /(AC)=-K
          TAD N           /(AC)=N-K
          CIA             /(AC)=-(N-K)
          TAD 10          /(AC)=I-(N-K)
          SMA             /IS I=N-K?
          JMP .+3         /YES: GO TO DIVIDE OPER.
          CLA CLL         /NO:
          JMP LOOP2       /GET NEXT PR. OF NO.
          ISZ SOLN
          ISZ SOLN
          ISZ SOLN
          TAD M           /(AC)=M
          CIA             /(AC)=-M
          TAD K           /(AC)=K-M
          SMA             /IS K-M<0?
          JMP .+4         /NO: WE HAVE DONE ALL K'S
          CLA CLL         /YES : CLEAR AC & L
          TAD K
          JMP NEXTK       /GO TO START NEXT K
          ISZ DF          /DONE DF 1 &2 ?
          JMP .+2         /YES: GO TO OUTPUT
         JMP LOOP1        /NO: DO NEXT DF
          TAD K3000
          DCA 17
          JMS I HEAD      /TYPE HEADING
          JMS I 7         /ENTER INTERPRETER
          FGET I 17       /GET MEAN
          FOUT            /PRINT IT
          FEXT            /EXIT INTERPRETER
          JMS I AUTO      /TYPE AUTOCORRELATION RESULTS
          JMS I HEAD      /TYPE HEADING
          JMS I 7         /ENTER INTERPRETER
          FGET I 17       /GET MEAN
          FOUT            /PRINT IT
          FEXT            /EXIT INTERPRETER
          JMS I AUTO      /TYPE AUTOCORRELATION RESULTS
          HLT



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