File COETRA.PA (PAL assembler source file)

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




/4.10.71   JG
/SR FOR COEFFICIENT TRANSFER
/NRS ARE LIMITED TO 777=2 AND 1000=-2 AND TRUNCATED TO
/SPECIFIED NRS OF BITS
/ARG OF SR IS N




*PART3


ITF,    0
        CLA CLL
        TAD MASK1/      SET UP MASK2 FOR ROUNDING BIT
        RAL
        CMA
        AND MASK1
        DCA MASK2

        TAD TIME
        CIA
        DCA TIMECT

        DCA FLAG

        TAD LIMIT
        CIA
        DCA MLIMIT

        JMS I ITF


TF,     0
        CLA
        TAD I TF/    GET ADDRESS OF NR OF TAPS
        ISZ TF
        DCA TAPNR
        DCA FLAG

        ISZ TIMECT
        JMP I TF

        TAD TIME
        CIA
        DCA TIMECT/    RESET TIMECOUNT

        JMS DO
        A0BPTR
        A0CPTR

        JMS DO
        A0BPTR
        A0BPTR

        JMP I TF




DO,     0
        TAD I TAPNR/   SET TAPCOUNT
        CIA
        DCA TAPCT

        TAD I DO/    GET ADDRESSES
        ISZ DO
        DCA FROMHI
        TAD I FROMHI
        DCA FROMHI
        TAD I DO
        ISZ DO
        DCA TOHI
        TAD I TOHI
        DCA TOHI

NEXT,   TAD FROMHI
        IAC
        DCA FROMLO
        TAD TOHI
        IAC
        DCA TOLO

        TAD I FROMHI/ POS OR NEG?
        SPA
        JMP MINUS

        TAD MLIMIT/   POS NUMBER CHECK FOR LIMIT
        SMA CLA
        JMP POSLIM
        JMP NOLIM

MINUS,  TAD LIMIT
        SPA CLA
        JMP NEGLIM
        JMP NOLIM

POSLIM, CMA RAR CLL/   SET AC TO 3777
        ISZ FLAG
        JMP LIMDON

NEGLIM, CLL CML RAR/   SET AC TO 4000
        ISZ FLAG
        JMP LIMDON

NOLIM,  TAD I FROMLO/   12 MEANINGFULL BITS IN AC
        MQL
        TAD I FROMHI
        SHL
        1

LIMDON, DCA SAVE
        TAD SAVE
        SHL/       GET NEXT BIT FOR ROUNDING
        0
        AND MASK2
        DCA SAVRND
        MQL/         CLEAR MQ
        TAD SAVE
        SPA/       CHECK FOR POS COE
        JMP NEG

        TAD SAVRND
        SMA/        OVERFLOW  BECAUSE FO ROUNDING
        JMP OK

        CLA CLL CMA RAR/  LIMIT TO 3777
        SKP

NEG,    TAD SAVRND
OK,     AND MASK1/     TRUNCATE
        ASR/           SHIFT BACK
        1

        DCA I TOHI
        MQA
        DCA I TOLO

        ISZ FROMHI
        ISZ FROMHI
        ISZ TOHI
        ISZ TOHI

        ISZ TAPCT
        JMP NEXT

        JMP I DO



TIME,   200        /10 PER MSEC INTERVALL FOR 8 KHZ
MASK1,  7700       / SET FOR 6 BIT   CHANGE WITH LIMIT!
MASK2,  0
TIMECT, 0
FLAG,   0
LIMIT,  1000       /CHANGE SHL,ASR FOR OTHER LIMIT
MLIMIT, 0
TAPNR,  0
FROMHI, 0
FROMLO, 0
TOHI,   0
TOLO,   0
TAPCT,  0
SAVE,   0
SAVRND, 0




$$$$$$$$$$$$$$$

*U**?G



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