JMP EBCLC,I YES, RETURN. SPC 2 * * CALCULATE ASCII "LRC". * APCLC NOP ENTRY POINT. * * XOR B EXCLUSIVE OR DATA AND LRC. * JMP APCLC,I RETURN. SPC 2 * * CALCULATE TRANSCODE "CRC-16". * TPCLC NOP ENTRY POINT. * SLB SKIP IF DATA BIT IS ZERO. XOR =B1 XOR DATA BIT 0 AND CRC BIT 0. SLA A IOR =B10000 LITTLE SLA BLACK MAGIC XOR =B7002 FOR ARS THE RBR FOLKS!!! ISZ PCAL6 FINISHED CALCULATION? JMP TPCLC+1 NO, PROCESS ANOTHER BIT. JMP TPCLC,I YES, RETURN. SPC 3 * * *** DATA *** * CTYPE DEF ETYPE ETYPE DEF EBCLC POINTS TO CRC-16 ALGORITHM. ATYPE DEF APCLC POINTS TO LRC ALGORITHM. TTYPE DEF TPCLC POINTS TO CRC-12 ALGORITHM. CALL BSS 1 POINTS TO PARITY CALC MODULE. DLEFL BSS 1 (TRANS MODE) IF SET LAST CHR DLE SID BSS 1 CHARACTER JUSTIFICATION. PCAL1 BSS 1 BUFFER ADDRS. PCAL2 BSS 1 COUNTER. PCAL6 BSS 1 COUNTER. PCAL5 BSS 1 PARITY WORD. TSCAN BSS 1 IF SET THEN IN TRANSPARENT MODE. HED DEBUG SUBROUTINE CALL TRACE * SUBROUTINE TO TRACE SUBROUTINE CALLS. ON * ENTRY, THE A-REG CONTAINS THE CONTENTS OF THE * CALLING SUBROUTINES ENTRY POINT AND THE * B-REG CONTAINS THAT ROUTINES TRACE CODE. * THESE ARE STORED TOGETHER IN A CIRCULAR LIST * AS NNMMMM WHERE NN IS THE CODE AND MMMM IS * THE CALLING LOCATION, RELATIVE TO D.50. TRADD * POINTS TO THE NEXT LIST NODE TO FILL. THE LIST * STARTS AT "SUBTR". THE ROUTINE DOES NOT USE * THE LISTS LENGTH EXPLICITLY, SO A CHANGE IN * LENGTH IS MADE ONLY IN THE BSS STATEMENT. * * THE SUBROUTINE CODES "NN" ARE: * * 01--CNTRL * 02--.IO. * 03--TACTV * 04--PADRS * 05--UPCAR * 06--SYNRZ * * SPECIAL CHARACTER TRACE CODES "NN" MEAN: * * 11--"MMMM" IS CHARACTER SENT BY CNTRL * 12--"MMMM" IS CHARACTER RECEIVED BY CNTRL * * TRACE NOP BLF,BLF POSITION CODE IN LEFT BLF TWO DIGITS OF B-REG. * CMA,INA GET RELATIVE CALLING ADDRESS IN ADA AD.50 A-REG CMA (A = A - AD.50 - 1) IOR B MERGE ADDRESS WITH CODE. * LDB TRACE SET UP RETURN. STB TRAC1 RSS SKIP CHAR TRACE ENTRY POINT. * TRAC1 NOP STA TRADD,I STORE IN TRACE BUFFER. ISZ TRADD INCREMENT ADDRESS ISZ TRCNT AND COUNT. JMP TRAC1,I STILL ROOM, RETURN * LDA ASUBT WRAP AROUND, STA TRADD RESET POINTERS LDA TRCN1 STA TRCNT JMP TRAC1,I RETURN * SUBTR BSS 400 ASUBT DEF SUBTR TRADD DEF SUBTR TRCNT ABS SUBTR-ASUBT TRCN1 ABS SUBTR-ASUBT ASV BSS 1 BSV BSS 1 AD.50 DEF D.50 HED LITERALS. UNS END 24380-18034 1409