/ 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{