COMIST `P5†™þ¾¢·¾ÈÚ^@* '"* COMM IF IST MACRO DEFINITION""*COMIST $MACRO UN,CR,NH,PR,AC " *UN = UNIT NUMBER  *CR = CRU BASE ADDRESS**NH = NEXT HIGHER LEVEL TABLE ADDRESS * *PR = PROTOCOL NUMBER .*AC = ACU CRU ADDRESS(DECIMAL EQUIVALENT) . UNL#"COMIST $MACRO UN,CR,NH,PR,AC "* $VAR XX VARIABLES FOR INTERNAL USE * $ASG 'LT' TO XX.S4 $ASG UN.V TO NH.SV  ELIMINATE UNDEFINED LABEL 4 $IF XX.S#=NH.S  REF:NH:CM:UN:. DEFLTCM:UN: LINE TABLE ADDRESS IF NONE .LTCM:UN: EQU $!  $ENDIF ! ( CIST:UN: DATA >FFFF  NI BUSY FLAG (  DATA 0,0  NI ENTRY QUEUE  $ DATA CN:UN:,0NI ENTRY VECTOR $& DATA 0  CURRENT CONNECTED STATE &, BYTE 1,>B0  TABLE TYPE, FCNS SUPPORTED , DEFIT:CR:. IT:CR: DATA CI:UN:,0 31 INTERRUPT WORKSPACE.À, PC 6 DATA :NH:CM:UN:,0NEXT HIGHER,LOWER TABLE ADDRES68CN:UN: DATA 0,0,0,0,CIST:UN:,0,0,0 NI WORKSPACE 8 DATA 0,0,0,0,>:CR:,0,0,0 . DEFWPCM:UN: DEF FOR INTERRUPT DECODER.WPCM:UN:EQU $ >CI:UN: DATA -1,CIRB:UN:,0,CITB:UN:,CIST:UN:,0,0,0 I WS > DATA 0,0,0,0,>:CR:,0,0,0 * CPTISR  ISR CHANNEL PARAMETER TABLE*$ DATA 0,0  MODEM SERVICE WORDS $$ DATA 0,0  TIMEOUT QUEUE WORDS $& DATA 0,0,0,0,0,0 ERROR COUNTERS&  DATA :AC: ACU CRU ADDRESS H"CITB:UN: DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 XMIT XFER CONTROL BLOCKHH"CIRB:UN: DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 RCV XFER CONTROL BLOCK H $END COMIST   LIST "  ASMIF DEFINE#=0* COMMON PREFIX * DORG 0 IST BEGINNING,BASE ADDRESS=0 *"IST  EQU$ START OF IST (IS"À R TABLE) 0 NIBUSY DATA >FFFF  NON INTERRUPT BUSY FLAG 00NIQUE DATA 0,0  NON INTERRUPT ENTRY QUEUE 0$* NEWEST/OLDEST ENTRY POINTERS $6NIWSP DATA NIR0 GEN NON INTERRUPT ENTRY POINT 6* NIADD DATA COMEXT GENNI CODE BASE*6 STATE DATA >FFFF CURRENT LINE STATE 0=CONNECTED 62TBLTYP BYTE 2  GEN DEVICE (IST) TABLE TYPE 26DEVFCN BYTE >B0  GEN FILE OPIENTED, BUFFER DATA 6<IWSP DATA IR0,COMINT GENNI INTERRUPT ENTRY POINT <:NHLTAD DATA 0  GEN11NEXT HIGHER LEVEL TABLE ADDRESS :8NLLTAD DATA 0  GEN11NEXT LOWER LEVEL TABLE ADDRESS 8* ' * NON-INTERRUPT WORKSPACE 6NIR0 EQU$  R0 START OF NON-INT WORKSPACE 66MQUEUE DATA 0  R0 MISCELLANEOUS QUEUE OLDEST) 6 DATA 0  R1 TEMP DATA 0  R2 TEMP DATA 0  R3 TEMPÀ4NITAB DATA IST  R4GENPOINTER TO IST BEGINNING 40 DATA 0  R5 CONTROL BLOCK ADDRESS (TEMP) 0 DATA 0  R6 TEMPORARY  DATA 0  R7 TEMP& DATA 0  R8  ENTRY CRB ADDRESS &" DATA 0,0,0 REGISTERS R9-R11"*CRUADD DATA 0  R12GNCRU BASE ADDRESS* DATA 0  R13CALLING WP DATA 0  R14CALLING PC$NIST DATA 0  R15CALLING ST$ * END OF NI WORKSPACE * ' * INTERRUPT WORKSPACE IR0  EQU$ !B RFLAG DATA >FFFF  R0GENCURRENT RECEIVE STATE 0=CLR STR SYN B< RCBLKA DATA RRTNAD R1GENRECEIVE CONTROL BLOCK ADDRESS <:TFLAG DATA 0  R2 NUMBER OF SYNCS TO SEND, IF ANY :< TCBLKA DATA TRTNAD R3GENTRANSMIT CONTROL BLOCK ADDRESS <2ITAB DATA IST  R4GENPOINT TO START OF IST 2* DATA 0  R5  CURRENT CNTRL BLOCK ADDR*ÀESS  DATA 0  R6 TEMP DATA 0  R7 TEMP. DATA 0  R8  TEMP REGISTER I WORKSPCAE .*ERRREG DATA 0  R9 ERROR INDICATOR *( DATA 0  R10 TEMP REGISTER I WSP (" DATA 0  R11TEMP REGISTER "$ DATA 0  R12GNCRU BASE ADDRESS$" DATA 0  R13INTERRUPTED WP"" DATA 0  R14INTERRUPTED PC"" DATA 0  R15INTERRUPTED ST"* ' * CHANNEL PARAMETER TABLE ,ISRPRM CPTISR  CHANNEL PARAMETER TABLE ,* ' * TIMER INFORMATION *MDMADD DATA 0  MODEM SVC RTN ADDRESS *(MDMTIM DATA 0  MODEM TIMEOUT VALUE ( TIMEOQ DATA 0 TIMER QUEUE  TIMEOV DATA 0 TIMER VALUE  * ' * ERROR INFORMATION &DERRCT DATA 0  DEVICE ERROR COUNT&*XMTERR DATA 0  TRANSMIT ERROR COUNTER*(ROVRCT DATA 0  NUMBER OF RECEIVE OVER(ÀRUN ERRORS 4RFERCT DATA 0 NUMBER OF RECEIVE FRAMING ERRORS 44RPERCT DATA 0 NUMBERO OF RECEIVE PARITY ERRORS 48RUERCT DATA 0 NUMBER OF UNEXPLAINED RECEIVE ERRORS8* ' * GEN INFORMATION *ACUCRU DATA 0  GENR4ACU CRU ADDRESS ** '&* TRANSMIT TRANSFER CONTROL BLOCK &0TRTNAD DATA 0 TRANSMIT CHARACTER SVC ADDR 04CTBA DATA 0 CURRENT TRANSMIT BUFFER ADDRESS 4(CTMAP DATA 0  CURRENT TRANSMIT MAP(0TTIMER DATA 0 INTER CHAR XMIT TIMER VALUE 0*TTIMEO DATA 0  TRANSMIT TIMEOUT VALUE*0CTBC DATA 0 CURRENT TRANSMIT BYTE COUNT 00CTTCB DATA 0 CURRENT TRANSMIT TCB ADDRESS 0.CRFLAG DATA 0  CURRENT RECEIVE FLAG WORD ..TQOLD DATA 0  OLDEST ENTRY IN XMIT QUEUE ..TQUEUE DATA 0  NEWEST ENTRY IN XMIT QUEUE .TRSTTM DATA 0 RESTART TIMEÀR (TTEMP1 DATA 0  TRANSMIT TEMPORARY 1((TTEMP2 DATA 0  TRANSMIT TEMPORARY 2($TCBOP DATA 0 OP CODE FROM CRB$8TTICKC DATA 0 D1TRANSMIT TICK COUNTER FOR CHAR DET8* '$* RECEIVE TRANSFER CONTROL BLOCK$6RRTNAD DATA 0 RECEIVE CHARACTER ROUTINE ADDRESS 62CRBA DATA 0 CURRENT RECEIVE BUFFER ADDRESS 2(CRMAP DATA 0  CURRENT RECEIVE MAP (4RTIMER DATA 0 CURRENT RECEIVE TIMER (TEMP REG) 4*RTIMEO DATA 0  RECEIVE TIMEOUT VALUE *.CRBC DATA 0  CURRENT RECEIVE BYTE COUNT .0CRTCB DATA 0 CURRENT RECEIVE TCB ADDRESS 0.CTFLAG DATA 0  CURRENT TRANSMIT FLAG WORD ..RQOLD DATA 0  OLDEST ENTRY IN RCV QUEUE ..RQUEUE DATA 0  NEWEST ENTRY IN RCV QUEUE ."RRSTTM DATA 0 RESTART TIMER "(RTEMP1 DATA 0  RECEIVE TEMPORARY 1 (RTEMP2 DATA 0 € RECEIVE TEMPORARY 2 $RCBOP DATA 0 OP CODE FROM CRB$8RTICKC DATA 0 D1RECEIVE TICK COUNTER FOR CHAR DET 8  EVEN " (ISTLEN EQU$  LENGTH OF ISR TABLE ( * END OF IST DEFINITION   RORG "  ASMEND ! RRTNAD DATA 0 RECEIVE CHARACTER ROUTINE ADDRESS 62CRBA DATA 0 CURRENT RECEIVE BUFFER ADDRESS 2(CRMAP DATA 0  CURRENT RECEIVE MAP (4RTIMER DATA 0 CURRENT RECEIVE TIMER (TEMP REG) 4*RTIMEO DATA 0  RECEIVE TIMEOUT VALUE *.CRBC DATA 0  CURRENT RECEIVE BYTE COUNT .0CRTCB DATA 0 CURRENT RECEIVE TCB ADDRESS 0.CTFLAG DATA 0  CURRENT TRANSMIT FLAG WORD ..RQOLD DATA 0  OLDEST ENTRY IN RCV QUEUE ..RQUEUE DATA 0  NEWEST ENTRY IN RCV QUEUE ."RRSTTM DATA 0 RESTART TIMER "(RTEMP1 DATA 0  RECEIVE TEMPORARY 1 (RTEMP2 DATA 0