File ESAF3.PA (PAL assembler source file)

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

/       ERROR SAF S/R
/       CALLED WITH 9 ARGUMENTS;
/       L[INPUT],(S.P. SIGNED FRACT.)
/       L[ERROR],( "     "      "   )
/       L[OUTPUT],( "    "      "   )
/       L[NO. OF CHANNELS]
/       L[D]
/       L[ZBASE]
/       L[Z0PTR]
/       L[A0PTR]
/       L[OFFLAG],(OVERFLOW FLAG)


/       UP TO 40 (OCT.) CHANNELS ALLOWED.


/       N LOCS IN Z-TABLE
/       2N LOCS IN A-TABLE
/       Z-TABLE MUST START AT XX40 OR XX00



/       1ST. PAGE

        * START

/       END OF INTIALISATION CONT. FROM 2ND. PAGE

PART2,  TAD I LZ0PTR
        DCA Z0PTR
        DCA FL1
        DCA FL2
        DCA FL3
        DCA FL4
        DCA FL5


/       MAIN PROG. OF ERSAF

        TAD I LCHANS
        CIA
        DCA COUNT
        TAD I LZ0PTR
        DCA ZPTRB

ENCORE, TAD I ZPTRB
        DCA 45
        DCA 46
        SMUL
ZPTRB,  0
        TAD 45
        SPA CLA
        CMA
        DCA 44
        LADD3
        SIGHI
        ISZ FL1
        JMS DUMP
        TAD ZPTRB
        JMS INCM32
        DCA ZPTRB
        ISZ COUNT
        JMP ENCORE
        JMP I PART3I

DUMP,   0
        TAD 44
        DCA I SIGHII
        TAD 45
        DCA I SIGMDI
        TAD 46
        DCA I SIGLOI
        JMP I DUMP


PART4, DCA L


INIT2,  TAD Z0PTR       /INIT FOR STATE UPDATE
        DCA ZPTR
        TAD I LA0PTR
        DCA APTR
        TAD I LCHANS
        CIA
        DCA COUNT

NEXT,   TAD I LERROR    /UPDATE STATE
        DCA 45
        DCA 46
        SMUL
ZPTR,   0
        TAD 46
        MQL
        TAD 45
        ASR
J,      0
        SHL
L,      0
        SMA SNL
        JMP .+4
        SPA
        SNL
        ISZ FL3
        DCA 44
        CLA MQA
        DCA 45
        LADD2
APTR,   0
        ISZ FL4
        TAD 44
        DCA I APTR
        TAD 45
        ISZ APTR
        DCA I APTR
        ISZ APTR
        TAD ZPTR
        JMS INCM32
        DCA ZPTR
        ISZ COUNT
        JMP NEXT

        CMA             /DEC Z0PTR MOD 32
        TAD Z0PTR
        AND MOD32
        TAD I LZBASE
        DCA Z0PTR
        TAD I LINPUT
        DCA I Z0PTR
        TAD I LA0PTR
        MQL
        TAD I LCHANS
        JMP PART5

INCM32, 0
        IAC
        AND MOD32
        TAD I LZBASE
        JMP I INCM32

LINPUT, 0
LERROR, 0
LOPUT,  0
LCHANS, 0
LDHI,   0
LZBASE, 0
LZ0PTR, 0
LA0PTR, 0
LOFLAG, 0

Z0PTR,  0
COUNT,  0
SIGHII, SIGHI
SIGMDI, SIGMED
SIGLOI, SIGLO
PART3I, PART3
PART7I, PART7
FL1,    0
FL2,    0
FL3,    0
FL4,    0
FL5,    0


N30,    30
MOD32,  0037


/       DEPOSIT OUTPUTS BEFORE RETURNING.

PART6,  DCA I LOFLAG
        TAD I SUMEDI
        DCA I LOPUT
        TAD Z0PTR
        DCA I LZ0PTR
        JMP I PART7I



/.................
/ 2ND. *START+177 / COMPLETION OF INIT. PART5, CIA DCA COUNTA MQA DCA APTRA TAD I Z0PTRI DCA ZPTRA DCA SUMHI DCA SUMMED DCA SUMLO AGAIN, TAD I APTRA DCA 45 DCA 46 SMUL ZPTRA, 0 TAD 45 MQL TAD 45 SPA CLA CMA SHL SH1, 0 DCA 44 TAD 46 MQL TAD 45 SHL SH2, 0 DCA 45 CLA MQA DCA 46 LADD3 SUMHI ISZ I FL5I JMS I DUMPI ISZ APTRA ISZ APTRA TAD ZPTRA JMS I IM32I DCA ZPTRA ISZ COUNTA JMP AGAIN JMS L3TO2 IAC JMP I PART6I PART6I, PART6 L3TO2, 0 TAD SUMMED RAL /S BIT IN L CLA RAL /S BIT IN B(11) TAD SUMHI SNA JMP NOLIM SPA CLA JMP NEGLIM CLA CMA CLL RAR DCA SUMMED CMA JMP LIMON NEGLIM, CLA CLL CML RAR DCA SUMMED LIMON, DCA SUMLO JMP I L3TO2 NOLIM, CLA ISZ L3TO2 JMP I L3TO2 PART3, TAD SIGLO MQL TAD SIGMED ASR 3 CLA MQA DCA SIGLO TAD SIGMED MQL TAD SIGHI ASR 3 DCA SIGHI CLA MQA DCA SIGLO JMS L3TO2 ISZ I FL2I TAD SIGLO MQL TAD SIGHI NMI SNA CLA JMP ZERO /NMI[0] GIVES AC=0 CLA SCA CIA TAD LIM CIA SMA CMA ZERO, TAD LIM JMP I PART4I PART4I, PART4 PART7, JMP I ESAFSR / BEGINNING OF ESAF S/R ON 2ND. PAGE ESAFSR, 0 CLA /ENTER ARGUMENTS TAD NM11 DCA COUNTA TAD TABLOC DCA TEM MORE, TAD I ESAFSR DCA I TEM ISZ ESAFSR ISZ TEM ISZ COUNTA JMP MORE DCA SUMHI DCA SUMMED DCA SUMLO JMP I PART2I PART2I, PART2 APTRA, 0 SUMHI, 0 SUMMED, 0 SUMLO, 0 COUNTA, 0 TEM, 0 Z0PTRI, Z0PTR IM32I, INCM32 DUMPI, DUMP FL2I, FL2 FL5I, FL5 TABLOC, LINPUT NM11, -11 SUMEDI=SIGMDI SIGHI=SUMHI SIGMED=SUMMED SIGLO=SUMLO $$$$$$$$$$$$$$$$$$ *U*
6{



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