File STL.PA (PAL assembler source file)

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


/        JG    21.9.71
/      SAFERR 1.5
/  INCLUDING BIT PATTERN RECOGNITION

LADD1=JMS I 121

FIELD 1

*PART2

ISAFER,	0
	CAM
	RDF
	CDF 10
	TAD CFINST
	DCA INTEXT
	TAD INTEXT
	DCA EXIT
	JMP I PG3P


PG1,	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

INTEXT,	HLT
        JMS I ISAFER


SAFERR, 0
	CDF 10
        JMS I D4000P	/LIMIT X
        DCA X

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

        TAD Y          /BITSTREAM
        JMS I LCPCM
MAIN,	DCA BIT

        TAD BIT
        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 CHCODP
        JMS I LRESET
        STATES
        JMS I LSDO

        
SRET,   TAD BIT
        JMS I LPSP
	DCA CHBIT

	TAD CHBIT
        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 CHBIT
	JMS I CHCODP
        JMS I LRESET
        STATER
        JMS I LRDO


RRET,	TAD I OUTPTP
EXIT,	HLT
        JMP I SAFERR


NUM=PART2+200
NUM1=14
NUM2=16


OUTPTP,	ZB
CHCODP,	CHCOD
D4000P,	DO4000
PG3P,	PG3
CFINST,	CIF CDF
LIREST, IRESET
LSDO,   DOTRS
LRDO,   DOTRR
N,      4
LYZZ,   YZZ

LCINIT, CINIT
LINIT,  INIT
LIPSP,  IPSP

ESAF1,  2141
ZA0,    0
ZB0,    0

*PART2+200-NUM1

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



*PART2+200+60


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


TBA,    0
        0
        0
        0
        0
        0
        0
        0
        0
	0
        0
        0
        0
        0
        0
        0
TBS,    30
        0

CHCOD,	0
	AND M1
	DCA CODE
	AND M2
	CLL
	SZA CLA
	CML

	TAD CODE
	SZL
	CMA
	AND M3
	DCA MODCOD

	CLA RTL
	TAD MODCOD
	JMP I CHCOD

CODE,	0
MODCOD,	0
M1,	3
M2,	2
M3,	1

*PART2+400 PG3, SWBA CAM TAD MNLOCS DCA INTCNT TAD STORE DCA INTAD NEXT, DCA I INTAD ISZ INTAD ISZ INTCNT JMP NEXT TAD ZABASE DCA ZA0 TAD ZBBASE DCA ZB0 JMP PG1 DO4000, 0 TAD N4000 SNA IAC TAD N4000 JMP I DO4000 N4000, 4000 INTAD, 0 INTCNT, 0 STORE, BIT MNLOCS, -NUM1-NUM2-60 ZABASE, NUM ZBBASE, NUM+10 A0APTR, NUM+20 A0BPTR, NUM+40 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
A0TR, 0 CLA TAD I A0TR/ GET NUMBER OF TAPS DCA TEM5 TAD I TEM5 CLL RAL CIA/ (N) MULT BY 2 AND THEN NEGATIV DCA TEM5 ISZ A0TR TAD I A0TR DCA TEM6 TAD I TEM6 DCA TEM6 ISZ A0TR TAD I A0TR DCA TEM7 TAD I TEM7 DCA TEM7 ISZ A0TR AGAIN, TAD I TEM6 DCA I TEM7 ISZ TEM6 ISZ TEM7 ISZ TEM5 JMP AGAIN JMP I A0TR TEM5, 0 TEM6, 0 TEM7, 0 / 13.8.71 JG /BIT PATTERN IN DP SHIFT REGISTER COMPARED WITH MASK *PART2+1000 IRESET, 0 CLA TAD I IRESET/ INIT STATE ISZ IRESET DCA LSTAT1 DCA I LSTAT1 ISZ LSTAT1 DCA I LSTAT1 TAD MASKLO/ INIT MASK AND NMSKLO/ DETERMINE LENGTH OF PATTERN CMA DCA INVMLO TAD MASKHI AND NMSKHI CMA DCA INVMHI JMS I IRESET RESET, 0 DCA SAVBIT TAD I RESET/ GET STATE ADDRESS 1=LOW ISZ RESET DCA LSTAT1 TAD LSTAT1 IAC DCA LSTAT2 TAD I LSTAT1/ SHIFT REG LOW END MQL TAD I LSTAT2 SHL 1 DCA I LSTAT2 MQA TAD SAVBIT/ UPDATE DCA I LSTAT1 TAD I LSTAT1/ COMPARE LOW END AND NMSKLO/ DETERMINE LENGTH OF PATTERN TAD INVMLO IAC SZA CLA JMP NOTFND TAD I LSTAT2 AND NMSKHI TAD INVMHI IAC SZA CLA NOTFND, ISZ RESET /SKIPS IF PATTERN NOT FOUND JMP I RESET DO, IAC DCA FLAG TAD SAVBIT JMP I RESET MASKLO, 0421 MASKHI, 0421 NMSKLO, 7777 NMSKHI, 0 LSTAT1, 0 LSTAT2, 0 INVMLO, 0 INVMHI, 0 SAVBIT, 0 FLAG, 0
/RESETTING OF COE AND COD DEC STATES /20.9.71 DOTRS, 0 ISZ I SCNTPT NOP JMS I LA0TR N10 TBAPTR A0APTR JMS I LA0TR N4 TBAPTR ZABASE JMS I LA0TR NS TBSPTR LSIZEC JMS I LA0TR NS TBSPTR LSIZEA JMP I DOTRS DOTRR, 0 ISZ I RCNTPT NOP JMS I LA0TR N10 TBAPTR A0BPTR JMS I LA0TR N4 TBAPTR ZBBASE JMS I LA0TR NS TBSPTR LSIZEB JMP I DOTRR CLL CML CLA RTR TAD I LX DCA I LX JMP I DOTR DOTR, 0 /RETURN ADDR FOR DUM ROUTINE LX, X SCNTPT, SCOUNT RCNTPT, RCOUNT LA0TR, A0TR TBAPTR, TBA TBSPTR, TBS NS, 1 N4, 4 N10, 10 LSIZEA, SIZEA LSIZEB, SIZEB LSIZEC, SIZEC $$$$$$$$$$$$$$$$$$$$$$



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