File SAFER3.PA (PAL assembler source file)

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

/         JG    17.5.71
/                   SAFERR 1


*PART1

ISAFER, 0
        CLA
        TAD MNLOCS
        DCA COUNT
        TAD STORE
        DCA TEM1
NEXT,   DCA I TEM1
        ISZ TEM1
        ISZ COUNT
        JMP NEXT
        TAD ZABASE
        DCA ZA0
        TAD ZBBASE
        DCA ZB0

        JMS I LCINIT
LCPCM,  0
        JMS I LINIT
        SIZEA
LDPCM,  0
        JMS I LINIT
        SIZEB
        0
        JMS I LIPSP
LPSP,   0
        JMS I ISAFER


SAFERR, 0
        JMS DO4000      /LIMIT X
        DCA X

        TAD UA         /Y:=X-UA
        JMS DO4000
        CIA
        DCA 44
        LADD1
        X
        NOP
        TAD 44
        DCA Y

        TAD Y          /BITSTREAM
        JMS I LCPCM
        DCA BIT

        TAD BIT        /DECOD OUTPUT SEND END
        JMS I LDPCM
        SIZEA

 
        JMS I LYZZ
        UA
        YYA
        ZA

ESAFA,  JMS I ESAF1  /ESAF (ZA,YYA,UA)
        ZA
        YYA
        UA
        N
        D
        ZABASE
        ZA0
        A0APTR
        OFLOWA

        JMS I LDECAY
        A0APTR


        CLA
        TAD BIT     /DECOD OUTPUT REC END
        JMS I LPSP
        JMS I LDPCM
        SIZEB

        JMS I LYZZ
        UB
        YYB
        ZB

ESAFB,  JMS I ESAF1   /ESAF (ZB,YYB,UB)
        ZB
        YYB
        UB
        N
        D
        ZBBASE
        ZB0
        A0BPTR
        OFLOWB

        JMS I LDECAY
        A0BPTR


        CLA
        TAD I OPPNT
        JMP I SAFERR


DO4000, 0
        TAD N4000
        SNA
        IAC
        TAD N4000
        JMP I DO4000

N4000,  4000






LDECAY, DECAY
N,      4
OPPNT,  ZB
MNLOCS, -75
COUNT,  0
TEM1,   0
LYZZ,   YZZ

LCINIT, CINIT
LINIT,  INIT
LIPSP,  IPSP
SIZEA,  0
        0
SIZEB,  0
        0

ESAF1,  2141
STORE,  BIT
ZA0,    0
ZB0,    0
ZABASE, NUM
ZBBASE, NUM+10
A0APTR, NUM+20
A0BPTR, NUM+40

*PART1+200-15

BIT,    0           /LOCS TO BE CLEARED
X,      0
Y,      0
YYA,    0
YYB,    0
UA,     0
UB,     0
ZA,     0
ZB,     0
OFLOWA, 0
OFLOWB, 0
D,      0
        0


NUM=PART1+200
HILF=41

*PART1+400-HILF
/HILF - NUMBER OF INSTR. IN YZZ

YZZ,    0          /COMP YY AND Z  ENTER WITH DECOD OUT IN AC
        DCA TEM10   /SAVE DECOUT
        TAD I YZZ   /GET UA
        ISZ YZZ
        DCA TEM11   /UA IN TEM11
        TAD I YZZ
        ISZ YZZ
        DCA TEM12      /YY IN TEM12

        TAD I TEM11  /GET (UA)
        ASR
        2            /ALPHA
        SHL
        0
        CIA
        DCA 44
        LADD1
        TEM10
        NOP
        TAD 44    /YY=DECOUT+ALPHA*UA
        DCA I TEM12

        TAD I YZZ
        ISZ YZZ
        DCA TEM12      /Z IN TEM12

        TAD TEM10
        DCA 44      /DECOUT IN 44
        LADD1     /YY IN 44
TEM11,  0
        NOP
        TAD 44
        DCA I TEM12     /ZA*=UA+DECOUT
        JMP I YZZ

TEM10,  0
TEM12,  0





*NUM+70

DECAY,  0
        CLA
        TAD I DECAY/         GET A0PTR
        ISZ DECAY
        DCA PNTR
        TAD I PNTR
        DCA PNTR
        TAD I LN/    GET N
        CIA
        DCA COUNTD
NEXTA,  TAD PNTR
        DCA PNTHI/   PIONT TO MSB (L)
        ISZ PNTR/   POINT TO LSB (L+1)

        TAD I PNTR
        CLL CIA
        MQL
        CML RAL
        TAD I PNTHI
        CIA

        ASR
        5      /       DECAY FACTOR

        TAD I PNTHI/   ADD MASB
        DCA I PNTHI
        CLL
        MQA
        TAD I PNTR/    ADD LSB
        DCA I PNTR
        SZL
        ISZ I PNTHI
        NOP
        ISZ PNTR
        ISZ COUNTD
        JMP NEXTA
        JMP I DECAY

LN,     N
PNTR,   0
PNTHI,  0
COUNTD, 0


$
$

`*U*-;3



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