FC3IST `P5k«¾£¾ÈÚX* '$* CHANNEL TABLE MACRO DEFINITION$$*FC3CHN $MACRO BU,UN,CH,HL,PR,AC$$*BU= BASE UNIT NUMBER OF BOARD$*UN= UNIT NUMBER*CH= CHANNEL NUMBER &*NH= HIGHER LEVEL TABLE ADDRESS &*PR= PROTOCOL SELECTION .*AC= ACU CRU ADDRESS(DECIMAL EQUIVALENT). UNL#$FC3CHN $MACRO BU,UN,CH,NH,PR,AC $  $VAR XX!  $ASG 'LT' TO XX.S4 $ASG UN.V TO NH.SV  ELIMINATE UNDEFINED LABEL 4 $IF NH.S#=XX.S  REF:NH:CM:UN:& DEFLTCM:UN: LINE TABLE ADDRESS& LTCM:UN: EQU CIST:BU:   $ENDIF !  $IF UN.V#=BU.V  DEFCIST:UN:. CIST:UN: EQU CIST:BU:  IST TABLE ADDRESS .  $ENDIF ! *FC3C:UN: EQU $ CHANNEL TABLE ADDRESS *4 RORG 2*:CH.V:+FCCT:BU: RESET TO TABLE INSERTION 4. DATA FC3C:UN: CHANNEL :UN: TABLE ADDRESS .@2 RORG FC3C:UN:RESET TO CHANNEL TABLE ADDRESS 2  DATA >FFFF CHANNEL STATUS " DATA 0,0,0,0 SAVED ROSW0-3 "  DATA 0,0,0 SAVED WOSW0-3  * BYTE :UN:,:CH:  UNIT, CHANNEL NUMBER*0 DATA :NH:CM:UN: HIGHER LEVEL TABLE ADDRESS 00 DATA 0,0 NUMBER OF OUTSTANDING/TOTAL REQS 0* DATA 0,0  QUEUE OF OUTSTANDING CRBS *" DATA :PR: PROTOCOL SELECTION" DATA 0 LOST CRB COUNT  DATA 0  DSR MAP FILE ADDR   DATA :AC:ACU CRU ADDRESS   $END FC3CHN  LIST "  ASMIF DEFINE#=0* '&* CHANNEL TABLE OFFSET DEFINITIONS&  DORG 0 ! & STATE DATA >FFFF CHANNEL STATUS&( SVROSW DATA 0,0,0,0 SAVED ROSW0-3 (& SVWOSW DATA 0,0,0 SAVED WOSW1-3 &&UNITNO BYTE 0  GENUNIT NUMBER &(CHANNO BYTE 0  GENCHANNEL NUMBER(NHLTPT DATA 0 À* GENNEXT HIGHER LEVEL TABLE ADDRESS *2REQCNT DATA 0 NUMBER OF OUTSTANDING REQUESTS 2,OUTREQ DATA 0  NUMBER OF TOTAL REQUESTS ,0REQQUE DATA 0,0  OUTSTANDING REQUEST QUEUE 0&PROSEL DATA 0  PROTOCOL SELECTION&$LCRBCT DATA 0 LOST CRB COUNTER$(DSRMAP DATA 0  DSR MAP FILE ADDRESS($ACUCRU DATA 0 ACU CRU ADDRESS $2CHTLEN EQU$ LENGTH OF TABLE, NOT AN ENTRY 2  RORG "  ASMEND ! * ' * IST MACRO DEFINITION *FC3IST $MACRO UN,TI,NC *UN= BASE UNIT NUMBER *TI= TILINE ADDRESS (*NC= NUMBER OF CHANNELS AVAILABLE ( UNL# FC3IST $MACRO UN,TI,NC4 $ASG UN.V TO TI.SV  ELIMINATE UNDEFINED LABEL 4( $VAR XX VARIABLE FOR INTERNAL USE ( $ASG 0 TO XX.V  DEFCIST:UN:* CIST:UN: DATA >FFFF  NON INTERRUPT BUSY*À  FLAG * DATA 0,0  NON INTERRUPT ENTRY QUEUE *. DATA CN:UN:,0 NON INTERRUPT ENTRY VECTOR .  BYTE :UN:,0BASE UNIT TYPE , BYTE 2,>83  TABLE TYPE, FCNS SUPPORTED , DEFIT:TI:0 IT:TI: DATA CI:UN:,0 INTERRUPT ENTRY VECTOR0. DATA 0 NEXT HIGHER LEVEL TABLE ADDRESS ., DATA 0 NEXT LOWER LEVEL TABLE ADDRESS ,4CN:UN: DATA 0,0,0,0,CIST:UN:,0,0,0NI WORKSPACE4 DATA 0,0,0,0,>:TI:,0,0,0 . DEFWPCM:UN: DEF FOR INTERRUPT DECODER .WPCM:UN: EQU$ 4CI:UN: DATA 0,0,0,0,CIST:UN:,0,0,0I WORKSPACE 4 DATA 0,0,0,0,>:TI:,0,0,0 * DATA >FFFF  BOARD FAILURE INDICATOR* DATA 0,0  PENDING QUEUE" DATA 0  DEVICE ERROR COUNT ". DATA :NC: NUMBER OF SUPPORTED CHANNELS ..FCCT:UN: EQU$  START OF CHANNEL TABLE .LP $NAME" $ÀIF XX.V#=NC.V " DATA 0  CHANNEL :XX.V: TABLE" $ASG XX.V+1 TO XX.V $GOTO LP   $ENDIF !  $END FC3IST  LIST "  ASMIF DEFINE#=0* ' * ISR TABLE DEFINITION* COMMON PREFIX * DORG 0 IST BEGINNING,BASE ADDRESS=0 *,IST  EQU$  START OF IST (ISR 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 0  GENNI CODE BASE&,BASUNT BYTE 0,0  GENBASE UNIT NUMBER,2TBLTYP BYTE 2  GEN DEVICE (IST) TABLE TYPE 2:DEVFCN BYTE >B0  GENDATA BUFFERING, FILE ORIENTED :8IWSP DATA IR0  GENINTERRUPT WORKSPACE ADDRESS 8&IADD DATA 0  GENINTERRUPT PC& NHLTAD D À2ATA 0  GEN11NEXT HIGHER LEVEL TABLE ADDRESS 28NLLTAD DATA 0  GEN11NEXT LOWER LEVEL TABLE ADDRESS 8 * ISR TABLE DEFINITION * NON-INTERRUPT WORKSPACE 6NIR0 EQU$  R0 START OF NON-INT WORKSPACE 6 DATA 0  R0 TEMP DATA 0  R1 TEMP DATA 0  R2 TEMP DATA 0  R3 TEMP4NITAB 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"" DATA 0  R12GNTILINE ADDRESS" DATA 0  R13CALLING WP DATA 0  R14CALLING PC$NIST DATA 0  R15CALLING ST$ * END OF NI WORKSPACE * ' * ISR TABLE DEFINITION * INTERRUPT WORKSPACE IR0  EQUÀ$ ! DATA 0  R0 TEMP DATA 0  R1 TEMP DATA 0  R2 TEMP DATA 0  R3 TEMP2ITAB DATA IST  R4  POINT TO START OF IST 2 DATA 0  R5 TEMP 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 "(REG12 DATA 0  R12GNTILINE ADDRESS(" DATA 0  R13INTERRUPTED WP"" DATA 0  R14INTERRUPTED PC"" DATA 0  R15INTERRUPTED ST"* '$* IST EXTENSION FOR BOARD USAGE $0 STATEC DATA >FFFF  BOARD FAILURE INDICATION 0,PENDQ DATA 0,0  PENDING REQUEST QUEUE ,(DERRCT DATA 0  ERROR REQUEST COUNT (6NUMCHN DATA 4  GENNUMBER OF SUPPORTED CHANNELS 6 CHTADD D €BATA 0,0,0,0  GENCHANNEL TABLE ADDRESSES FOR USED CHANNELS B* '@* CHANNEL INFORMATION FOLLOWS AND IS NOT PART OF THIS TABLE @  EVEN " (ISTLEN EQU$  LENGTH OF ISR TABLE ( * END OF IST DEFINITION   RORG "  ASMEND !  R8  TEMP REGISTER I WORKSPCAE .*ERRREG DATA 0  R9 ERROR INDICATOR *( DATA 0  R10 TEMP REGISTER I WSP (" DATA 0  R11TEMP REGISTER "(REG12 DATA 0  R12GNTILINE ADDRESS(" DATA 0  R13INTERRUPTED WP"" DATA 0  R14INTERRUPTED PC"" DATA 0  R15INTERRUPTED ST"* '$* IST EXTENSION FOR BOARD USAGE $0 STATEC DATA >FFFF  BOARD FAILURE INDICATION 0,PENDQ DATA 0,0  PENDING REQUEST QUEUE ,(DERRCT DATA 0  ERROR REQUEST COUNT (6NUMCHN DATA 4  GENNUMBER OF SUPPORTED CHANNELS 6 CHTADD D