File SAFER4.PA (PAL assembler source file)

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

/        JG    14.9.71
/      SAFERR 1.4
/  INCLUDING BIT PATTERN RECOGNITION

*PART1

ISAFER, 0
        CLA
        TAD MNLOCS
        DCA LCPCM   /LCPCM ONLY TEMP USED FOR COUNT ETC
        TAD STORE
        DCA LDPCM
NEXT,   DCA I LDPCM
        ISZ LDPCM
        ISZ LCPCM
        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 LIREST
        STATES
LRESET, 0

        JMS I LIREST
        STATER
        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


        TAD BIT
        JMS I LRESET
        STATES
        JMP I LSDO

        
SRET,   TAD BIT
        JMS I LPSP
        JMS I LDPCM
        SIZEB
        DCA CHANGY

        TAD CHANGY
        JMS I LYZZ
        UB
        YYB
        ZB

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

        TAD BIT
        JMS I LRESET
        STATER
        JMP I LRDO


RRET,   TAD ZB
        JMP I SAFERR


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

N4000,  4000






LIREST, IRESET
LSDO,   SDO
LRDO,   RDO
N,      4
MNLOCS, -102
LYZZ,   YZZ

LCINIT, CINIT
LINIT,  INIT
LIPSP,  IPSP

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

NUM=PART1+200
*NUM-12

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



*PART1+200+60


OFLOWA, 0
OFLOWB, 0
D,      0
        0
SIZEA,  0
        0
SIZEB,  0
        0
STATES, 0
        0
STATER, 0
        0





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




SDO,    CLL CML CLA RAR
        TAD I LZA
        DCA I LZA
        JMP I LSRET

RDO,    CLL CML CLA RAR
        TAD I LZB
        DCA I LZB
        JMP I LRRET




LZA,    ZA
LZB,    ZB
LSRET,  SRET
LRRET,  RRET


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

`



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