File JIMS2.PA (PAL assembler source file)

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

*1500
SUMR,     0            /SUBR TO ADD SERIES
          CLA CLL      /SET UP PTR TO
          DCA POINT    /LOC. OF FIRST NO.
GETX,     TAD I POINT  /GET NEXT NO.
          SPA          /IS NO. NEGATIVE?
          JMP NEG      /YES: JMP TO MAKE XH NEG.
ADD,      TAD SUML     /ADD X TO SUM
          DCA SUML     /
          RAL          /ADD LINK TO HIGH WORD
          TAD SUMH     /
          TAD XH       /ADD X HI WORD TO SUM
          DCA SUMH
          DCA XH  /CLEAR X HI WORD
          ISZ KI       /INCREMENT KI
          TAD N
          CIA
          TAD KI       /DONE X(N)?
          SNA
          JMP I SUMR   /YES: RETURN
          CLA CLL      /NO:
          ISZ POINT    /INCREMENT PTR
          JMP GETX     /GO TO GET NEXT NO.
NEG,      CLA CLL
          CMA          /MAKE XH NEG.
          DCA XH       /FOR NEG. X(I)
          TAD I POINT  /GET X(I) BACK
          JMP ADD      /GO TO ADD TO SUM
SAMPLE,   0                   /ADC SUBROUTINE TO GET N SAMPLES
          CLL CLA             /T SEC APART
          6500                /CLEAR ADC CONTROLLER FLAGS
          6506                /LOAD CONTROLL REG WITH 0
          TAD N               /INITIALIZE TO
          CIA                 /COUNT N SAMPLES
          DCA MN
          TAD T               /T IS SAMPLE TIME IN
          CIA                 /MULTIPLES OF 0.115 MSEC
          DCA MT    
          DCA 10              /SET POINTER TO DATA CH 1
          DCA 11              /AND CH 2
          6505                /START CONVERSION
          6501
          JMP .-1             /WAIT FOR SAMPLE SYNC PULSE
          TAD CHECK           /IS SAMPLE OVER THRESHOLD ?
          SPA CLA
          JMP .-5             /NO: KEEP WAITING
          IAC
          6506                /TO CH 1
          NOP                 /AND WAIT 4.8 MICROSEC
          NOP
          NOP
          NOP
          CDF 10
NSAMP,    6505                /START CONVERSION
          TAD MT              /INITIALIZE DELAY LOOP
          DCA COUNT
          TAD M022
          DCA CT1
          NOP                 /THIS LOOP TAKES
          ISZ CT1             /ABOUT
          JMP .-2             /90 MICROSEC
          ISZ COUNT
          JMP .-6              /OUTER LOOP ENDS HERE
          6502                /READ ADC BUFFER CH 1
          DCA I 10            /STORE SAMPLE
          CDF 20
          IAC
          IAC
          6506                /LOAD CONYROL REG WITH 2
          NOP
          NOP
          NOP
          NOP
          6505                /START CONVERSION
          6501
          JMP .-1             /WAIT FOR SIGNAL
          DCA I 11            /STORE SAMPLE 2
          ISZ MN              /DONE ALL SAMPLES YET/
          JMP NSAMP           /NO
          IAC
          IAC                 /INITIALIZE NOCTR TO
          DCA NOCTR           /CHANGE DATD FIELD
LOOP5,    CLA CLL
          TAD N               /INITIALIZE TO COUNT
          CIA                 /N SAMPLES
          DCA MN
          CLA CLL             /CLEAR AC AND LINK
          DCA 10              /SET POINTER
          DCA 11              /TO GET 
          DCA 12              /AND STORE
          DCA 13              /DATA CH 1 AND 2
NSTORE,   TAD I 10           /GET NUMBER
          SPA                 /IS NO. POSITIVE
          CLL CML IAC         /NO: SET LINK AND BIT 11
          RTR                 /SHIFTS NO. TO BITS 2-11
          DCA I 11          /STORES NUMBER
           TAD I 12
          SPA
          CLL CML IAC
          RTR
          DCA I 13
          ISZ MN              /DONE ALL SAMPLES YET?
          JMP NSTORE         /NO
          ISZ NOCTR           /YES: DONE BOTH DATA FIELDS?
          JMP .+3             /NO:
          CDF 00              /YES
          JMP I SAMPLE        /RETURN
          CDF 10              /NO: CHANGE DATA FIELD
          JMP LOOP5           /DO DATA FIELD 1



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