ASMB,R,Q,C *** SLC *** HED SYNC LINE CONTROL 06/01/79 HI-SPEED NAM HSLC,30 91741-16015 REV 2013 790601 SPC 2 ******************************************************* * * * MODIFIED BY DMT ON MAY 30, 1978 TO REMOVE UNUSED * * CODE, MOSTLY IN THESE AREAS * * EBCDIC CHARACTER HANDLING * * LCR BLOCK CHECK (CRC ONLY IS USED) * * ID SEQUENCE CHECKING/SENDING * * CHARACTER CHECK UPON RETURN FROM DRIVER * * * * FURTHER CLEANUP DONE ONE YEAR LATER. * * * ******************************************************* SPC 2 ****************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY. * ****************************************************************** SPC 2 ENT SLC LOGICAL INIT ROUTINE EXT EQTAD EXT .ENTR EXT EXEC * * SLC (HSI VERSION) * SOURCE: 91741-18015 * BINARY: 91741-16015 * TOM KEANE * JULY 1, 1975 * EXT HCONT,HSND,HREC * * SUBROUTINE SLC: LOGICAL INITIALIZATION ROUTINE FOR SLC * JSB SLC * DEF *+3 * DEF LU LOGICAL UNIT NUMBER * DEF BUFFER EQT EXTENSION * LU OCT 0 PTR TO LOGICAL UNIT NUMBER EQTXP OCT 0 ADDR OF EQT EXTENSION BUFFER * SLC NOP JSB .ENTR PROCESS PARAMETERS DEF LU LDB EQTXP GET ADDR OF EQTX ADB .4 B = EQT22 ADDR LDA .SLCR STA B,I SET UP SLC READ ADDR INB LDA .SLCW STA B,I SET UP SLC WRITE ADDR INB LDA .SLCC STA B,I SET UP SLC CONTROL ADDR INB ADB M5 B = EQTX3 ADDR (SYNC) LDA B,I GET SPECIFIED SYNC CHAR ADB .31 B = EQTX WORD 34 ADDR CPA .22 ASCII SYNC CHAR? JMP ASCII YES CLA,INA NO, SET A-REG =1 AS AN ERROR IND JMP SLC,I & RETURN, BYPASSING EXEC CALL * ASCII EQU * ADB .4 B = EQTX WORD 38 DATA ADB .23 B = EQTX WORD 61 ADDR LDA B,I GET ENVIR IOR H4000 SET BIT 14 FOR ASCII STA B,I & SAVE ENVIR ADB M59 B = EQTX WORD 2 ADDR LDA B,I GET EQTX2 AND M64 MASK OUT PARITY & CHAR SIZE IOR .8 SPEC NO PARITY & 8-BIT BYTE STA B,I LDA EQTXP A = ADDR OF EQTX ADA .61 A = ADDR OF CHAR TRACE LENGTH LDA A,I ADA EFIXL ADA .3 CMA,INA A = EQTX LENGTH - (FIXED LENGTH ADA EQTXP,I + CHAR TRACE +3) SSA EVENT TRACE LENGTH > 2? JMP ASCII-2 NO, ERROR: BYPASS EXEC CALL LDA LU,I GET LOG UNIT # IOR B100 SET FUNCTION CODE =1 (INITLIZE) STA LU LDA EQTXP A =ADDR OF EQTX ADA EFIXL A =ADDR OF TRACE TABLE STA B INB INIT WORD 1 OF 1ST ENTRY STB A,I IN TRACE TABLE ADB M2 B =ADDR OF TRACE TABLE -1 STA B,I INIT OLDEST ENTRY ADDR ADB M1 B =ADDR OF TRACE TABLE -2 STA B,I INIT NEWEST ENTRY ADDR JSB EXEC MAKE CONTROL (INITIALIZE) REQ DEF *+6 DEF .2 SPECIFY WRITE DEF LU CONTROL WORD: FUNCTION & LU DEF EQTXP,I EQT EXTENSION BUFFER DEF .3 DUMMY PARAMETER DEF OP1 CLA SET A =0 TO IND A GOOD REQ JMP SLC,I RETURN * .23 DEC 23 DEC 23, OCT 27 .61 DEC 61 M59 DEC -59 M64 DEC -64 OCT 177700, DEC -64 .SLCC DEF SLCC ADDR OF SLC CONTROL ROUTINE .SLCR DEF SLCR READ ROUTINE .SLCW DEF SLCW WRITE ROUTINE OP1 OCT 40103 OPTIONAL PARAMETER .22 DEC 22 SYN SKP * SLC CONTROL ROUTINE FOR LOGICAL DRIVER * SLCC NOP STB PHB SAVE B-REG LDB SLCC GET RETURN ADDRESS JSB SETUP SET UP RETURN ADDR & PTRS LDB PHB GET B-REG FROM PHYSICAL SSB,RSS IS THIS A NEW REQUEST (B NEG)? JMP SLCER NO, ERROR LDB B300 SPECIFY CONTROL: REQ CODE OFFSET JSB TRAIN GET FUNCTION & INIT TRACE ENTRY CPA .1 INITIALIZE? JMP CF01 YES CPA .2 LINE OPEN? JMP CF02 YES CPA .3 LINE CLOSE? JMP CF02 YES ADA M32 SUBTRACT OCT 40 FROM FUNCTION CPA .2 CHANGE ERROR RECOVERY PARAMS? JMP CF42 YES CPA .3 ZERO THE LONG TERM STATISTICS? JMP CF43 YES SSA,RSS FUNCTION BELOW 40? JMP SLCER NO,ERROR CLA YES CLB JMP PRET,I LET PHYSICAL (P+2) LOOK AT FUNCT * CF01 CLA SET STATE = 0 (UNOPENED) STA STATE,I * ------------------------------------------------- * COMPLETE "CONTINUATION" RETURN TO PHYSICAL * SLCPC LDA PRET SPECIFY CONTINUATION CLB & COMP STATUS = 0 = OK JMP SLCXT+2 * ------------------------------------------------- CF02 ADA M2 GET EVENT NO. (0 OR 1) JMP SEA GO TO STATE-EVENT-ACTION CIRCLE CF42 LDA EQT10,I GET SPECIFIED # LDA A,I CMA,INA MAKE NEGATIVE STA NTRY,I AND SAVE LDA EQT11,I GET # OF 3-SEC PERIODS IN LTO CMA,INA MAKE NEG STA NLTO,I & SAVE JMP SLCXT EXIT WITH STATUS =OK CF43 JSB ZSTAT ZERO THE LONG TERM STATISTICS JMP SLCXT EXIT WITH STATUS =OK * SLCER CLB,INB COMP STATUS =INVALID REQUEST =1 JMP SLCXT+1 * ------------------------------------------------- * COMPLETION RETURN TO PHYSICAL * SLCXT CLB COMPLETION STATUS =OK =0 LDA PRETF SPECIFY COMPLETION STA PRETV & SET UP RETURN LDA MPFLS,I AND M3 CLEAR SEND-CONTINUE FLAG (BIT 1) STA MPFLS,I LDA ET04,I AND HFF00 MASK OUT OLD COMP STATUS IOR B & PUT NEW ONE LDB BLKSP,I PLUS THE BLOCK SPEC BITS BLF (MOVED TO BITS 7-5) RBL,RBL SLB,RSS IS THIS A WRITE REQ? IOR B NO, PUT BLK SPEC INTO STATUS STA ET04,I RIGHT HALF OF EQT 4 * ------------------------------------------------- * ROUTINE TO COMPLETE TRACE TABLE ENTRY * AND B377 ALF,ALF MOVE COMPLETION STATUS TO LEFT LDB TRNEW,I B =ADDR OF CURRENT ENTRY WORD 1 JSB TRINC GET ADDR OF ENTRY WORD 2 IOR B,I MERGE IN REQUEST & FUNCTION CODE STA B,I & STORE BACK IN WORD 2 LDB TRNEW,I LDB B,I B = ADDR OF NEXT WORD TO BE FILLD STB TRTMP SAVE IT (NOW ADDR OF NEXT ENTRY) JSB TRINC GET ADDR OF WORD AFTER NEXT STB A JSB TRACE INIT WORD 1 FOR NEXT ENTRY LDB TRNEW,I B =ADDR OF CURRENT ENTRY WORD 1 LDA TRTMP A =ADDR OF NEXT ENTRY WORD 1 STA B,I RESTORE PTR TO NEXT ENTRY STA TRNEW,I & SET NEXT ENTRY =CURRENT ENTRY CLA CLB JMP PRETV,I RETURN TO PHYSICAL SPC 4 * SLC READ ROUTINE FOR LOGICAL DRIVER * SLCR NOP STB PHB SAVE B-REG LDB SLCR GET RETURN ADDRESS JSB SETUP SET UP RETURN ADDR & PTRS LDB PHB GET B-REG FROM PHYSICAL SSB,RSS IS THIS A NEW REQUEST (B NEG)? JMP LCONT NO, CONTINUE READ/WRITE LDA NTRY,I STA RTCTR,I INIT RETRY CTR ISZ LTCS,I INC TOTAL # OF READ REQUESTS NOP NULL IN CASE OF ROLLOVER LDB B100 SPECIFY READ: REQ CODE OFFSET JSB TRAIN GET FUNCTION & INIT TRACE ENTRY SZA,RSS FUNCTION = 0? JMP SLCER YES,ERROR CPA .7 FUNCTION = 7? JMP SLCER YES, ERROR INA GET EVENT NO. (2 THROUGH 7) STA CURRQ,I SAVE CURRENT READ REQ # JMP SEA GO TO STATE-EVENT-ACTION CIRCLE SPC 4 * SLC WRITE ROUTINE FOR LOGICAL DRIVER * SLCW NOP STB PHB SAVE B-REG LDB SLCW GET RETURN ADDRESS JSB SETUP SET UP RETURN ADDR & PTRS LDB PHB GET B-REG FROM PHYSICAL SSB,RSS IS THIS A NEW REQUEST (B NEG)? JMP LCONT NO, CONTINUE READ/WRITE LDA NTRY,I STA RTCTR,I INIT RETRY CTR LDA LTCS A=ADDR OF WORD 1, LONG-TERM STAT INA ISZ A,I INC TOTAL # OF WRITE REQUESTS NOP NULL IN CASE OF ROLLOVER LDB B200 SPECIFY WRITE: REQ CODE OFFSET JSB TRAIN GET FUNCTION & INIT TRACE ENTRY ADB B2000 SET BIT 10 TO IND WRITE STB BLKSP,I SAVE BLOCK SPEC BITS SLB,RSS TRANSPARENT TEXT TO BE SENT? JMP *+4 NO LDB ENVIR,I SSB LRC SPECIFIED? JMP SLCER YES, ERROR SZA,RSS FUNCTION = 0? JMP SLCER YES,ERROR ADA M7 SSA,RSS FUNCTION > 6? JMP SLCER YES, ERROR ADA .14 GET EVENT NO. (8 THROUGH 13) JMP SEA GO TO STATE-EVENT-ACTION CIRCLE * LCONT LDB KEY,I B = ADDR OF EDITOR ENTRY LDA PHA GET A-REG PASSED BY PHYSICAL JMP B,I * HE000 OCT 160000 OCT 160000 SPC 6 * STATE-EVENT-ACTION CIRCLE -- A STATE-TRANSITION PROCESSOR * * CALLING SEQUENCE: * (A) = EVENT # * (P) = JMP SEA * (A) = MESSAGE PROCESSOR FLAGS * SEA STA EVENT SAVE EVENT # LDA PRVST,I GET PREVIOUS STATES, AND B377 ISOLATE PREV-1, ALF,ALF & MOVE TO LEFT HALF LDB STATE,I GET CURRENT STATE (NOW PREV) IOR B MERGE IN PREV STATE STA PRVST,I ADB STADT ADD STATE TABLE BASE, GET ENTRY STB A INA LDA A,I GET ADDR OF NEXT STATE STA NEXST LDB B,I GET CLUSTER HEADER ADDR PCLUS LDA B,I GET CLUSTER HEADER INB STB CLUST SAVE ADDR OF 1ST CLUSTER WORD CLB RRR 8 A = 1ST EVENT IN CLUSTER BLF,BLF & B = -1 + LENGTH OF CLUSTER CMA,INA ADA EVENT COMPUTE REAL EVENT - 1ST EVENT SSA RESULTS NEG (EVENT BELOW CLUST)? JMP SEAER YES, ERROR STA EVOFF SAVE EVENT OFFSET CMA,INA ADA B COMPUTE CLUSTER LENGTH - OFFSET SSA RESULTS NEG (EVENT ABOVE CLUST)? JMP EVOUT YES LDB CLUST ADB EVOFF B = ADDR OF ACTION/NEXT STATE PR LDA B,I SEAF CLB RRR 8 A = ACTION INDEX BLF,BLF & B = NEXT STATE STB STATE,I STA CURAC SAVE ACTION LDA EVENT ALF,ALF GET WORD READY FOR TRACE TABLE: IOR B EVENT & RESULTANT STATE JSB TRACE LDA PRVAC,I AND B377 ISOLATE PREVIOUS ACTION ALF,ALF IOR CURAC MERGE IN CURRENT ACTION STA PRVAC,I & SAVE LDA CURAC ADA ACTAD A = ADDR OF APPROPRIATE ACTION: LDB A,I LDA MPFLS,I JMP B,I GO TO ACTION EVOUT ADB CLUST INB B = ADDR OF NEXT CLUSTER HEADER CPB NEXST ARE WE THROUGH WITH THIS STATE? JMP SEAER YES, ERROR SINCE EVENT NOT FOUND JMP PCLUS NO, PROCESS NEXT CLUSTER SEAER LDA BLOUT SET ACTION/NEXT STATE TO HANDLE JMP SEAF IMPROBABLE SITUATION * CLUST OCT 0 ADDR OF 1ST CLUSTER ENTRY CURAC OCT 0 CURRENT ACTION EVENT OCT 0 CURRENT EVENT # EVOFF OCT 0 OFFSET OF EVENT FROM CLUSTER NEXST OCT 0 ADDR OF ENTRY FOR NEXT STATE SKP * SUBROUTINE SCM: SEND CONTROL MESSAGE (ID, IF ANY, HAS * BEEN SENT ALREADY) * (A) = INDEX OF MESSAGE TO BE SENT: * 0 = ENQ 5 = WACK * 1 = NAK 6 = RVI * 2 = EOT 7 = DLE EOT * 3 = ACK0 8 = TTD (STX ENQ) * 4 = ACK1 9 = SOH ENQ * SCM NOP STA SCMTP LDB SCM STB CMRET,I SAVE SCM RETURN ADA ASCMA LDA A,I A = ADDR OF MESSAGE JSB HCONT NOP SZA SEND OK? JMP LOW NO, SET EVENT =LINE ERROR (LOW) LDA CMRET,I GET RETURN FROM SCM JMP STXT4 INC # OF MESSAGES SENT SCMTP OCT 0 TEMP FOR SCM SKP * SUBROUTINE SETUP: SET UP RETURN ADDRESSES TO PHYSICAL * DRIVER & EQTX POINTERS * (A) = A-REG PASSED BY PHYSICAL * (B) = P+1 RETURN OF CURRENT SLC ROUTINE * (P) = JSB SETUP * SETUP NOP STA PHA SAVE A-REG PADDED BY PHYSICAL STB PRETF SAVE P+1 (COMPLETION) ADDR INB STB PRET SAVE P+2 (CONTINUATION) ADDR LDB EQTAD B = EQT 1 ADDR ADB .3 B = EQT 4 ADDR CPB ET04 ALREADY CONFIGURED FOR THIS EQT? JMP SETUP,I YES STB ET04 ADB .6 B = EQT 10 ADDR STB ET10 INB B = EQT 11 ADDR STB ET11 ADB .3 B = EQT 14 ADDR STB ET14 ADB .3 B = EQT 17 ADDR LDB B,I B = EQTX 1 ADDR LDA B,I COMPUTE TOTAL EQTX LENGTH ADA EFIXC -(1 + FIXED LENGTH) ADB .22 EQTX 23 STB BLKSP BLOCK SPEC BITS INB EQTX 24 STB EBUFA EDITOR BUFFER ADDR INB EQTX 25 STB EBUFL EDITOR BUFFER LENGTH ADB .2 EQTX 27 STB ERET EDITOR RETURN ADDR ADB .6 EQTX 33 STB KEY ENTRY AFTER PHYS RECALL ADB .2 EQTX 35 STB MPFLS MESSAGE PROCESSOR FLAGS INB EQTX 36 STB NTRY NUMBER OF RETRIES INB EQTX 37 STB RTCTR RETRY CTR ADB .2 EQTX 39 STB CONVL CONVERSTNL BUFFER LENGTH INB EQTX 40 STB CURRQ CURRENT READ REQ # ADB .2 EQTX 42 STB NLTO # OF 3-SECS IN LONG T/O INB EQTX 43 STB PRVAC PREV & CURRENT ACTIONS INB EQTX 44 STB PRVST PREV-1 & PREV STATES INB EQTX 45 STB PVACK CODE FOR PREV ACK ADB .3 EQTX 48 STB STATE MAIN SLC STATE NUMBER INB EQTX 49 STB TOCTR LONG-TIMEOUT CTR INB EQTX 50 STB CMBUF CONTROL MESSAGE BUFFER ADB .8 EQTX 58 STB CMRET SCM RETURN ADDR INB EQTX 59 STB TXRET STXT RETURN ADDR INB EQTX 60 STB TLOG TRANSMISSION LOG (POSTV) INB EQTX 61 STB ENVIR SPECIFIED ENVIRONMENT INB EQTX 62 STB CTLEN CHAR TRACE LENGTH INB EQTX 63 STB LTCS LONG-TERM COMM STATISTCS ADB .12 EQTX 75 STB TRNEW ADDR OF NEWST TRACE NTRY INB EQTX 76 STB TROLD ADDR OF OLDST TRACE NTRY INB EQTX 77 STB TRFWA TRACE TABLE 1ST WORD ADB A EQTX LWA STB CTLWA CHAR TRACE LAST WORD LDA CTLEN,I CMA,INA ADB A STB TRLWA EVENT TRACE LAST WORD JMP SETUP,I * EFLEN EQU 76 LENGTH OF EQTX - TRACE TABLE EFIXC ABS -1-EFLEN -1( + FIXED-LENGTH PART OF EQTX) EFIXL DEF EFLEN FIXED LENGTH OF EQT EXTENSION SPC 4 * SUBROUTINE STXT: SEND TEXT * STXT NOP LDA MPFLS,I AND HFFBF CLEAR MP TIMEOUT FLAG (BIT 6) STA MPFLS,I LDA STXT STA TXRET,I SAVE STXT RETURN CLA STA TLOG,I ZERO TRANSMISSION LOG LDA ET10,I A = BUFFER ADDR LDB ET11,I JSB HSND NOP NOP SZA SEND OK? JMP LOW NO, SET EVENT =LINE ERROR(LOW) LDA NLTO,I STA TOCTR,I RESET LONG-TIME-OUT CTR LDA MPFLS,I AND M3 CLEAR SEND-CONTINUE FLAG STA MPFLS,I LDA TXRET,I GET RETURN FROM STXT STXT4 LDB .2 INC # OF MESSAGES SENT; ADB LTCS WORD 3 OF LONG-TERM STAT ISZ B,I NOP NULL IN CASE OF ROLLOVER JMP A,I RETURN HFFBF OCT 177677 REVERSE MASK BIT 6 SPC 2 * SUBROUTINE STXCH: SEND TEXT CHARACTERS * (A) = INDEX OF MESSAGE TO BE SENT * 10 = SOH 11 = STX ) ONE CHAR * 12 = ETX 13 = ETB ) * 14 = DLE STX 15 = DLE ETX ) TWO CHAR * 16 = DLE ETB ) STXCH NOP STA SCMTP ADA ASCMA LDA A,I A = ADDR OF CHARS LDB SCMTP ADB M14 COMPUTE INDEX - 14 SSB INDEX 14 OR MORE? JMP *+3 NO LDB M3 YES: IN EITHER CASE, RSS LDB M2 B = - (1 + # OF CHARS) JMP STXCH,I RETURN SKP * SUBROUTINE TRACE: PUT WORD INTO TRACE TABLE * (A) = WORD TO BE STORED * TRACE NOP LDB TRNEW,I A =ADDR OF CURRENT ENTRY, WORD 1 LDB B,I B =ADDR OF NEXT WORD TO BE FILLD CPB TROLD,I MATCH ADDR OF OLDEST ENTRY? RSS YES JMP *+5 NO LDB B,I B =ADDR OF NEXT-TO-OLDEST ENTRY STB TROLD,I UPDATE PTR TO OLDEST ENTRY LDB TRNEW,I LDB B,I B=ADDR OF NEXT WORD TO BE FILLED STA B,I STORE WORD IN TRACE TABLE JSB TRINC GET ADDR OF NEXT WORD TO FILL LDA TRNEW,I CPB A IS NEXT WORD = CURRENT ENTRY? RSS YES, SET NEXT WORD = ENTRY START JMP *+3 JSB TRINC ADVANCE TO 2ND WORD OF ENTRY JSB TRINC ADVANCE TO 3RD WORD OF ENTRY STB A,I UPDATE WORD 1 OF CURRENT ENTRY JMP TRACE,I SPC 2 * SUBROUTINE TRAIN: GET FUNCTION & INITIALIZE TRACE ENTRY * (B) = REQUEST CODE (OFFSET 6 BITS TO LEFT) * (P) = JSB TRAIN * (A) = FUNCTION CODE * (B) = BLOCK SPEC BITS * TRAIN NOP LDA EQT09,I GET CONTROL WORD ALF,ALF & POSITION FUNCTION RAL,RAL CPB B300 IS THIS A CONTROL REQUEST? RSS YES AND .7 ISOLATE READ/WRITE FUNCTION AND B77 ISOLATE CONTROL FUNCTION STA TRTMP & SAVE IT IOR B MERGE IN REQUEST CODE (OFFSET) JSB TRACE STORE REQ & FUNCT IN TRACE TABLE CLA STA TLOG,I STA BLKSP,I LDA EQT09,I GET CONTROL WORD ALF POSITION BLOCK SPEC BITS AND HE000 & ISOLATE THEM RAL,RAL NOW IN BITS 1,0, & 15 STA B LDA TRTMP GET FUNCTION JMP TRAIN,I TRTMP OCT 0 TRACE TABLE TEMPORARY SKP * SUBROUTINE TRINC: INCREMENTS ADDRESS IN EVENT TRACE, * CHECKING FOR WRAPAROUND * (B) = ADDR TO BE INC * TRINC NOP CPB TRLWA IS IT LAST WORD OF TABLE? JMP *+3 YES INB JMP TRINC,I LDB TRFWA WRAPAROUND TO 1ST OF TABLE JMP TRINC,I SPC 3 * SUBROUTINE ZSTAT: ZERO LONG TERM COMM. STATISTICS * ZSTAT NOP LDA M11 STA MPCTR SET COUNTER = 11 LDA LTCS A=ADDR OF WORD 1, LONG-TERM STAT CLB ZLOOP STB A,I ZERO TABLE ENTRY INA ISZ MPCTR JMP ZLOOP JMP ZSTAT,I * MPCTR OCT 0 COUNTER SKP * CONSTANTS & STORAGE FOR MESSAGE PROCESSOR ONLY * .16 DEC 16 DEC 16, OCT 20 .20 DEC 20 DEC 20, OCT 24 .27 DEC 27 DEC 27, OCT 33 .29 DEC 29 DEC 29, OCT 35 .30 DEC 30 DEC 30, OCT 34 .31 DEC 31 DEC 31, OCT 37 .32 DEC 32 DEC 32, OCT 40, BIT 5 B200 OCT 200 OCT 200, DEC 128 B300 OCT 300 OCT 300, DEC 192 B2000 OCT 002000 OCT 2000, BIT 10, LEFT 4 H1400 OCT 012000 LEFT HALF = DEC 20 HBFFF OCT 137777 OCT 137777, REVERSE BIT 14 HEFFF OCT 167777 OCT 167777, REVERSE BIT 12 HFF00 OCT 177400 M11 DEC -11 DEC -11, OCT 177765 M14 DEC -14 DEC -14, OCT 177762 M17 DEC -17 DEC -17, OCT 177757, REV BIT 4 M20 DEC -20 DEC -20, OCT 177754, OCT -24 M32 DEC -32 DEC -32, OCT 177740, OCT -40 * PHA OCT 0 A-REG ON ENTRY FROM PHYSICAL PHB OCT 0 B-REG ON ENTRY FROM PHYSICAL PRETV OCT 0 VARIABLE RETURN TO PHYSICAL * * EQT POINTERS ET04 OCT 0 PTR TO COMPLETION STATUS IN EQT ET11 OCT 0 PTR TO EQT 11: REQ BUFFER LENGTH ET14 OCT 0 PTR TO TRANS LOG IN EQT 14 * * EQT EXTENSION POINTERS * CMRET OCT 0 PTR TO SCM RETURN CONVL OCT 0 PTR TO WRITE-CONV BUFFER LENGTH CURRQ OCT 0 PTR TO CURRENT READ REQ # NLTO OCT 0 PTR TO # OF 3-SECS IN LONG TMOUT PRVAC OCT 0 PTR TO PREV ACTION: PREV,CURRENT PRVST OCT 0 PTR TO PREV STATES: PREV-1,PREV PVACK OCT 0 PTR TO CODE FOR PREV ACK STATE OCT 0 PTR TO MAIN SLC STATE NUMBER TOCTR OCT 0 PTR TO LONG-TIMEOUT CTR CMBUF OCT 0 ADDR OF CONTROL MESSAGE RECV BUF LTCS OCT 0 ADDR OF LONG-TERM COMM STATISTCS TRNEW OCT 0 ADDR OF NEWEST TRACE TABLE ENTRY TROLD OCT 0 ADDR OF OLDEST TRACE TABLE ENTRY TRFWA OCT 0 FIRST WORD ADDR OF TRACE TABLE TRLWA OCT 0 LAST WORD ADDR OF TRACE TABLE TXRET OCT 0 PTR TO STXT RETURN SKP * ASCII CONTROL MESSAGES -- WITH ODD PARITY * ASCM OCT 77776 ENQ 0 OCT 000576 NAK 1 OCT 001176 EOT 2 OCT 002176 ACK0 3 OCT 77577 PAD PAD OCT 004176 ACK1 4 OCT 77577 PAD PAD OCT 003576 WACK 5 OCT 77577 PAD PAD OCT 000376 RVI 6 OCT 77577 PAD PAD OCT 016177 EOT 7 OCT 77577 PAD PAD OCT 007176 TTD 8 OCT 00605 SOH ENQ 9 OCT 00400 SOH 10 OCT 01000 STX 11 OCT 101400 ETX 12 OCT 113400 ETB 13 OCT 10002 DLE STX 14 OCT 010203 DLE ETX 15 OCT 010227 DLE ETB 16 * ASCMA DEF *+1 ASCII CONTROL MESSAGE ADDR PTR DEF ASCM ENQ 0 DEF ASCM+1 NAK DEF ASCM+2 EOT DEF ASCM+3 ACK0 DEF ASCM+5 ACK1 DEF ASCM+7 WACK DEF ASCM+9 RVI DEF ASCM+11 DLE EOT DEF ASCM+13 TTD DEF ASCM+14 SOH ENQ DEF ASCM+15 SOH 10 TEXT DEF ASCM+16 STX 11 DEF ASCM+17 ETX 12 DEF ASCM+18 ETB 13 DEF ASCM+19 DLE STX 14 DEF ASCM+20 DLE ETX 15 DEF ASCM+21 DLE ETB 16 SPC 2