CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      68  CONSOLE CONTROLLER INITIALIZATION

   (3)      91  CONSOLE UNIT INITIALIZATION

   (4)     119  CONSOLE RECIEVER INTERRUPT DISPATCHER

   (5)     173  START I/O ON CONSOLE INTERFACE

   (6)     216  CONSOLE TRANSMITTER INTERRUPT SERVICE

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   1

V06                                                                                                                              (1)



                                     0000     1 	.TITLE	CONINTDSP -  CONSOLE INTERRUPT DISPATCHER

                                     0000     2 	.IDENT	/V06/

                                     0000     3 ;

                                     0000     4 ; COPYRIGHT (C) 1978

                                     0000     5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     6 ;

                                     0000     7 ; THIS SOFTWARE IS FURNISHED UNDER  A LICENSE FOR USE ONLY  ON  A

                                     0000     8 ; SINGLE COMPUTER SYSTEM AND MAY BE  COPIED ONLY WITH  THE INCLU-

                                     0000     9 ; SION OF  THE  ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE,  OR  ANY

                                     0000    10 ; OTHER COPIES THEREOF, MAY NOT BE  PROVIDED  OR  OTHERWISE  MADE

                                     0000    11 ; AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH SYSTEM

                                     0000    12 ; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

                                     0000    13 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

                                     0000    14 ;

                                     0000    15 ; THE INFORMATION IN THIS SOFTWARE  IS  SUBJECT TO CHANGE WITHOUT

                                     0000    16 ; NOTICE AND SHOULD NOT BE CONSTRUED  AS  A COMMITMENT BY DIGITAL

                                     0000    17 ; EQUIPMENT CORPORATION.

                                     0000    18 ;

                                     0000    19 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS

                                     0000    20 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    21 ;++

                                     0000    22 ;

                                     0000    23 ; FACILITY:

                                     0000    24 ;

                                     0000    25 ;	VAX/VMS TERMINAL DRIVER.

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;

                                     0000    29 ; CONSOLE INTERRUPT DISPATCHER AND DEVICE DEPENDENT SUBROUTINES.

                                     0000    30 ;

                                     0000    31 ; AUTHOR:

                                     0000    32 ;

                                     0000    33 ;	R.HEINEN 14-SEPT-76

                                     0000    34 ;--

                                     0000    35 ;

                                     0000    36 ; EXTERNAL DEFINITIONS

                                     0000    37 ;

                                     0000    38 	$DEVDEF				; DEFINE DEVICE CHARACTERISTICS

                                     0000    39 	$IDBDEF				; DEFINE IDB

                                     0000    40 	$PRDEF				; DEFINE PROCESSOR REGISTERS

                                     0000    41 	$UCBDEF				; DEFINE UCB

                                     0000    42 	

                                     0000    43 ;

                                     0000    44 ; LOCAL STORAGE

                                     0000    45 ;

                                 00000000    46 	.PSECT	$$$105_PROLOGUE

                                     0000    47 OP$DPT::				; DRIVER START

                                     0000    48 	DPTAB	-			; DRIVER PROLOGUE TABLE

                                     0000    49 		END=CON_END,-		; END OF DRIVER

                                     0000    50 		ADAPTER=UBA,-		; FAKE ADAPTER

                                     0000    51 		UCBSIZE=<^X0AC>,-	; SIZE

                                     0000    52 		NAME=OPERATOR		;

                                     001F    53 	DPT_STORE INIT

                                     001F    54 	DPT_STORE REINIT

                                     001F    55 	DPT_STORE END			;

                                     0000    56 	

                                 00000000    57 	.PSECT	$$$250,LONG,WRT

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   2

V06                                                                                                                              (1)



                                     0000    58 ;

                                     0000    59 ; OUTPUT INTERRUPT QUEUE

                                     0000    60 ;

                                     0000    61  

                                 FF  0000    62 CURR:	.BYTE	-1			;CURRENT UNIT EXPECTING OUTPUT DONE

                                 FF  0001    63 NEXT:	.BYTE	-1			;NEXT UNIT TO OUTPUT

                           00000004  0002    64 DATA:	.BLKW	1			;NEXT DATA TO OUTPUT

                                     0004    65 	

                                 00000000    66 	.PSECT	$$$115_DRIVER,LONG

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   3

V06             CONSOLE CONTROLLER INITIALIZATION                                                                                (2)



                                     0000    68 	.SBTTL	CONSOLE CONTROLLER INITIALIZATION

                                     0000    69 ;++

                                     0000    70 ; CON$INITIAL - INITIALIZE CONSOLE CONTROLLER

                                     0000    71 ;

                                     0000    72 ; FUNCTIONAL DESCRIPTION:

                                     0000    73 ;

                                     0000    74 ; THIS ROUTINE IS USED AT SYSTEM STARTUP TO INITIALIZE THE CONSOLE CONTROLLER.

                                     0000    75 ;

                                     0000    76 ; INPUTS:

                                     0000    77 ;

                                     0000    78 ;	R5 = UCB ADDRESS

                                     0000    79 ;	R9 = CRB ADDRESS

                                     0000    80 ;

                                     0000    81 ; OUTPUTS:

                                     0000    82 ;

                                     0000    83 ;	ALL REGISTERS ARE PRESERVED.

                                     0000    84 ;--

                                     0000    85 CON$INITIAL::				; INITIALIZE CONSOLE INTERFACE

            20   00000040 8F     DA  0000    86 	MTPR	#^X040,#PR$_RXCS	; ENABLE INPUT INTERRUPTS

            22   00000040 8F     DA  0007    87 	MTPR	#^X040,#PR$_TXCS	; ENABLE OUTPUT INTERRUPTS

   00000000'EF            01     AE  000E    88 	MNEGW	#1,CURR			; SET NO UNITS WAITING FOR OUTPUT

                                 05  0015    89 	RSB

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   4

V06             CONSOLE UNIT INITIALIZATION                                                                                      (3)



                                     0016    91 	.SBTTL	CONSOLE UNIT INITIALIZATION

                                     0016    92 ;++

                                     0016    93 ; CON$INITIAL - INITIALIZE CONSOLE UNIT

                                     0016    94 ;

                                     0016    95 ; FUNCTIONAL DESCRIPTION:

                                     0016    96 ;

                                     0016    97 ; THIS ROUTINE IS USED AT SYSTEM STARTUP TO INITIALIZE THE CONSOLE UNITS.

                                     0016    98 ;

                                     0016    99 ; INPUTS:

                                     0016   100 ;

                                     0016   101 ;	R5 = UCB ADDRESS

                                     0016   102 ;	R9 = CRB ADDRESS

                                     0016   103 ;

                                     0016   104 ; OUTPUTS:

                                     0016   105 ;

                                     0016   106 ;	ALL REGISTERS ARE PRESERVED.

                                     0016   107 ;--

                                     0016   108 CON$INITLINE::

         58 A5            22     B3  0016   109 	BITW	#UCB$M_INT!UCB$M_POWER,UCB$W_STS(R5); POWER FAILED OR INTERRUPT EXPECTED?

                          12     12  001A   110 	BNEQ	CON$DISCON		; IF NEQ THEN YES

         34 A5            02     E1  001C   111 	BBC	#DEV$V_TRM,UCB$L_DEVCHAR(R5),CON$DISCON; BR IF NOT TERMINAL

                          0D         0020       

         58 A5            05     E0  0021   112 	BBS	#UCB$V_POWER,UCB$W_STS(R5),CON$DISCON; BR IF POWERFAILURE

                          08         0025       

                       50 A5     B5  0026   113 	TSTW	UCB$W_REFC(R5)		; REFCOUNT 0?

                          03     12  0029   114 	BNEQ	CON$DISCON		; IF NEQ THEN NO SET UP

                          FFD2'  30  002B   115 	BSBW	TTY$SETUP_UCB		; INITIALIZE THE UCB FOR CONSOLE TERMINAL

                                     002E   116 CON$DISCON:: 				; NULL ENTRY FOR CONSOLE TERMINAL DISCONNECT

                                 05  002E   117 	RSB				;

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   5

V06             CONSOLE RECIEVER INTERRUPT DISPATCHER                                                                            (4)



                                     002F   119 	.SBTTL CONSOLE RECIEVER INTERRUPT DISPATCHER

                                     002F   120 ;++

                                     002F   121 ; CON$INTINP - CONSOLE INTERRUPT ON INPUT READY

                                     002F   122 ;

                                     002F   123 ; FUNCTIONAL DESCRIPTION:

                                     002F   124 ;

                                     002F   125 ; THIS ROUTINE IS ENTERED AS A RESULT OF A RECEIVER INTERRUPT ON THE

                                     002F   126 ; CONSOLE INTERFACE. THE INTERRUPT CAN BE GENERATED BY THE CONSOLE

                                     002F   127 ; TERMINAL OR FLOPPY DRIVE.

                                     002F   128 ;

                                     002F   129 ; CONSOLE TERMINAL:	ALL RECEIVED DATA CHARACTERS ARE CONSIDERED

                                     002F   130 ;			UNSOLICITED AND RESULT IN AN ENTRY INTO THE

                                     002F   131 ;			TERMINAL DRIVER COMMON CHARACTER BUFFERING

                                     002F   132 ;			ROUTINE "TTY$PUTNEXTCHAR".

                                     002F   133 ;

                                     002F   134 ; CONSOLE FLOPPY:	RECEIVER INTERRUPTS FROM THE CONSOLE FLOPPY

                                     002F   135 ;			MUST BE EXPECTED (UCB$V_INT = 1). IF THE 

                                     002F   136 ;			INTERRUPT IS EXPECTED THEN UCB$V_INTTYPE IS SET

                                     002F   137 ;			IN UCB$W_STS TO SIGNAL A RECEIVER INTERRUPT.

                                     002F   138 ;			THE DRIVER IS THEN ENTERED AT ITS WAIT FOR INTERRUPT

                                     002F   139 ;			CONTEXT PC.

                                     002F   140 ;

                                     002F   141 ; INPUTS:

                                     002F   142 ;

                                     002F   143 ;	R0,R1,R2,R3,R4,R5 ARE SAVED ON THE INTERRUPT STACK.

                                     002F   144 ;

                                     002F   145 ;	00(SP) = ADDRESS OF THE IDB

                                     002F   146 ;

                                     002F   147 ; OUTPUTS:

                                     002F   148 ;

                                     002F   149 ;	THE SAVED REGISTERS ARE RESTORED BEFORE REI.

                                     002F   150 ;--

                                     002F   151 CON$INTINP::

            53            21     DB  002F   152 	MFPR	#PR$_RXDB,R3		; MOVE DATA FROM INTERFACE

                                     0032   153 ;

                                     0032   154 ; GET THE ASSOCIATED UCB

                                     0032   155 ;

            54            9E     D0  0032   156 	MOVL	@(SP)+,R4		; GET IDB ADDRESS

            53         F8 8F     78  0035   157 	ASHL	#-8,R3,R2		; GET LINE NUMBER

                          52         0039       

            52       FFFC 8F     AA  003A   158 	BICW	#^C<3>,R2		;

         0B A4            52     91  003F   159 	CMPB	R2,IDB$B_UNITS(R4)	; LEGAL UNIT NUMBER?

                          17     1A  0043   160 	BGTRU	30$			; DISMIS INTERRUPT

            55         10 A442   D0  0045   161 5$:	MOVL	IDB$L_UCBLST(R4)[R2],R5	; GET THE UCB ADDRESS

         58 A5       0080 8F     A8  004A   162 	BISW	#UCB$M_INTTYPE,UCB$W_STS(R5); SET RECEIVER INTERRUPT

                                 E1  0050   163 	BBC	#DEV$V_TRM,-		; ENTER FLOPPY INTERRUPT CODE

         34 A5            02         0051   164 		UCB$L_DEVCHAR(R5),FLOPINT; IF NOT TERMINAL UCB

                          6F         0054       

                                     0055   165 ;

                                     0055   166 ; CONSOLE TERMINAL INTERRUPT

                                     0055   167 ;

                          FFA8'  30  0055   168 	BSBW	TTY$PUTNEXTCHAR		; BUFFER THE CHARACTER

                          02     13  0058   169 	BEQL	30$			; IF EQL THEN NO CHARACTER TO OUTPUT

                          03     10  005A   170 	BSBB	CON$STARTIO		; OUTPUT THE CHARACTER

                          0084   31  005C   171 30$:	BRW	DISMIS			; GO

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   6

V06             START I/O ON CONSOLE INTERFACE                                                                                   (5)



                                     005F   173 	.SBTTL	START I/O ON CONSOLE INTERFACE

                                     005F   174 ;++

                                     005F   175 ; CON$STARTIO - START I/O ON CONSOLE INTERFACE

                                     005F   176 ;

                                     005F   177 ; FUNCTIONAL DESCRIPTION:

                                     005F   178 ;

                                     005F   179 ; THIS ROUTINE IS ENTERED TO OUTPUT A CHARACTER TO THE CONSOLE INTERFACE.

                                     005F   180 ; IF THE INTERFACE IS READY THE DATA IS OUTPUT DIRECTLY. IF THE INTERFACE

                                     005F   181 ; IS NOT READY THEN THE DATA IS QUEUED AND SUBSEQUENTLY OUTPUT ON THE

                                     005F   182 ; NEXT READY INTERRUPT.

                                     005F   183 ;

                                     005F   184 ; IN EITHER CASE, A RETURN TO THE CALLER IS DONE TO ENTER A "WAIT FOR

                                     005F   185 ; INTERRUPT" STATE.

                                     005F   186 ;

                                     005F   187 ; INPUTS:

                                     005F   188 ;

                                     005F   189 ;	R3 = DATA TO OUTPUT

                                     005F   190 ;	R5 = UCB ADDRESS

                                     005F   191 ;

                                     005F   192 ; OUTPUTS:

                                     005F   193 ;

                                     005F   194 ;	R3,R4,R5 ARE PRESERVED.

                                     005F   195 ;--

                                     005F   196 CON$STARTIO::				;

                                     005F   197 ;

                                     005F   198 ; INSERT UNIT NUMBER IN DATA WORD

                                     005F   199 ;

            52         48 A5     9A  005F   200 	MOVZBL	UCB$W_UNIT(R5),R2	; PICK UP UNIT NUMBER

            08            52     F0  0063   201 	INSV	R2,#8,#2,R3		; INSERT UNIT NUMBER AND CLEAR OTHER BITS

            53            02         0066       

                                     0068   202 ;

                                     0068   203 ; INITIATE I/O IF NO PREVIOUS UNIT WAITING

                                     0068   204 ;

                 00000000'EF     95  0068   205 	TSTB	CURR			; OTHER UNIT WAITING?

                          10     19  006E   206 	BLSS	10$			; IF LSS NO, OUTPUT DATA AND RETURN

   00000001'EF            52     90  0070   207 	MOVB	R2,NEXT			; SAVE UNIT NUMBER

   00000002'EF            53     B0  0077   208 	MOVW	R3,DATA			; SAVE DATA

                          0A     11  007E   209 	BRB	20$			; EXIT

                                     0080   210 10$:					;

   00000000'EF            52     90  0080   211 	MOVB	R2,CURR			; SAVE UNIT NUMBER OF CURRENT SENDER

            23            53     DA  0087   212 	MTPR	R3,#PR$_TXDB		; SEND DATA

                                     008A   213 20$:					;

                                 05  008A   214 	RSB				;

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   7

V06             CONSOLE TRANSMITTER INTERRUPT SERVICE                                                                            (6)



                                     008B   216 	.SBTTL	CONSOLE TRANSMITTER INTERRUPT SERVICE

                                     008B   217 ;++

                                     008B   218 ; CON$INTOUT - CONSOLE TRANSMITTER INTERRUPT SERVICE

                                     008B   219 ;

                                     008B   220 ; FUNCTIONAL DESCRIPTION:

                                     008B   221 ;

                                     008B   222 ; THIS ROUTINE IS ENTERED WHEN A CONSOLE UNIT READY INTERRUPT OCCURS.

                                     008B   223 ;

                                     008B   224 ; A SEARCH IS MADE OF THE COLD STORAGE BUFFER FOR DATA TO OUTPUT.

                                     008B   225 ; IF ANY IS FOUND THEN IT IS OUTPUT. IF NO VALID DATA IS FOUND THEN

                                     008B   226 ; THE INTERRUPT STATE OF THE UNIT IS CHECKED FOR EXPECTED INTERRUPT.

                                     008B   227 ; IF NO INTERRUPT IS EXPECTED, THE INTERRUPT IS DISMISSED. IF AN INTERRUPT

                                     008B   228 ; IS EXPECTED THEN THE DRIVER IS ENTERED. IN THE CASE OF THE CONSOLE TERMINAL,

                                     008B   229 ; A SPECIFIC ROUTINE IS ENTERED TO GET THE NEXT CHARACTER AVAILABLE TO OUTPUT

                                     008B   230 ; ON THE UNIT. IN THE CASE OF THE CONSOLE FLOPPY, THE WAIT FOR INTERRUPT

                                     008B   231 ; CONTEXT IS TAKEN FROM THE UCB AND THE SPECIFIED ROUTINE IS ENTERED.

                                     008B   232 ;

                                     008B   233 ; INPUTS:

                                     008B   234 ;

                                     008B   235 ;	R0,R1,R2,R3,R4,R5 ARE SAVED ON THE INTERRUPT STACK.

                                     008B   236 ;

                                     008B   237 ;	00(SP) = ADDRESS OF THE IDB

                                     008B   238 ;

                                     008B   239 ; OUTPUTS:

                                     008B   240 ;

                                     008B   241 ;	THE SAVED REGISTERS ARE RESTORED BEFORE REI.

                                     008B   242 ;--

                                     008B   243 CON$INTOUT::				;

            54            9E     D0  008B   244 	MOVL	@(SP)+,R4		; GET ADDRESS OF IDB

            52   00000001'EF     98  008E   245 	CVTBL	NEXT,R2			; GET UNIT NUMBER OF NEXT SENDER

                          11     19  0095   246 	BLSS	10$			; IF LSS NO SENDER WAITING

   00000001'EF            01     8E  0097   247 	MNEGB	#1,NEXT			; RESET SENDER-WAITNG

            53   00000002'EF     3C  009E   248 	MOVZWL	DATA,R3			; GET DATA TO SEND

            23            53     DA  00A5   249 	MTPR	R3,#PR$_TXDB		; TRANSMIT DATA

                                     00A8   250 10$:					;

            53   00000000'EF     9A  00A8   251 	MOVZBL	CURR,R3			; GET UNIT NUMBER OF CURRENT SENDER

   00000000'EF            52     90  00AF   252 	MOVB	R2,CURR			; SET UNIT NUMBER OF NEXT CURRENT

                          53     95  00B6   253 	TSTB	R3			; SPURIOUS INTERRUPT?

                          29     19  00B8   254 	BLSS	DISMIS			; IF LSS YES

            55         10 A443   D0  00BA   255 	MOVL	IDB$L_UCBLST(R4)[R3],R5	; GET ADDRESS OF UCB

         58 A5            07     E5  00BF   256 	BBCC	#UCB$V_INTTYPE,UCB$W_STS(R5),FLOPINT ; SET OUTPUT INTERRUPT

                          00         00C3       

                                     00C4   257 FLOPINT:				;

         58 A5            00     E5  00C4   258 	BBCC	#UCB$V_TIM,UCB$W_STS(R5),10$ ; CLEAR TIMEOUT PENDING

                          00         00C8       

                                     00C9   259 10$:					;

         58 A5            01     E5  00C9   260 	BBCC	#UCB$V_INT,UCB$W_STS(R5),DISMIS ; EXIT IF NOT WAITING FOR INTERRUPT

                          15         00CD       

         34 A5            02     E1  00CE   261 	BBC	#DEV$V_TRM,UCB$L_DEVCHAR(R5),20$ ; IF BIT CLEAR, UNIT = FLOPPY

                          09         00D2       

                          FF2A'  30  00D3   262 	BSBW	TTY$GETNEXTCHAR		; GET ANOTHER CHARACTER

                          0B     13  00D6   263 	BEQL	DISMIS			; IF EQL THEN NONE TO OUTPUT

                          85     10  00D8   264 	BSBB	CON$STARTIO		; INITIATE I/O

                          07     11  00DA   265 	BRB	DISMIS			; IF EQL THEN NONE TO OUTPUT

                                     00DC   266 20$:					;

            54         14 A5     D0  00DC   267 	MOVL	UCB$L_FR4(R5),R4	; RESTORE R4 CONTEXT

                       0C B5     16  00E0   268 	JSB	@UCB$L_FPC(R5)		; ENTER FLOPPY INTERRUPT HANDLER

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   8

V06             CONSOLE TRANSMITTER INTERRUPT SERVICE                                                                            (6)



                                     00E3   269 DISMIS:					;

            50            8E     7D  00E3   270 	MOVQ	(SP)+,R0		; RESTORE REGISTERS

            52            8E     7D  00E6   271 	MOVQ	(SP)+,R2		;

            54            8E     7D  00E9   272 	MOVQ	(SP)+,R4		;

                                 02  00EC   273 	REI				;

                                     00ED   274  

                                     00ED   275 CON_END:

                                     00ED   276 	.END

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page   9

SYMBOL TABLE                                                                                                                     (6)



AT$_UBA          ********   X   03   DEV$V_SQD      = 00000005            PR$_TODR       = 0000001B            

BIT...         = 00000000            DEV$V_SWL      = 00000019            PR$_TXCS       = 00000022            

CON$DISCON       0000002E RG    05   DEV$V_TRM      = 00000002            PR$_TXDB       = 00000023            

CON$INITIAL      00000000 RG    05   DEV$V_WCK      = 0000001F            PR$_USP        = 00000003            

CON$INITLINE     00000016 RG    05   DISMIS           000000E3 R     05   PR$_WCSA       = 0000002C            

CON$INTINP       0000002F RG    05   DPT$INITAB       0000001F R     03   PR$_WCSD       = 0000002D            

CON$INTOUT       0000008B RG    05   DPT$REINITAB     0000001F R     03   TTY$GETNEXTCHAR  ********   X   05   

CON$STARTIO      0000005F RG    05   DPT$TAB          00000000 R     03   TTY$PUTNEXTCHAR  ********   X   05   

CON_END          000000ED R     05   DYN$C_DPT        ********   X   03   TTY$SETUP_UCB    ********   X   05   

CURR             00000000 R     04   FLOPINT          000000C4 R     05   UCB$B_AMOD       00000053            

DATA             00000002 R     04   GBL...         = 00000000            UCB$B_CEX        00000077            

DEV$M_ALL      = 00800000            IDB$B_TYPE       0000000A            UCB$B_CM1        0000004A            

DEV$M_AVL      = 00040000            IDB$B_UNITS      0000000B            UCB$B_CM2        0000004B            

DEV$M_CCL      = 00000002            IDB$C_LENGTH     00000030            UCB$B_DEVCLASS   00000038            

DEV$M_DIR      = 00000008            IDB$K_LENGTH     00000030            UCB$B_DEVTYPE    00000039            

DEV$M_DMT      = 00200000            IDB$L_ADP        0000000C            UCB$B_DIPL       00000052            

DEV$M_ELG      = 00400000            IDB$L_CSR        00000000            UCB$B_DX_SCTCNT  000000A6            

DEV$M_FOD      = 00004000            IDB$L_OWNER      00000004            UCB$B_ERTCNT     00000070            

DEV$M_FOR      = 01000000            IDB$L_UCBLST     00000010            UCB$B_ERTMAX     00000071            

DEV$M_GEN      = 00020000            IDB$W_SIZE       00000008            UCB$B_ESCAPE     0000004B            

DEV$M_IDV      = 04000000            NEXT             00000001 R     04   UCB$B_FEX        00000076            

DEV$M_MBX      = 00100000            OP$DPT           00000000 RG    03   UCB$B_FIPL       0000000B            

DEV$M_MNT      = 00080000            PR$_ACCR       = 00000029            UCB$B_LOCSRV     0000003C            

DEV$M_NET      = 00002000            PR$_ACCS       = 00000028            UCB$B_OFFNDX     00000094            

DEV$M_ODV      = 08000000            PR$_ASTLVL     = 00000013            UCB$B_OFFRTC     00000095            

DEV$M_RCK      = 40000000            PR$_ESP        = 00000001            UCB$B_REMSRV     0000003D            

DEV$M_REC      = 00000001            PR$_ICCS       = 00000018            UCB$B_SECTORS    0000003C            

DEV$M_RND      = 10000000            PR$_ICR        = 0000001A            UCB$B_SLAVE      00000074            

DEV$M_RTM      = 20000000            PR$_IPL        = 00000012            UCB$B_SPR        00000075            

DEV$M_SDI      = 00000010            PR$_ISP        = 00000004            UCB$B_STATE      00000052            

DEV$M_SHR      = 00010000            PR$_KSP        = 00000000            UCB$B_TRACKS     0000003D            

DEV$M_SPL      = 00000040            PR$_MAPEN      = 00000038            UCB$B_TYPE       0000000A            

DEV$M_SQD      = 00000020            PR$_NICR       = 00000019            UCB$B_VERTSZ     0000003F            

DEV$M_SWL      = 02000000            PR$_P0BR       = 00000008            UCB$C_LENGTH     00000074            

DEV$M_TRM      = 00000004            PR$_P0LR       = 00000009            UCB$C_LOGLNK   = 00000001            

DEV$M_WCK      = 80000000            PR$_P1BR       = 0000000A            UCB$K_LENGTH     00000074            

DEV$V_ALL      = 00000017            PR$_P1LR       = 0000000B            UCB$L_AMB        00000054            

DEV$V_AVL      = 00000012            PR$_PCBB       = 00000010            UCB$L_ASTQBL     00000010            

DEV$V_CCL      = 00000001            PR$_PME        = 0000003D            UCB$L_ASTQFL     0000000C            

DEV$V_DIR      = 00000003            PR$_RXCS       = 00000020            UCB$L_CPID       0000005C            

DEV$V_DMT      = 00000015            PR$_RXDB       = 00000021            UCB$L_CRB        00000020            

DEV$V_ELG      = 00000016            PR$_SBIER      = 00000034            UCB$L_DDB        00000024            

DEV$V_FOD      = 0000000E            PR$_SBIFS      = 00000030            UCB$L_DEVCHAR    00000034            

DEV$V_FOR      = 00000018            PR$_SBIMT      = 00000033            UCB$L_DEVDEPEND  0000003C            

DEV$V_GEN      = 00000011            PR$_SBIQC      = 00000036            UCB$L_DPC        00000080            

DEV$V_IDV      = 0000001A            PR$_SBIS       = 00000031            UCB$L_DUETIM     0000005C            

DEV$V_MBX      = 00000014            PR$_SBISC      = 00000032            UCB$L_DX_BFPNT   0000009C            

DEV$V_MNT      = 00000013            PR$_SBITA      = 00000035            UCB$L_DX_BUF     00000098            

DEV$V_NET      = 0000000D            PR$_SBR        = 0000000C            UCB$L_DX_RXDB    000000A0            

DEV$V_ODV      = 0000001B            PR$_SCBB       = 00000011            UCB$L_EMB        00000078            

DEV$V_RCK      = 0000001E            PR$_SID        = 0000003E            UCB$L_FIRST      00000014            

DEV$V_REC      = 00000000            PR$_SIRR       = 00000014            UCB$L_FPC        0000000C            

DEV$V_RND      = 0000001C            PR$_SISR       = 00000015            UCB$L_FQBL       00000004            

DEV$V_RTM      = 0000001D            PR$_SLR        = 0000000D            UCB$L_FQFL       00000000            

DEV$V_SDI      = 00000004            PR$_SSP        = 00000002            UCB$L_FR3        00000010            

DEV$V_SHR      = 00000010            PR$_TBIA       = 00000039            UCB$L_FR4        00000014            

DEV$V_SPL      = 00000006            PR$_TBIS       = 0000003A            UCB$L_IOQBL      00000044            

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (6)



UCB$L_IOQFL      00000040            UCB$V_JOB      = 00000000            

UCB$L_IRP        0000004C            UCB$V_LNKPRI   = 00000006            

UCB$L_LINK       0000002C            UCB$V_LTYPE    = 00000000            

UCB$L_LOGADR     00000064            UCB$V_MOUNTING = 00000009            

UCB$L_MAXBLOCK   00000084            UCB$V_MSGACK   = 00000004            

UCB$L_MEDIA      0000008C            UCB$V_MSGFLO   = 00000003            

UCB$L_NT_DATSSB  00000074            UCB$V_NOCNVRT  = 00000002            

UCB$L_NT_INTSSB  00000078            UCB$V_NT_BFROVF= 00000002            

UCB$L_OPCNT      00000060            UCB$V_NT_BREAK = 00000005            

UCB$L_OWNUIC     0000001C            UCB$V_NT_NAME  = 00000004            

UCB$L_PID        00000028            UCB$V_ONLINE   = 00000004            

UCB$L_RQBL       00000004            UCB$V_POWER    = 00000005            

UCB$L_RQFL       00000000            UCB$V_PRMMBX   = 00000000            

UCB$L_SVAPTE     00000068            UCB$V_SEGFLO   = 00000002            

UCB$L_SVPN       00000064            UCB$V_TIM      = 00000000            

UCB$L_TTCHAR     0000003C            UCB$V_TIMOUT   = 00000006            

UCB$L_VCB        00000030            UCB$V_TT_NOTIF = 00000002            

UCB$M_BACKP    = 00000020            UCB$V_TT_TIMO  = 00000001            

UCB$M_BSY      = 00000100            UCB$V_UNLOAD   = 0000000C            

UCB$M_CANCEL   = 00000008            UCB$V_VALID    = 0000000B            

UCB$M_DEADMO   = 00000400            UCB$W_BCNT       0000006E            

UCB$M_DELMBX   = 00000002            UCB$W_BCR        00000096            

UCB$M_DIAGBUF  = 00000002            UCB$W_BOFF       0000006C            

UCB$M_DX_WRITE = 00000008            UCB$W_BUFQUO     00000018            

UCB$M_ECC      = 00000001            UCB$W_BYTESTOGO  0000003E            

UCB$M_ERLOGIP  = 00000004            UCB$W_CHARGE     0000004A            

UCB$M_INT      = 00000002            UCB$W_CYLINDERS  0000003E            

UCB$M_INTTYPE  = 00000080            UCB$W_DA         0000008C            

UCB$M_JOB      = 00000001            UCB$W_DC         0000008E            

UCB$M_MOUNTING = 00000200            UCB$W_DEVBUFSIZ  0000003A            

UCB$M_NOCNVRT  = 00000004            UCB$W_DEVSTS     0000005A            

UCB$M_NT_BFROVF= 00000004            UCB$W_DIRSEQ     00000088            

UCB$M_NT_BREAK = 00000020            UCB$W_DSTADDR    00000018            

UCB$M_NT_NAME  = 00000010            UCB$W_DX_BCR     000000A4            

UCB$M_ONLINE   = 00000010            UCB$W_EC1        00000090            

UCB$M_POWER    = 00000020            UCB$W_EC2        00000092            

UCB$M_PRMMBX   = 00000001            UCB$W_ERRCNT     00000072            

UCB$M_TIM      = 00000001            UCB$W_FUNC       0000007E            

UCB$M_TIMOUT   = 00000040            UCB$W_MB_SEED    FFFFFFFC            

UCB$M_TT_NOTIF = 00000004            UCB$W_MSGCNT     00000016            

UCB$M_TT_TIMO  = 00000002            UCB$W_MSGMAX     00000014            

UCB$M_UNLOAD   = 00001000            UCB$W_NT_CHAN    0000007C            

UCB$M_VALID    = 00000800            UCB$W_OFFSET     0000008A            

UCB$S_LNKPRI   = 00000002            UCB$W_REFC       00000050            

UCB$S_LTYPE    = 00000002            UCB$W_SIZE       00000008            

UCB$T_PARTNER    0000000C            UCB$W_SRCADDR    0000001A            

UCB$V_BACKP    = 00000005            UCB$W_STS        00000058            

UCB$V_BSY      = 00000008            UCB$W_UNIT       00000048            

UCB$V_CANCEL   = 00000003            UCB$W_VPROT      0000001A            

UCB$V_DEADMO   = 0000000A            

UCB$V_DELMBX   = 00000001            

UCB$V_DIAGBUF  = 00000001            

UCB$V_DX_WRITE = 00000003            

UCB$V_ECC      = 00000000            

UCB$V_ERLOGIP  = 00000002            

UCB$V_INT      = 00000001            

UCB$V_INTTYPE  = 00000007            

CONINTDSP       -  CONSOLE INTERRUPT DISPATCHER                  21-AUG-1978 20:47:33   VAX-11 MACRO X0.3-11               Page  11

PROGRAM SECTION SYNOPSIS                                                                                                         (6)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            FFFFFFFE      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

$$$105_PROLOGUE  00000020      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$$$250           00000004      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  

$$$115_DRIVER    000000ED      05     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

16870. BYTES LEFT IN FREE MEMORY POOL.

3252. BYTES OF RECLAIMED MEMORY.

OBJ$:CONINTDSP,LIS$:CONINTDSP/-SP=EXECML$/ML,SRC$:CONINTDSP

3 MLB DIR RDS - 484 GETS TO DEFINE 15 MACROS. 31 INTER. FILE WRITES. 

