UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      65  READ ONLY DATA

   (2)     243  READ/WRITE DATA

   (2)     353  MAIN PROGRAM

   (2)     355  DISPLAY ROUTINE

   (2)     419  MAIN CODE

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   1

1.11                                                                                                                             (1)



                                     0000     1 ;	UETP prefix file (contains macro library file specs).

                                     0000     2 ;

                                     0000     3 	.LIBRARY	/EXECML$/	;SYSTEM MACROS

                                     0000     4 	.LIBRARY	/LIBD$:[SYSTST.OBJ]SYSTST.MLB/ ; PRIVATE UETP,SYSTST LIB

                                     0000     5 	.LIST	MEB

                                     0000     6 ;

                                     0000     1 	.TITLE UETTTYS00 - VAX/VMS UETP TERMINAL EXERCISER

                                     0000     2 	.IDENT	/1.11/

                                     0000     3 ;

                                     0000     4 ; COPYRIGHT (C) 1978

                                     0000     5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     6 ;

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

                                     0000     8 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000     9 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000    10 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000    11 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000    12 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000    13 ; REMAIN IN DEC.

                                     0000    14 ;

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

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

                                     0000    17 ; 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 ;++

                                     0000    24 ; FACILITY:

                                     0000    25 ; 	THIS MODULE WILL BE DISTRIBUTED WITH VAX/VMS UNDER THE UETP UIC.

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;	THIS MODULE EXERCISES ANY TERMINAL IN THE STARLET SYSTEM USING

                                     0000    29 ;	THE SYSTEM SERVICE $QIO I/O FUNCTION.

                                     0000    30 ;

                                     0000    31 ; ENVIRONMENT:

                                     0000    32 ; 	THE MODULE WILL RUN IN USER ACCESS MODE, WITH INTERRUPTS ENABLED

                                     0000    33 ;	AT ALL TIMES.  AN AST LIMIT MINIMUM OF 10(10) AND A BUFFERED

                                     0000    34 ;	I/O LIMIT MINIMUM OF 10(10) ARE REQUIRED TO RUN THIS PROGRAM.

                                     0000    35 ;

                                     0000    36 ; AUTHOR: LARRY JONES,	CREATION DATE: NOVEMBER, 1977

                                     0000    37 ;

                                     0000    38 ; MODIFIED BY:

                                     0000    39 ;

                                     0000    40 ;	, : VERSION

                                     0000    41 ; 1.0	- 

                                     0000    42 ; 1.01	-	FIXED PAGE NUMBER OVER FLOW ERROR   RAB 13-JAN-78

                                     0000    43 ;		ADDED 132 COLUMN SUPPORT, AND FIXED

                                     0000    44 ;		CHANNEL 0 DEASSIGN PROBLEM		LDJ 17-JAN-78

                                     0000    45 ; 1.02	-	FIXED TERMINAL TYPE IDENTIFIER PROB.	LDJ 26-JAN-78

                                     0000    46 ;		AND CLEANED UP SOME COMMENTS

                                     0000    47 ; 1.03 -	FIXED VT05 TERMINAL TEST AND HANG ON NO UNITS LDJ 30-JAN-78

                                     0000    48 ; 1.04 -	CHANGE LOGICAL NAMES TO UETP$xxxx   RAB 31-JAN-78

                                     0000    49 ; 1.05 -	CHANGE U TO 'Y' AS VALUE FOR UETP$DETACH  RAB 7-MAR-78

                                     0000    50 ; 1.06 -	CHANGE XIT CODE TO CTRLNAME FOR PDEV MSG USE  RAB 20-MAR-78

                                     0000    51 ; 1.07 -	FIX LINE LENGTH BUG, CHANGED VT05 LINE/PAGE,& LISTED DATA

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   2

1.11                                                                                                                             (1)



                                     0000    52 ; 1.08 -	CHANGE OUTPUT REG USED BY CNVTAH SUBROUTINE  RAB 27-APR-78

                                     0000    53 ; 1.09 -	CHANGE FATAL MESSAGE TO ERROR MSG IN PUTMSG CALLS RAB 16-MAY-78

                                     0000    54 ; 1.10 -	FIX LA36, HEADER LINES		RAB 17-AUG-78

                                     0000    55 ; 1.11 -	MOVE SETEF #64 UP TO AVOID HANG ERR  RAB 18-AUG-78

                                     0000    56 ;--

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   3

1.11            READ ONLY DATA                                                                                                   (2)



                                     0000    59 	.SBTTL	READ ONLY DATA

                                 00000000    60 	.PSECT	RODATA,NOEXE,NOWRT,LONG

                                     0000    61 ;

                                     0000    62 ;	DEFINITIONS

                                     0000    63 ;

                                     0000    64 ;

                                     0000    65 ;

                           0000000D  0000    66 	CR=13

                           0000000A  0000    67 	LF=10

                                     0000    68 ;

                                     0000    69 ;

                           00000035  0000    70 	LA36_LIN_PER=53

                           00000012  0000    71 	VT05_LIN_PER=18

                           00000016  0000    72 	VT52_LIN_PER=22

                                     0000    73 ;

                           0000000B  0000    74 	VIDEO_PAGES = 11	; THIS MAKES 10 PAGES OF OUTPUT

                           00000003  0000    75 	HARD_COPY_PAGES=3	; THIS MAKES 2 PAGES OF OUTPUT

                                     0000    76 ;

                           00000001  0000    77 	BIT0=1		; ONE BIT MASK

                           00000002  0000    78 	BIT1=2

                                     0000    79 ;

                                     0000    80 ;

                                     0000    81 ;

                                     0000    82 TSTNAM:

                                     0000    83 	STRING	I,<UETTTYS00>

                           00000009  0000       	.LONG	$$$CHARS

                           00000008' 0004       	.ADDRESS .+4

         30 30 53 59 54 54 54 45 55  0008       	.ASCII	\UETTTYS00\

                                     0011    84 CNTRLCMSG:

                                     0011    85 	STRING	I,<aborted via a user control C>

                           0000001C  0011       	.LONG	$$$CHARS

                           00000019' 0015       	.ADDRESS .+4

20 61 69 76 20 64 65 74 72 6F 62 61  0019       	.ASCII	\aborted via a user control C\

72 74 6E 6F 63 20 72 65 73 75 20 61  0025       

                        43 20 6C 6F  0031       

                                     0035    86 CLUSTER2:

                                     0035    87 	STRING	I,<CLUSTER2>

                           00000008  0035       	.LONG	$$$CHARS

                           0000003D' 0039       	.ADDRESS .+4

            32 52 45 54 53 55 4C 43  003D       	.ASCII	\CLUSTER2\

                                     0045    88 LOGNAM:

                                     0045    89 	STRING	I,<UETP$CTRLNAME>

                           0000000D  0045       	.LONG	$$$CHARS

                           0000004D' 0049       	.ADDRESS .+4

4D 41 4E 4C 52 54 43 24 50 54 45 55  004D       	.ASCII	\UETP$CTRLNAME\

                                 45  0059       

                                     005A    90 LOGNAM1:

                                     005A    91 	STRING	I,<UETP$DETACH>

                           0000000B  005A       	.LONG	$$$CHARS

                           00000062' 005E       	.ADDRESS .+4

   48 43 41 54 45 44 24 50 54 45 55  0062       	.ASCII	\UETP$DETACH\

                                     006D    92 TTNAM:

                                     006D    93 	STRING	I,<TT>

                           00000002  006D       	.LONG	$$$CHARS

                           00000075' 0071       	.ADDRESS .+4

                              54 54  0075       	.ASCII	\TT\

                                     0077    94 FILE_NAME_STR:

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   4

1.11            READ ONLY DATA                                                                                                   (2)



                           0000000D' 0077    95 	.LONG	NAME_SIZE

                           0000007F' 007B    96 	.ADDRESS FILE_NAME

                                     007F    97 FILE_NAME:

41 44 2E 56 45 44 49 4E 49 54 45 55  007F    98 	.ASCII	/UETINIDEV.DAT/

                                 54  008B       

                           0000000D  008C    99 	NAME_SIZE=.-FILE_NAME

                                     008C   100 PAGE_HEAD0:				; HARD COPY HEADER

                           00000035' 008C   101 	.LONG	PAGE_HEADL

                           00000094' 0090   102 	.ADDRESS .+4

                        20 0A'0A'0D' 0094   103 	.BYTE	CR,LF,LF,^A/ /

50 54 45 55 20 53 4D 56 2F 58 41 56  0098   104 	.ASCII	'VAX/VMS UETP TTY TEST FOR !AS AT !%D PAGE !UL!/!/'

4F 46 20 54 53 45 54 20 59 54 54 20  00A4       

44 25 21 20 54 41 20 53 41 21 20 52  00B0       

21 2F 21 4C 55 21 20 45 47 41 50 20  00BC       

                                 2F  00C8       

                                     00C9   105 PAGE_HEAD1:				; VT52,5 HEADER

                           00000035' 00C9   106 	.LONG	PAGE_HEADL

                           000000D1' 00CD   107 	.ADDRESS .+4

                        4A 1B 48 1B  00D1   108 	.BYTE	^X1B,^X48,^X1B,^X4A	; HOME AND CLEAR

50 54 45 55 20 53 4D 56 2F 58 41 56  00D5   109 	.ASCII	'VAX/VMS UETP TTY TEST FOR !AS AT !%D PAGE !UL!/!/'

4F 46 20 54 53 45 54 20 59 54 54 20  00E1       

44 25 21 20 54 41 20 53 41 21 20 52  00ED       

21 2F 21 4C 55 21 20 45 47 41 50 20  00F9       

                                 2F  0105       

                           00000035  0106   110 	PAGE_HEADL=.-PAGE_HEAD1-8

                                     0106   111 PAGE_HEAD2:				; VT05 HEADER

                           00000036  0106   112 	.LONG	PAGE_HEADL+1

                           0000010E' 010A   113 	.ADDRESS .+4

                     1F 00 00 00 1D  010E   114 	.BYTE	29,0,0,0,31

50 54 45 55 20 53 4D 56 2F 58 41 56  0113   115 	.ASCII	'VAX/VMS UETP TTY TEST FOR !AS AT !%D PAGE !UL!/!/'

4F 46 20 54 53 45 54 20 59 54 54 20  011F       

44 25 21 20 54 41 20 53 41 21 20 52  012B       

21 2F 21 4C 55 21 20 45 47 41 50 20  0137       

                                 2F  0143       

                                     0144   116 ;

                                     0144   117 DATA132:

                           00000030  0144   118 	A=^X30

                                     0144   119 	.REPT	52

                                     0144   120 	.BYTE	A

                                     0144   121 	A=A+1

                                     0144   122 	.ENDR

                                 30  0144       	.BYTE	A

                                 31  0145       	.BYTE	A

                                 32  0146       	.BYTE	A

                                 33  0147       	.BYTE	A

                                 34  0148       	.BYTE	A

                                 35  0149       	.BYTE	A

                                 36  014A       	.BYTE	A

                                 37  014B       	.BYTE	A

                                 38  014C       	.BYTE	A

                                 39  014D       	.BYTE	A

                                 3A  014E       	.BYTE	A

                                 3B  014F       	.BYTE	A

                                 3C  0150       	.BYTE	A

                                 3D  0151       	.BYTE	A

                                 3E  0152       	.BYTE	A

                                 3F  0153       	.BYTE	A

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   5

1.11            READ ONLY DATA                                                                                                   (2)



                                 40  0154       	.BYTE	A

                                 41  0155       	.BYTE	A

                                 42  0156       	.BYTE	A

                                 43  0157       	.BYTE	A

                                 44  0158       	.BYTE	A

                                 45  0159       	.BYTE	A

                                 46  015A       	.BYTE	A

                                 47  015B       	.BYTE	A

                                 48  015C       	.BYTE	A

                                 49  015D       	.BYTE	A

                                 4A  015E       	.BYTE	A

                                 4B  015F       	.BYTE	A

                                 4C  0160       	.BYTE	A

                                 4D  0161       	.BYTE	A

                                 4E  0162       	.BYTE	A

                                 4F  0163       	.BYTE	A

                                 50  0164       	.BYTE	A

                                 51  0165       	.BYTE	A

                                 52  0166       	.BYTE	A

                                 53  0167       	.BYTE	A

                                 54  0168       	.BYTE	A

                                 55  0169       	.BYTE	A

                                 56  016A       	.BYTE	A

                                 57  016B       	.BYTE	A

                                 58  016C       	.BYTE	A

                                 59  016D       	.BYTE	A

                                 5A  016E       	.BYTE	A

                                 5B  016F       	.BYTE	A

                                 5C  0170       	.BYTE	A

                                 5D  0171       	.BYTE	A

                                 5E  0172       	.BYTE	A

                                 5F  0173       	.BYTE	A

                                 60  0174       	.BYTE	A

                                 61  0175       	.BYTE	A

                                 62  0176       	.BYTE	A

                                 63  0177       	.BYTE	A

                                     0178   123 DATA:

                           00000030  0178   124 	A=^X30

                           00000050  01C8   131 	DATAL=.-DATA

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   6

1.11            READ ONLY DATA                                                                                                   (2)



                                     01C8   133 	.MACRO	TERMTEST	N

                                     01C8   134 SUCA'N:

                                     01C8   135 		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

                                     01C8   136 		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                                     01C8   137 		BNEQ	5$		; BR IF YES

                                     01C8   138 		INCL	LINES'N		; INCREMENT ITERATION COUNT

                                     01C8   139 		CMPB	LINES'N,TTY_CHAR'N ; IS THIS PAGE DONE?

                                     01C8   140 		BNEQ	20$		; BR IF NOT

                                     01C8   141 		CLRL	LINES'N		; RESET THE LINE COUNT

                                     01C8   142 		INCL	ITER'N		; BUMP PAGE COUNT

                                     01C8   143 		CMPB	ITER'N,TTY_CHAR'N+1 ; IS THIS TTY  DONE?

                                     01C8   144 		BNEQ	30$		; BR IF NOT

                                     01C8   145 5$:

                                     01C8   146 		BISB2	#1@N,DONE_FLAG	; SET DONE FLAG

                                     01C8   147 		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                                     01C8   148 		BEQL	10$		; BR IF YES

                                     01C8   149 		BRW	70$		; RET

                                     01C8   150 10$:

                                     01C8   151 		BRW	SUC_EXIT	; ALL DONE!!!!

                                     01C8   152 20$:

                                     01C8   153 		$QIO_S	,CHAN'N,#IO$_WRITEVBLK,,SUCA'N,,@DATA'N,DATA'N+4,,#^X20

                                     01C8   154 		SERVCHEK		; CHECK FOR ERRORS

                                     01C8   155 		RET			; HIBERNATE

                                     01C8   156 30$:

                                     01C8   157 		MOVB	#^X30+N,CNTRL_NAME+3 ; SET UNIT NUMBER

                                     01C8   158 		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                                     01C8   159 		CLRL	ARGS+4		; SET FOR CURRENT TIME

                                     01C8   160 		MOVL	ITER'N,ARGS+8	; GET PAGE NUMBER

                                     01C8   161 		CMPB	TTY_CHAR'N,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                                     01C8   162 		BLSS	40$		; BR IF VIDEO

                                     01C8   163 		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                                     01C8   164 		BRB	60$		; GO TO COMMON CODE

                                     01C8   165 40$:

                                     01C8   166 		CMPB	TTY_CHAR'N,#VT05_LIN_PER ; IS THIS A VT05?

                                     01C8   167 		BNEQ	50$		; BR IF NOT

                                     01C8   168 		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                                     01C8   169 		BRB	60$		; GO TO COMMON CODE

                                     01C8   170 50$:

                                     01C8   171 		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     01C8   172 60$:

                                     01C8   173 		DISPLAY	(R6),ARGS	; SET UP PAGE HEADER

                                     01C8   174 		$QIO_S	,CHAN'N,#IO$_WRITEVBLK,,SUCA'N,,FAO_BUFFER,STRLEN,,#^X20

                                     01C8   175 		SERVCHEK		; CHECK FOR ERRORS

                                     01C8   176 70$:

                                     01C8   177 		RET			; HIBERNATE

                                     01C8   178 	.ENDM	TERMTEST

                                     01C8   179 ;

                                     01C8   180 	.MACRO	BUFFER	N

                                     01C8   181 CHAN'N:

                                     01C8   182 	.LONG	0	; ASSIGNED CHAN. #

                                     01C8   183 ITER'N:

                                     01C8   184 	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     01C8   185 LINES'N:

                                     01C8   186 	.LONG	0	; # OF LINES     "        "

                                     01C8   187 	.ENDM

                                     01C8   188 	.MACRO	STARTUP	M,?LAB1,?LAB2,?LAB3,?LAB4,?LAB5,?LAB6

                                     01C8   189 		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   7

1.11            READ ONLY DATA                                                                                                   (2)



                                     01C8   190 		BITB	#1@M,UNIT_MASK		; TEST THIS DRIVE?

                                     01C8   191 		BNEQ	LAB1			; BR IF YES

                                     01C8   192 		BRW	LAB6			; ELSE JMP

                                     01C8   193 LAB1:

                                     01C8   194 		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

                                     01C8   195 		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                                     01C8   196 		$ASSIGN_S CNTRL_NAME_STR,CHAN'M	; ASSIGN THE TTY

                                     01C8   197 		BLBS	R0,LAB2			; BR IF OK

                                     01C8   198 		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

                                     01C8   199 		BICB	#1@M,UNIT_MASK		; DESELECT THE UNIT

                                     01C8   200 		PUTMSG	<#UETP$_DESTP,#4,#TSTNAM,-

                                     01C8   201 			#CNTRL_NAME_STR,#M,#0>	; PRINT STOP MESSAGE

                                     01C8   202 		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                                     01C8   203 		BRW	LAB6			; GO TO THE NEXT TTY

                                     01C8   204 LAB2:

                                     01C8   205 		MOVB	#^X30+M,CNTRL_NAME+3	; SET UNIT NUMBER

                                     01C8   206 		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                                     01C8   207 		CLRL	ARGS+3			; SET FOR CURRENT TIME

                                     01C8   208 		MOVL	ITER'M,ARGS+8		; SET PAGE NUMBER

                                     01C8   209 		CMPB	TTY_CHAR'M,#LA36_LIN_PER ; IS THIS AN LA36?

                                     01C8   210 		BNEQ	LAB3			; BR IF NOT

                                     01C8   211 		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                                     01C8   212 		BRB	LAB5			; BR TO COMMON

                                     01C8   213 LAB3:

                                     01C8   214 		CMPB	TTY_CHAR'M,#VT05_LIN_PER ; IS THIS A VT05?

                                     01C8   215 		BNEQ	LAB4			; BR IF NOT

                                     01C8   216 		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                                     01C8   217 		BRB	LAB5			; BR TO COMMON

                                     01C8   218 LAB4:

                                     01C8   219 		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     01C8   220 LAB5:

                                     01C8   221 		DISPLAY	(R6),ARGS		; FORM PAGE HEADER

                                     01C8   222 		$QIO_S	,CHAN'M,#IO$_WRITEVBLK,-

                                     01C8   223 			,SUCA'M,,FAO_BUFFER,STRLEN,,#^X20 ; OUTPUT PAGE HEADER

                                     01C8   224 		SERVCHEK			; CHECK FOR ERROR

                                     01C8   225 LAB6:

                                     01C8   226 	.ENDM	STARTUP

                                     01C8   227 ;

                                     01C8   228 	.MACRO	END	B,?LAB1

                                     01C8   229 		ROTL	R3,R4,R4		; SHIFT MASK

                                     01C8   230 		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                                     01C8   231 		BEQL	LAB1			; BR IF NOT

                                     01C8   232 		$DASSGN_S CHAN'B		; DEASSIGN THE TTY

                                     01C8   233 		SERVCHEK			; CHECK FOR ERRORS

                                     01C8   234 LAB1:

                                     01C8   235 	.ENDM	END

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   8

1.11            READ/WRITE DATA                                                                                                  (2)



                                     01C8   237 	.SBTTL	READ/WRITE DATA

                                 00000000   238 	.PSECT	RWDATA,WRT,NOEXE,LONG

                                     0000   239 ;

                                     0000   240 IOSTAT:

                           00000008  0000   241 	.BLKL	2	; I/O STATUS BLOCK

                                     0008   242 			; BIT0 = END OF FILE FLAG

                                     0008   243 			; BIT1 = CONTROL C FLAG

                                     0008   244 TTCHAN:

                           00000000  0008   245 	.LONG	0	; TTY CHAN NUMBER

                                     000C   246 	.LIST	MEB

                                     000C   247 	BUFFER	0

                                     000C       CHAN0:

                           00000000  000C       	.LONG	0	; ASSIGNED CHAN. #

                                     0010       ITER0:

                           00000001  0010       	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     0014       LINES0:

                           00000000  0014       	.LONG	0	; # OF LINES     "        "

                                     0018   248 	BUFFER	1

                                     0018       CHAN1:

                           00000000  0018       	.LONG	0	; ASSIGNED CHAN. #

                                     001C       ITER1:

                           00000001  001C       	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     0020       LINES1:

                           00000000  0020       	.LONG	0	; # OF LINES     "        "

                                     0024   249 	BUFFER	2

                                     0024       CHAN2:

                           00000000  0024       	.LONG	0	; ASSIGNED CHAN. #

                                     0028       ITER2:

                           00000001  0028       	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     002C       LINES2:

                           00000000  002C       	.LONG	0	; # OF LINES     "        "

                                     0030   250 	BUFFER	3

                                     0030       CHAN3:

                           00000000  0030       	.LONG	0	; ASSIGNED CHAN. #

                                     0034       ITER3:

                           00000001  0034       	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     0038       LINES3:

                           00000000  0038       	.LONG	0	; # OF LINES     "        "

                                     003C   251 	BUFFER	4

                                     003C       CHAN4:

                           00000000  003C       	.LONG	0	; ASSIGNED CHAN. #

                                     0040       ITER4:

                           00000001  0040       	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     0044       LINES4:

                           00000000  0044       	.LONG	0	; # OF LINES     "        "

                                     0048   252 	BUFFER	5

                                     0048       CHAN5:

                           00000000  0048       	.LONG	0	; ASSIGNED CHAN. #

                                     004C       ITER5:

                           00000001  004C       	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     0050       LINES5:

                           00000000  0050       	.LONG	0	; # OF LINES     "        "

                                     0054   253 	BUFFER	6

                                     0054       CHAN6:

                           00000000  0054       	.LONG	0	; ASSIGNED CHAN. #

                                     0058       ITER6:

                           00000001  0058       	.LONG	1	; CURRENT PAGE BEING OUTPUT

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page   9

1.11            READ/WRITE DATA                                                                                                  (2)



                                     005C       LINES6:

                           00000000  005C       	.LONG	0	; # OF LINES     "        "

                                     0060   254 	BUFFER	7

                                     0060       CHAN7:

                           00000000  0060       	.LONG	0	; ASSIGNED CHAN. #

                                     0064       ITER7:

                           00000001  0064       	.LONG	1	; CURRENT PAGE BEING OUTPUT

                                     0068       LINES7:

                           00000000  0068       	.LONG	0	; # OF LINES     "        "

                                     006C   255 	.NLIST	MEB

                                     006C   256 TTY_CHAR0:		; TTY CHARACTERISTICS

                               0000  006C   257 	.WORD	0	; BIT 0-7 = # OF LINES/PAGE

                                     006E   258 TTY_CHAR1:		; BIT 8-15 = # OF PAGES/TEST

                               0000  006E   259 	.WORD	0

                                     0070   260 TTY_CHAR2:

                               0000  0070   261 	.WORD	0

                                     0072   262 TTY_CHAR3:

                               0000  0072   263 	.WORD	0

                                     0074   264 TTY_CHAR4:

                               0000  0074   265 	.WORD	0

                                     0076   266 TTY_CHAR5:

                               0000  0076   267 	.WORD	0

                                     0078   268 TTY_CHAR6:

                               0000  0078   269 	.WORD	0

                                     007A   270 TTY_CHAR7:

                               0000  007A   271 	.WORD	0

                                     007C   272 ;

                                     007C   273 DATA0:

                           00000084  007C   274 	.BLKL	2	; TTY LINE LENGTH, FIRST LONG WORD=ADDRESS OF DATA

                                     0084   275 			; SECOND LONG WORD IS BYTE COUNT

                                     0084   276 DATA1:

                           0000008C  0084   277 	.BLKL	2

                                     008C   278 DATA2:

                           00000094  008C   279 	.BLKL	2

                                     0094   280 DATA3:

                           0000009C  0094   281 	.BLKL	2

                                     009C   282 DATA4:

                           000000A4  009C   283 	.BLKL	2

                                     00A4   284 DATA5:

                           000000AC  00A4   285 	.BLKL	2

                                     00AC   286 DATA6:

                           000000B4  00AC   287 	.BLKL	2

                                     00B4   288 DATA7:

                           000000BC  00B4   289 	.BLKL	2

                                     00BC   290 ;

                                     00BC   291 ERROR_CNT:

                           00000000  00BC   292 	.LONG	0	; CUM. ERROR COUNT

                                     00C0   293 DIEARG:

                           00000000  00C0   294 	.LONG	0	; DIED PC SAVE

                                     00C4   295 STRLEN:

                           00000000  00C4   296 	.LONG	0	; FAO OUTPUT LENGTH

                                     00C8   297 ERR_STRLEN:

                           00000000  00C8   298 	.LONG	0	; ERROR FAO STRING LENGTH

                                     00CC   299 ARGS:

                           000000D8  00CC   300 	.BLKL	3	; SPACE FOR 3 ARGUMENTS

                                     00D8   301 DONE_FLAG:

                                 00  00D8   302 	.BYTE	0	; DONE FLAG BYTE

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  10

1.11            READ/WRITE DATA                                                                                                  (2)



                                     00D9   303 UNIT_MASK:

                                 00  00D9   304 	.BYTE	0	; UNIT MASK

                                     00DA   305 UNIT_NUM:

                                 00  00DA   306 	.BYTE	0	; UNIT NUMBER BEING STARTED

                                     00DB   307 CNTRL_NAME_STR:

                           00000004  00DB   308 	.LONG	4

                           000000F4' 00DF   309 	.ADDRESS CNTRL_NAME

                                     00E3   310 PROCESS_NAME:

                           0000000C' 00E3   311 	.LONG	PNL

                           000000EB' 00E7   312 	.ADDRESS .+4

         5F 30 53 59 54 54 54 45 55  00EB   313 	.ASCII	/UETTTYS0_/

                                     00F4   314 CNTRL_NAME:

                           00000000  00F4   315 	.LONG	0	; TERMINAL NAME IN ASCII

                           0000000C  00F8   316 	PNL=.-PROCESS_NAME-9

                                     00F8   317 UNIT_ERROR:

                                 00  00F8   318 	.BYTE	0	; UNIT NUMBER OF FAILING DRIVE

                                     00F9   319 FAO_BUF:

                           00000100' 00F9   320 	.LONG	FAO_BUFL

                           00000101' 00FD   321 	.ADDRESS FAO_BUFFER

                                     0101   322 FAO_BUFFER:

                           00000201  0101   323 	.BLKB	256

                           00000100  0201   324 	FAO_BUFL=.-FAO_BUFFER

                                     0201   325 RECORD:

                           00000231  0201   326 	.BLKB	48

                                     0231   327 ;

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  11

1.11            READ/WRITE DATA                                                                                                  (2)



                                     0231   329 	.ALIGN	LONG

                                     0234   330 FAB:

                                     0234   331 	$FAB -

                                     0234   332 	FAC=GET,-

                                     0234   333 	FNA=FILE_NAME,-

                                     0234   334 	FNS=NAME_SIZE,-

                                     0234   335 	MRS=50,-

                                     0234   336 	ORG=SEQ

                                     0284   337 ;

                                     0284   338 RAB:

                                     0284   339 	$RAB -

                                     0284   340 	FAB=FAB,-

                                     0284   341 	MBF=1,-

                                     0284   342 	RAC=SEQ,-

                                     0284   343 	UBF=RECORD,-

                                     0284   344 	USZ=48

                                     02C8   345 ;

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  12

1.11            MAIN PROGRAM                                                                                                     (2)



                                     02C8   347 	.SBTTL	MAIN PROGRAM

                                 00000000   348 	.PSECT	UETTRM,EXE,NOWRT,LONG

                                     0000   349 	.SBTTL	DISPLAY ROUTINE

                                     0000   350 ;

                                     0000   351 ; THE DISPLAY SUBROUTINE PERFORMS A FORMATTED WRITE

                                     0000   352 ; TO THE TERMINAL

                                     0000   353 ;

                                     0000   354 ;	INPUT:	R10 -> FAO CONTROL STRING (LENGTH IN FIRST BYTE)

                                     0000   355 ;		R11 -> LIST OF FAO ARGUMENTS

                                     0000   356 ;

                                     0000   357 ;	OUTPUT:	FORMATTED MSG IN BUFFER 'FAO_BUF'

                                     0000   358 ;		LENGTH OF SAME IN LONGWORD 'STRLEN'

                                     0000   359 ;

                                     0000   360 DISPLAY:

                                     0000   361 	$FAOL_S 	(R10),STRLEN,FAO_BUF,(R11)	; SETUP TERM OUTPUT LINE

                                 05  0017   362 	RSB					; RETURN TO CALLER

                                     0018   363 DIE:

                 000000BC'EF     D6  0018   364 	INCL	ERROR_CNT			; BUMP ERROR COUNTER

   000000C0'EF            50     D0  001E   365 	MOVL	R0,DIEARG			; SAVE THER ERROR

            03            00     ED  0025   366 	CMPZV	#0,#3,DIEARG,#4			; IS IT FATAL SEVERITY

            04   000000C0'EF         0028       

                          07     12  002E   367 	BNEQ	10$				; BRANCH IF NO

   000000C0'EF            02     C2  0030   368 	SUBL2	#2,DIEARG			; SEVERITY FATAL -> ERROR

                                     0037   369 10$:

                                     0037   370 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     0037   371 		DIEARG>				; REPORT THE ERROR

                 0000177D'EF     17  0052   372 	JMP	LAST1				; EXIT IN DISGRACE

                                     0058   373 ;

                                     0058   374 CCASTHAND:

                               0000  0058   375 	.WORD	0				; ENTRY MASK

                                     005A   376 	PUTMSG	<#UETP$_TEXT,#1,#CNTRLCMSG>	; TYPE STOP MESSAGE

   00000000'EF            02     88  006F   377 	BISB2	#BIT1,IOSTAT			; SET CONTROL C FLAG

                                 04  0076   378 	RET					; RETURN

                                     0077   379 ;

                                     0077   380 ERR:						; UETINIDEV.DAT ERROR ROUTINE

                               0000  0077   381 	.WORD	0

   00000000'8F   0000028C'EF     D1  0079   382 	CMPL	RAB+RAB$L_STS,#RMS$_EOF		; IS THIS AN EOF ERROR?

                          0A     12  0084   383 	BNEQ	5$				; BR IF NOT

   00000000'EF            01     88  0086   384 	BISB2	#BIT0,IOSTAT			; ELSE SET EOF FLAG

                          009E   31  008D   385 	BRW	20$				; AND EXIT

                                     0090   386 5$:

                 000000BC'EF     D6  0090   387 	INCL	ERROR_CNT			; BUMP ERROR COUNT

            43   0000023C'EF     E8  0096   388 	BLBS	FAB+FAB$L_STS,10$		; BR IF RAB ERROR

            03            00     ED  009D   389 	CMPZV	#0,#3,FAB+FAB$L_STS,#4		; IS IT FATAL SEVERITY

            04   0000023C'EF         00A0       

                          07     12  00A6   390 	BNEQ	8$				; BRANCH IF NO

   0000023C'EF            02     C2  00A8   391 	SUBL2	#2,FAB+FAB$L_STS		; SEVERITY FATAL -> ERROR

                                     00AF   392 8$:

                                     00AF   393 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     00AF   394 		#UETP$_OPENIN,#1,#FILE_NAME_STR,-

                                     00AF   395 		FAB+FAB$L_STS,FAB+FAB$L_STV>	; REPORT FAB ERROR

                          4E     11  00DE   396 	BRB	20$				; EXIT

                                     00E0   397 10$:

   00000000'8F   0000028C'EF     D1  00E0   398 	CMPL	RAB+RAB$L_STS,#RMS$_EOF		; END OF THE FILE?

                          42     13  00EB   399 	BEQL	30$				; BR IF YES

            03            00     ED  00ED   400 	CMPZV	#0,#3,RAB+RAB$L_STS,#4		; IS IT FATAL SEVERITY

            04   0000028C'EF         00F0       

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  13

1.11            DISPLAY ROUTINE                                                                                                  (2)



                          07     12  00F6   401 	BNEQ	15$				; BRANCH IF NO

   0000028C'EF            02     C2  00F8   402 	SUBL2	#2,RAB+RAB$L_STS		; SEVERITY FATAL -> ERROR

                                     00FF   403 15$:

                                     00FF   404 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     00FF   405 		#UETP$_OPENIN,#1,#FILE_NAME_STR,-

                                     00FF   406 		RAB+RAB$L_STS,RAB+RAB$L_STV>	; REPORT RAB ERROR

                                     012E   407 20$:

                                 04  012E   408 	RET					; RETURN

                                     012F   409 30$:

   00000000'EF            01     88  012F   410 	BISB2	#BIT0,IOSTAT			; SET END OF FILE BIT

                          F6     11  0136   411 	BRB	20$				; EXIT

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  14

1.11            MAIN CODE                                                                                                        (2)



                                     0138   413 	.SBTTL	MAIN CODE

                           00000001  0138   414 	.MDELETE STRING

                                     0138   415 ;

                                     0138   416 ; THIS IS THE MAIN CODE FOR THE TERMINAL TEST.

                                     0138   417 ;

                                     0138   418 UETTTYS00::

                               0FFC  0138   419 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;ENTRY MASK

                                     013A   420 	$ASCEFC_S	#64,CLUSTER2	; ASSIGN COMMON E.F. CLUSTER

                                     0151   421 	SERVCHEK			; CHECK FOR ERRORS

                                     015F   422 	$TRNLOG_S	LOGNAM,STRLEN,FAO_BUF,,,#5 ; GET CONTROLER NAME

                                     017E   423 	SERVCHEK			; CHECK FOR ERRORS

                                     018C   424 	$SETEF_S	#64		; TELL UETPDEV01 TO CONTINUE

                                     0199   425 	SERVCHEK			; CHECK FOR ERRORS

   000000F4'EF   00000101'EF     D0  01A7   426 	MOVL	FAO_BUFFER,CNTRL_NAME	; SAVE CONTROLLER NAME

       5454 8F   000000F4'EF     B1  01B2   427 	CMPW	CNTRL_NAME,#^A/TT/	; IS THIS REALLY A TTY?

                          03     13  01BB   428 	BEQL	4$			; BR IF YES

                          1442   31  01BD   429 	BRW	ERR_EXIT		; ELSE EXIT IN DISGUST!

                                     01C0   430 4$:

                                     01C0   431 	$SETPRN_S	PROCESS_NAME	; SET PROCESS NAME

                                     01CD   432 	SERVCHEK			; CHECK FOR ERRORS

                                     01DB   433 	$TRNLOG_S	LOGNAM1,STRLEN,FAO_BUF,,,#5 ; ARE WE DETACHED?

                                     01FA   434 	SERVCHEK			; CHECK FOR ERRORS

   00000101'EF         59 8F     91  0208   435 	CMPB	#^A/Y/,FAO_BUFFER	; ARE WE DETACHED?

                          54     13  0210   436 	BEQL	8$			; BR IF WE ARE

                                     0212   437 	$ASSIGN_S	TTNAM,TTCHAN	; ASSIGN TTY CHAN

                                     0227   438 	SERVCHEK			; CHECK FOR ERRORS

                                     0235   439 	$QIOW_S	CHAN=TTCHAN,-

                                     0235   440 		FUNC=#IO$_SETMODE!IO$M_CTRLCAST,-

                                     0235   441 		P1  =CCASTHAND		; SET TO CATCH CNTRL C'S

                                     0258   442 	SERVCHEK			; CHECK FOR ERRORS

                                     0266   443 8$:

                                     0266   444 	PUTMSG	<#UETP$_BEGIND,#2,#TSTNAM,#0> ; MENTION STARTING MESSAGE

                                     027D   445 	$OPEN	FAB=FAB,ERR=ERR		; OPEN "UETINIDEV.DAT"

            03            50     E8  028E   446 	BLBS	R0,10$			; CHECK FOR ERRORS

                          136E   31  0291   447 	BRW	ERR_EXIT		; BR IF ERROR

                                     0294   448 10$:

                                     0294   449 	$CONNECT RAB=RAB,ERR=ERR	; CONNECT THE RAB AND FAB

            03            50     E8  02A5   450 	BLBS	R0,FIND_IT		; CHECK FOR ERRORS

                          1357   31  02A8   451 	BRW	ERR_EXIT		; BR IF ERROR

                                     02AB   452 FIND_IT:

                                     02AB   453 	$GET	RAB=RAB,ERR=ERR		; GET THE FIRST RECORD

            40            50     E8  02BC   454 	BLBS	R0,10$			; CHECK FOR ERRORS

            36   00000000'EF     E9  02BF   455 	BLBC	IOSTAT,5$		; CHECK FOR EOF ERROR

   000000DB'EF            03     D0  02C6   456 	MOVL	#3,CNTRL_NAME_STR	; SET MUX NAME LENGTH

                 000000BC'EF     D6  02CD   457 	INCL	ERROR_CNT		; BUMP ERROR COUNT

                                     02D3   458 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     02D3   459 		#UETP$_DENOSU,#2,#TSTNAM,-

                                     02D3   460 		#CNTRL_NAME_STR>	; PRINT DEVICE NOT SUPPORTED

                                     02FC   461 5$:

                          1303   31  02FC   462 	BRW	ERR_EXIT		; BR IF ERROR

                                     02FF   463 10$:

   00000205'EF            01     93  02FF   464 	BITB	#BIT0,RECORD+4		; IS THIS A DDB?

                          A3     12  0306   465 	BNEQ	FIND_IT			; GO ON IF NOT

   00000207'EF            03     29  0308   466 	CMPC	#3,RECORD+6,CNTRL_NAME	; IS THIS THE RIGHT CONTROLLER?

                 000000F4'EF         030F       

                          95     12  0314   467 	BNEQ	FIND_IT			; BR IF NOT

            55   0000006C'EF     DE  0316   468 	MOVAL	TTY_CHAR0,R5		; SET TTY_TYPE TABLE POINTER

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  15

1.11            MAIN CODE                                                                                                        (2)



            56   0000007C'EF     DE  031D   469 	MOVAL	DATA0,R6		; SET TTY LINE LENGTH POINTER

                                     0324   470 FOUND_IT:

                                     0324   471 	$GET	RAB=RAB,ERR=ERR		; GET A RECORD

            0F            50     E8  0335   472 	BLBS	R0,FI1			; CHECK FOR ERRORS

   00000000'EF            01     93  0338   473 	BITB	#BIT0,IOSTAT		; EOF?

                          03     13  033F   474 	BEQL	10$			; BR IF NOT

                          00D9   31  0341   475 	BRW	ALL_SET			; BR IF YES

                                     0344   476 10$:

                          12BB   31  0344   477 	BRW	ERR_EXIT		; FATAL ERROR

                                     0347   478 FI1:

   00000205'EF            01     93  0347   479 	BITB	#BIT0,RECORD+4		; IS THIS A DDB?

                          03     12  034E   480 	BNEQ	FI2			; BR IF NO

                          00CA   31  0350   481 	BRW	ALL_SET			; BR IF YES

                                     0353   482 FI2:

   00000205'EF            02     93  0353   483 	BITB	#BIT1,RECORD+4		; IS THE UNIT TESTABLE

                          C8     12  035A   484 	BNEQ	FOUND_IT		; BR IF NOT

            53   00000209'EF     9A  035C   485 	MOVZBL	RECORD+8,R3		; GET PHY. UNIT NUMBER IN ASCII

            53         F8 8F     8A  0363   486 	BICB	#^XF8,R3		; CONVERT TO HEX

            54            01     D0  0367   487 	MOVL	#1,R4			; SET TO UNIT ZERO MASK BIT

            54            53     9C  036A   488 	ROTL	R3,R4,R4		; CONVERT IF NOT UNIT ZERO

                          54         036D       

   000000D9'EF            54     88  036E   489 	BISB2	R4,UNIT_MASK		; ADD IT TO THE REST

            53            53     80  0375   490 	ADDB2	R3,R3			; DOUBLE UNIT # TO MAKE WORD INDEX

                          02     DD  0378   491 	PUSHL	#2			; SET FOR TWO HEX DIGITS

                 00000218'EF     DF  037A   492 	PUSHAL	RECORD+23		; PUSH ADDRESS

   00000000'EF            02     FB  0380   493 	CALLS	#2,CNVTAH		; CONVERT TO A LONG WORD IN R11

         00'8F            5B     91  0387   494 	CMPB	R11,#TT$_LA36		; IS THIS LINE AN LA36?

                          1D     12  038B   495 	BNEQ	10$			; BR IF NOT

            6543          35     90  038D   496 	MOVB	#LA36_LIN_PER,(R5)[R3]	; SAVE THE # OF LINES/PAGE

         01 A543          03     90  0391   497 	MOVB	#HARD_COPY_PAGES,1(R5)[R3] ; SAVE THE # OF PAGES TO TEST

            6643 00000144'EF     DE  0396   498 	MOVAL	DATA132,(R6)[R3]	; SAVE BUFFER ADDRESS

         04 A643 00000084 8F     D0  039E   499 	MOVL	#132,4(R6)[R3]		; SAVE LINE LENGTH

                          FF7A   31  03A7   500 	BRW	FOUND_IT		; GO TO COMMON

                                     03AA   501 10$:

         00'8F            5B     91  03AA   502 	CMPB	R11,#TT$_VT05		; IS THIS LINE A VT05?

                          1D     12  03AE   503 	BNEQ	20$			; BR IF NOT

            6543          12     90  03B0   504 	MOVB	#VT05_LIN_PER,(R5)[R3]	; SAVE THE #OF LINES/PAGE

         01 A543          0B     90  03B4   505 	MOVB	#VIDEO_PAGES,1(R5)[R3]	; SAVE THE # OF PAGES TO TEST

            6643 00000178'EF     DE  03B9   506 	MOVAL	DATA,(R6)[R3]		; SAVE BUFFER ADDRESS

         04 A643 00000048 8F     D0  03C1   507 	MOVL	#72,4(R6)[R3]		; SAVE LINE LENGTH

                          FF57   31  03CA   508 	BRW	FOUND_IT		; GO TO COMMON

                                     03CD   509 20$:

         00'8F            5B     91  03CD   510 	CMPB	R11,#TT$_VT55		; IS THIS LINE A VT52!VT55?

                          1D     14  03D1   511 	BGTR	30$			; BR IF NOT A SUPPORTED TTY

            6543          16     90  03D3   512 	MOVB	#VT52_LIN_PER,(R5)[R3]	; SAVE THE # OF LINES/PAGE

         01 A543          0B     90  03D7   513 	MOVB	#VIDEO_PAGES,1(R5)[R3]	; SAVE THE # OF PAGES TO TEST

            6643 00000178'EF     DE  03DC   514 	MOVAL	DATA,(R6)[R3]		; SAVE BUFFER ADDRESS

         04 A643 00000050 8F     D0  03E4   515 	MOVL	#80,4(R6)[R3]		; SAVE LINE LENGTH

                          FF34   31  03ED   516 	BRW	FOUND_IT		; GOTO COMMON CODE

                                     03F0   517 30$:

            53            30     81  03F0   518 	ADDB3	#^X30,R3,CNTRL_NAME+3	; CREATE DEVICE NAME

                 000000F7'EF         03F3       

                                     03F8   519 	PUTMSG	<#UETP$_DENOSU,#2,#TSTNAM,-

                                     03F8   520 		#CNTRL_NAME_STR>	; REPORT DEVICE NOT SUPPORTED

   000000D9'EF            54     CA  0413   521 	BICL2	R4,UNIT_MASK		; DESELECT THE LINE

                          FF07   31  041A   522 	BRW	FOUND_IT		; DO THE NEXT ONE

                                     041D   523 ALL_SET:

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  16

1.11            MAIN CODE                                                                                                        (2)



                                     041D   524 	$DISCONNECT RAB=RAB,ERR=ERR 	; CLOSE FILE "UETINIDEV.DAT"

                                     042E   525 	$CLOSE	FAB=FAB,ERR=ERR

   000000DA'EF         FF 8F     90  043F   526 	MOVB	#-1,UNIT_NUM		; SET UP FOR UNIT #-1

                                     0447   527 	.LIST	MEB

                                     0447   528 	STARTUP	0

                 000000DA'EF     96  0447       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF            01     93  044D       		BITB	#1@0,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0454       		BNEQ	30014$			; BR IF YES

                          00FA   31  0456       		BRW	30019$			; ELSE JMP

                                     0459       30014$:

                 000000F7'EF     94  0459       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  045F       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         0466       

                          7E     7C  046B       		CLRQ	-(SP)

                 0000000C'EF     3F  046D       		PUSHAW	CHAN0

                 000000DB'EF     7F  0473       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  0479       		CALLS	#4,G^SYS$ASSIGN

            35            50     E8  0480       		BLBS	R0,30015$			; BR IF OK

                 000000DB'EF     D7  0483       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF            01     8A  0489       		BICB	#1@0,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  0490       	  	PUSHL	#0

                          00     DD  0492       	  	PUSHL	#0

                 000000DB'8F     DD  0494       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  049A       	  	PUSHL	#TSTNAM

                          04     DD  04A0       	  	PUSHL	#4

                 00000000'8F     DD  04A2       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  04A8       		CALLS	#$$T1,@#LIB$SIGNAL

                 000000DB'EF     D6  04AF       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  04B5       		BRW	30019$			; GO TO THE NEXT TTY

                                     04B8       30015$:

   000000F7'EF            30     90  04B8       		MOVB	#^X30+0,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  04BF       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                 000000CF'EF     D4  04CA       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   00000010'EF     D0  04D0       		MOVL	ITER0,ARGS+8		; SET PAGE NUMBER

            35   0000006C'EF     91  04DB       		CMPB	TTY_CHAR0,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  04E2       		BNEQ	30016$			; BR IF NOT

            56   0000008C'EF     DE  04E4       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                          19     11  04EB       		BRB	30018$			; BR TO COMMON

                                     04ED       30016$:

            12   0000006C'EF     91  04ED       		CMPB	TTY_CHAR0,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  04F4       		BNEQ	30017$			; BR IF NOT

            56   00000106'EF     DE  04F6       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                          07     11  04FD       		BRB	30018$			; BR TO COMMON

                                     04FF       30017$:

            56   000000C9'EF     DE  04FF       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     0506       30018$:

            5A            66     DE  0506       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0509       	MOVAL	ARGS,R11

                     FAEC CF     16  0510       	JSB	DISPLAY

                          7E     7C  0514       		CLRQ	-(SP)

                          20     DD  0516       		PUSHL	#^X20

                          00     DD  0518       		PUSHL	#0

                 000000C4'EF     DD  051A       		PUSHL	STRLEN

                 00000101'EF     DF  0520       		PUSHAL	FAO_BUFFER

                          00     DD  0526       		PUSHL	#0

                 00000CC0'EF     DF  0528       		PUSHAL	SUCA0

                          00     DD  052E       		PUSHL	#0

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  17

1.11            MAIN CODE                                                                                                        (2)



            7E       0000'8F     3C  0530       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   0000000C'EF     3C  0535       		MOVZWL	CHAN0,-(SP)

                          00     DD  053C       		PUSHL	#0

   00000000'GF            0C     FB  053E       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0545       30020$:	BLBS	R0,30021$

   000000C0'EF         FA AF     DE  0548       	MOVAL	30020$,DIEARG

                          FAC5   31  0550       	BRW	DIE

                                     0553       30021$:

                                     0553       30019$:

                                     0553   529 	STARTUP	1

                 000000DA'EF     96  0553       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF            02     93  0559       		BITB	#1@1,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0560       		BNEQ	30022$			; BR IF YES

                          00FA   31  0562       		BRW	30027$			; ELSE JMP

                                     0565       30022$:

                 000000F7'EF     94  0565       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  056B       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         0572       

                          7E     7C  0577       		CLRQ	-(SP)

                 00000018'EF     3F  0579       		PUSHAW	CHAN1

                 000000DB'EF     7F  057F       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  0585       		CALLS	#4,G^SYS$ASSIGN

            35            50     E8  058C       		BLBS	R0,30023$			; BR IF OK

                 000000DB'EF     D7  058F       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF            02     8A  0595       		BICB	#1@1,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  059C       	  	PUSHL	#0

                          01     DD  059E       	  	PUSHL	#1

                 000000DB'8F     DD  05A0       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  05A6       	  	PUSHL	#TSTNAM

                          04     DD  05AC       	  	PUSHL	#4

                 00000000'8F     DD  05AE       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  05B4       		CALLS	#$$T1,@#LIB$SIGNAL

                 000000DB'EF     D6  05BB       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  05C1       		BRW	30027$			; GO TO THE NEXT TTY

                                     05C4       30023$:

   000000F7'EF            31     90  05C4       		MOVB	#^X30+1,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  05CB       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                 000000CF'EF     D4  05D6       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   0000001C'EF     D0  05DC       		MOVL	ITER1,ARGS+8		; SET PAGE NUMBER

            35   0000006E'EF     91  05E7       		CMPB	TTY_CHAR1,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  05EE       		BNEQ	30024$			; BR IF NOT

            56   0000008C'EF     DE  05F0       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                          19     11  05F7       		BRB	30026$			; BR TO COMMON

                                     05F9       30024$:

            12   0000006E'EF     91  05F9       		CMPB	TTY_CHAR1,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0600       		BNEQ	30025$			; BR IF NOT

            56   00000106'EF     DE  0602       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                          07     11  0609       		BRB	30026$			; BR TO COMMON

                                     060B       30025$:

            56   000000C9'EF     DE  060B       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     0612       30026$:

            5A            66     DE  0612       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0615       	MOVAL	ARGS,R11

                     F9E0 CF     16  061C       	JSB	DISPLAY

                          7E     7C  0620       		CLRQ	-(SP)

                          20     DD  0622       		PUSHL	#^X20

                          00     DD  0624       		PUSHL	#0

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  18

1.11            MAIN CODE                                                                                                        (2)



                 000000C4'EF     DD  0626       		PUSHL	STRLEN

                 00000101'EF     DF  062C       		PUSHAL	FAO_BUFFER

                          00     DD  0632       		PUSHL	#0

                 00000DE8'EF     DF  0634       		PUSHAL	SUCA1

                          00     DD  063A       		PUSHL	#0

            7E       0000'8F     3C  063C       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000018'EF     3C  0641       		MOVZWL	CHAN1,-(SP)

                          00     DD  0648       		PUSHL	#0

   00000000'GF            0C     FB  064A       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0651       30028$:	BLBS	R0,30029$

   000000C0'EF         FA AF     DE  0654       	MOVAL	30028$,DIEARG

                          F9B9   31  065C       	BRW	DIE

                                     065F       30029$:

                                     065F       30027$:

                                     065F   530 	STARTUP	2

                 000000DA'EF     96  065F       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF            04     93  0665       		BITB	#1@2,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  066C       		BNEQ	30030$			; BR IF YES

                          00FA   31  066E       		BRW	30035$			; ELSE JMP

                                     0671       30030$:

                 000000F7'EF     94  0671       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  0677       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         067E       

                          7E     7C  0683       		CLRQ	-(SP)

                 00000024'EF     3F  0685       		PUSHAW	CHAN2

                 000000DB'EF     7F  068B       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  0691       		CALLS	#4,G^SYS$ASSIGN

            35            50     E8  0698       		BLBS	R0,30031$			; BR IF OK

                 000000DB'EF     D7  069B       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF            04     8A  06A1       		BICB	#1@2,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  06A8       	  	PUSHL	#0

                          02     DD  06AA       	  	PUSHL	#2

                 000000DB'8F     DD  06AC       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  06B2       	  	PUSHL	#TSTNAM

                          04     DD  06B8       	  	PUSHL	#4

                 00000000'8F     DD  06BA       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  06C0       		CALLS	#$$T1,@#LIB$SIGNAL

                 000000DB'EF     D6  06C7       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  06CD       		BRW	30035$			; GO TO THE NEXT TTY

                                     06D0       30031$:

   000000F7'EF            32     90  06D0       		MOVB	#^X30+2,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  06D7       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                 000000CF'EF     D4  06E2       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   00000028'EF     D0  06E8       		MOVL	ITER2,ARGS+8		; SET PAGE NUMBER

            35   00000070'EF     91  06F3       		CMPB	TTY_CHAR2,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  06FA       		BNEQ	30032$			; BR IF NOT

            56   0000008C'EF     DE  06FC       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                          19     11  0703       		BRB	30034$			; BR TO COMMON

                                     0705       30032$:

            12   00000070'EF     91  0705       		CMPB	TTY_CHAR2,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  070C       		BNEQ	30033$			; BR IF NOT

            56   00000106'EF     DE  070E       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                          07     11  0715       		BRB	30034$			; BR TO COMMON

                                     0717       30033$:

            56   000000C9'EF     DE  0717       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     071E       30034$:

            5A            66     DE  071E       	MOVAL	(R6),R10

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  19

1.11            MAIN CODE                                                                                                        (2)



            5B   000000CC'EF     DE  0721       	MOVAL	ARGS,R11

                     F8D4 CF     16  0728       	JSB	DISPLAY

                          7E     7C  072C       		CLRQ	-(SP)

                          20     DD  072E       		PUSHL	#^X20

                          00     DD  0730       		PUSHL	#0

                 000000C4'EF     DD  0732       		PUSHL	STRLEN

                 00000101'EF     DF  0738       		PUSHAL	FAO_BUFFER

                          00     DD  073E       		PUSHL	#0

                 00000F10'EF     DF  0740       		PUSHAL	SUCA2

                          00     DD  0746       		PUSHL	#0

            7E       0000'8F     3C  0748       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000024'EF     3C  074D       		MOVZWL	CHAN2,-(SP)

                          00     DD  0754       		PUSHL	#0

   00000000'GF            0C     FB  0756       		CALLS	#12,G^SYS$QIO

            0B            50     E8  075D       30036$:	BLBS	R0,30037$

   000000C0'EF         FA AF     DE  0760       	MOVAL	30036$,DIEARG

                          F8AD   31  0768       	BRW	DIE

                                     076B       30037$:

                                     076B       30035$:

                                     076B   531 	STARTUP	3

                 000000DA'EF     96  076B       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF            08     93  0771       		BITB	#1@3,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0778       		BNEQ	30038$			; BR IF YES

                          00FA   31  077A       		BRW	30043$			; ELSE JMP

                                     077D       30038$:

                 000000F7'EF     94  077D       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  0783       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         078A       

                          7E     7C  078F       		CLRQ	-(SP)

                 00000030'EF     3F  0791       		PUSHAW	CHAN3

                 000000DB'EF     7F  0797       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  079D       		CALLS	#4,G^SYS$ASSIGN

            35            50     E8  07A4       		BLBS	R0,30039$			; BR IF OK

                 000000DB'EF     D7  07A7       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF            08     8A  07AD       		BICB	#1@3,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  07B4       	  	PUSHL	#0

                          03     DD  07B6       	  	PUSHL	#3

                 000000DB'8F     DD  07B8       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  07BE       	  	PUSHL	#TSTNAM

                          04     DD  07C4       	  	PUSHL	#4

                 00000000'8F     DD  07C6       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  07CC       		CALLS	#$$T1,@#LIB$SIGNAL

                 000000DB'EF     D6  07D3       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  07D9       		BRW	30043$			; GO TO THE NEXT TTY

                                     07DC       30039$:

   000000F7'EF            33     90  07DC       		MOVB	#^X30+3,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  07E3       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                 000000CF'EF     D4  07EE       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   00000034'EF     D0  07F4       		MOVL	ITER3,ARGS+8		; SET PAGE NUMBER

            35   00000072'EF     91  07FF       		CMPB	TTY_CHAR3,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  0806       		BNEQ	30040$			; BR IF NOT

            56   0000008C'EF     DE  0808       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                          19     11  080F       		BRB	30042$			; BR TO COMMON

                                     0811       30040$:

            12   00000072'EF     91  0811       		CMPB	TTY_CHAR3,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0818       		BNEQ	30041$			; BR IF NOT

            56   00000106'EF     DE  081A       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  20

1.11            MAIN CODE                                                                                                        (2)



                          07     11  0821       		BRB	30042$			; BR TO COMMON

                                     0823       30041$:

            56   000000C9'EF     DE  0823       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     082A       30042$:

            5A            66     DE  082A       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  082D       	MOVAL	ARGS,R11

                     F7C8 CF     16  0834       	JSB	DISPLAY

                          7E     7C  0838       		CLRQ	-(SP)

                          20     DD  083A       		PUSHL	#^X20

                          00     DD  083C       		PUSHL	#0

                 000000C4'EF     DD  083E       		PUSHL	STRLEN

                 00000101'EF     DF  0844       		PUSHAL	FAO_BUFFER

                          00     DD  084A       		PUSHL	#0

                 00001038'EF     DF  084C       		PUSHAL	SUCA3

                          00     DD  0852       		PUSHL	#0

            7E       0000'8F     3C  0854       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000030'EF     3C  0859       		MOVZWL	CHAN3,-(SP)

                          00     DD  0860       		PUSHL	#0

   00000000'GF            0C     FB  0862       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0869       30044$:	BLBS	R0,30045$

   000000C0'EF         FA AF     DE  086C       	MOVAL	30044$,DIEARG

                          F7A1   31  0874       	BRW	DIE

                                     0877       30045$:

                                     0877       30043$:

                                     0877   532 	STARTUP	4

                 000000DA'EF     96  0877       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF            10     93  087D       		BITB	#1@4,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0884       		BNEQ	30046$			; BR IF YES

                          00FA   31  0886       		BRW	30051$			; ELSE JMP

                                     0889       30046$:

                 000000F7'EF     94  0889       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  088F       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         0896       

                          7E     7C  089B       		CLRQ	-(SP)

                 0000003C'EF     3F  089D       		PUSHAW	CHAN4

                 000000DB'EF     7F  08A3       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  08A9       		CALLS	#4,G^SYS$ASSIGN

            35            50     E8  08B0       		BLBS	R0,30047$			; BR IF OK

                 000000DB'EF     D7  08B3       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF            10     8A  08B9       		BICB	#1@4,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  08C0       	  	PUSHL	#0

                          04     DD  08C2       	  	PUSHL	#4

                 000000DB'8F     DD  08C4       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  08CA       	  	PUSHL	#TSTNAM

                          04     DD  08D0       	  	PUSHL	#4

                 00000000'8F     DD  08D2       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  08D8       		CALLS	#$$T1,@#LIB$SIGNAL

                 000000DB'EF     D6  08DF       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  08E5       		BRW	30051$			; GO TO THE NEXT TTY

                                     08E8       30047$:

   000000F7'EF            34     90  08E8       		MOVB	#^X30+4,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  08EF       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                 000000CF'EF     D4  08FA       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   00000040'EF     D0  0900       		MOVL	ITER4,ARGS+8		; SET PAGE NUMBER

            35   00000074'EF     91  090B       		CMPB	TTY_CHAR4,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  0912       		BNEQ	30048$			; BR IF NOT

            56   0000008C'EF     DE  0914       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  21

1.11            MAIN CODE                                                                                                        (2)



                          19     11  091B       		BRB	30050$			; BR TO COMMON

                                     091D       30048$:

            12   00000074'EF     91  091D       		CMPB	TTY_CHAR4,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0924       		BNEQ	30049$			; BR IF NOT

            56   00000106'EF     DE  0926       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                          07     11  092D       		BRB	30050$			; BR TO COMMON

                                     092F       30049$:

            56   000000C9'EF     DE  092F       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     0936       30050$:

            5A            66     DE  0936       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0939       	MOVAL	ARGS,R11

                     F6BC CF     16  0940       	JSB	DISPLAY

                          7E     7C  0944       		CLRQ	-(SP)

                          20     DD  0946       		PUSHL	#^X20

                          00     DD  0948       		PUSHL	#0

                 000000C4'EF     DD  094A       		PUSHL	STRLEN

                 00000101'EF     DF  0950       		PUSHAL	FAO_BUFFER

                          00     DD  0956       		PUSHL	#0

                 00001160'EF     DF  0958       		PUSHAL	SUCA4

                          00     DD  095E       		PUSHL	#0

            7E       0000'8F     3C  0960       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   0000003C'EF     3C  0965       		MOVZWL	CHAN4,-(SP)

                          00     DD  096C       		PUSHL	#0

   00000000'GF            0C     FB  096E       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0975       30052$:	BLBS	R0,30053$

   000000C0'EF         FA AF     DE  0978       	MOVAL	30052$,DIEARG

                          F695   31  0980       	BRW	DIE

                                     0983       30053$:

                                     0983       30051$:

                                     0983   533 	STARTUP	5

                 000000DA'EF     96  0983       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF            20     93  0989       		BITB	#1@5,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0990       		BNEQ	30054$			; BR IF YES

                          00FA   31  0992       		BRW	30059$			; ELSE JMP

                                     0995       30054$:

                 000000F7'EF     94  0995       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  099B       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         09A2       

                          7E     7C  09A7       		CLRQ	-(SP)

                 00000048'EF     3F  09A9       		PUSHAW	CHAN5

                 000000DB'EF     7F  09AF       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  09B5       		CALLS	#4,G^SYS$ASSIGN

            35            50     E8  09BC       		BLBS	R0,30055$			; BR IF OK

                 000000DB'EF     D7  09BF       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF            20     8A  09C5       		BICB	#1@5,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  09CC       	  	PUSHL	#0

                          05     DD  09CE       	  	PUSHL	#5

                 000000DB'8F     DD  09D0       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  09D6       	  	PUSHL	#TSTNAM

                          04     DD  09DC       	  	PUSHL	#4

                 00000000'8F     DD  09DE       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  09E4       		CALLS	#$$T1,@#LIB$SIGNAL

                 000000DB'EF     D6  09EB       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  09F1       		BRW	30059$			; GO TO THE NEXT TTY

                                     09F4       30055$:

   000000F7'EF            35     90  09F4       		MOVB	#^X30+5,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  09FB       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  22

1.11            MAIN CODE                                                                                                        (2)



                 000000CF'EF     D4  0A06       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   0000004C'EF     D0  0A0C       		MOVL	ITER5,ARGS+8		; SET PAGE NUMBER

            35   00000076'EF     91  0A17       		CMPB	TTY_CHAR5,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  0A1E       		BNEQ	30056$			; BR IF NOT

            56   0000008C'EF     DE  0A20       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                          19     11  0A27       		BRB	30058$			; BR TO COMMON

                                     0A29       30056$:

            12   00000076'EF     91  0A29       		CMPB	TTY_CHAR5,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0A30       		BNEQ	30057$			; BR IF NOT

            56   00000106'EF     DE  0A32       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                          07     11  0A39       		BRB	30058$			; BR TO COMMON

                                     0A3B       30057$:

            56   000000C9'EF     DE  0A3B       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     0A42       30058$:

            5A            66     DE  0A42       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0A45       	MOVAL	ARGS,R11

                     F5B0 CF     16  0A4C       	JSB	DISPLAY

                          7E     7C  0A50       		CLRQ	-(SP)

                          20     DD  0A52       		PUSHL	#^X20

                          00     DD  0A54       		PUSHL	#0

                 000000C4'EF     DD  0A56       		PUSHL	STRLEN

                 00000101'EF     DF  0A5C       		PUSHAL	FAO_BUFFER

                          00     DD  0A62       		PUSHL	#0

                 00001288'EF     DF  0A64       		PUSHAL	SUCA5

                          00     DD  0A6A       		PUSHL	#0

            7E       0000'8F     3C  0A6C       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000048'EF     3C  0A71       		MOVZWL	CHAN5,-(SP)

                          00     DD  0A78       		PUSHL	#0

   00000000'GF            0C     FB  0A7A       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0A81       30060$:	BLBS	R0,30061$

   000000C0'EF         FA AF     DE  0A84       	MOVAL	30060$,DIEARG

                          F589   31  0A8C       	BRW	DIE

                                     0A8F       30061$:

                                     0A8F       30059$:

                                     0A8F   534 	STARTUP	6

                 000000DA'EF     96  0A8F       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF         40 8F     93  0A95       		BITB	#1@6,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0A9D       		BNEQ	30062$			; BR IF YES

                          00FB   31  0A9F       		BRW	30067$			; ELSE JMP

                                     0AA2       30062$:

                 000000F7'EF     94  0AA2       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  0AA8       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         0AAF       

                          7E     7C  0AB4       		CLRQ	-(SP)

                 00000054'EF     3F  0AB6       		PUSHAW	CHAN6

                 000000DB'EF     7F  0ABC       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  0AC2       		CALLS	#4,G^SYS$ASSIGN

            36            50     E8  0AC9       		BLBS	R0,30063$			; BR IF OK

                 000000DB'EF     D7  0ACC       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF         40 8F     8A  0AD2       		BICB	#1@6,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  0ADA       	  	PUSHL	#0

                          06     DD  0ADC       	  	PUSHL	#6

                 000000DB'8F     DD  0ADE       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  0AE4       	  	PUSHL	#TSTNAM

                          04     DD  0AEA       	  	PUSHL	#4

                 00000000'8F     DD  0AEC       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  0AF2       		CALLS	#$$T1,@#LIB$SIGNAL

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  23

1.11            MAIN CODE                                                                                                        (2)



                 000000DB'EF     D6  0AF9       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  0AFF       		BRW	30067$			; GO TO THE NEXT TTY

                                     0B02       30063$:

   000000F7'EF            36     90  0B02       		MOVB	#^X30+6,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  0B09       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                 000000CF'EF     D4  0B14       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   00000058'EF     D0  0B1A       		MOVL	ITER6,ARGS+8		; SET PAGE NUMBER

            35   00000078'EF     91  0B25       		CMPB	TTY_CHAR6,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  0B2C       		BNEQ	30064$			; BR IF NOT

            56   0000008C'EF     DE  0B2E       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                          19     11  0B35       		BRB	30066$			; BR TO COMMON

                                     0B37       30064$:

            12   00000078'EF     91  0B37       		CMPB	TTY_CHAR6,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0B3E       		BNEQ	30065$			; BR IF NOT

            56   00000106'EF     DE  0B40       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                          07     11  0B47       		BRB	30066$			; BR TO COMMON

                                     0B49       30065$:

            56   000000C9'EF     DE  0B49       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     0B50       30066$:

            5A            66     DE  0B50       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0B53       	MOVAL	ARGS,R11

                     F4A2 CF     16  0B5A       	JSB	DISPLAY

                          7E     7C  0B5E       		CLRQ	-(SP)

                          20     DD  0B60       		PUSHL	#^X20

                          00     DD  0B62       		PUSHL	#0

                 000000C4'EF     DD  0B64       		PUSHL	STRLEN

                 00000101'EF     DF  0B6A       		PUSHAL	FAO_BUFFER

                          00     DD  0B70       		PUSHL	#0

                 000013B0'EF     DF  0B72       		PUSHAL	SUCA6

                          00     DD  0B78       		PUSHL	#0

            7E       0000'8F     3C  0B7A       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000054'EF     3C  0B7F       		MOVZWL	CHAN6,-(SP)

                          00     DD  0B86       		PUSHL	#0

   00000000'GF            0C     FB  0B88       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0B8F       30068$:	BLBS	R0,30069$

   000000C0'EF         FA AF     DE  0B92       	MOVAL	30068$,DIEARG

                          F47B   31  0B9A       	BRW	DIE

                                     0B9D       30069$:

                                     0B9D       30067$:

                                     0B9D   535 	STARTUP	7

                 000000DA'EF     96  0B9D       		INCB	UNIT_NUM		; BUMP THE UNIT NUMBER

   000000D9'EF         80 8F     93  0BA3       		BITB	#1@7,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0BAB       		BNEQ	30070$			; BR IF YES

                          00FB   31  0BAD       		BRW	30075$			; ELSE JMP

                                     0BB0       30070$:

                 000000F7'EF     94  0BB0       		CLRB	CNTRL_NAME+3		; CLEAR UNIT #

   000000DA'EF            30     81  0BB6       		ADDB3	#^X30,UNIT_NUM,CNTRL_NAME+3 ; CONVERT TO ASCII

                 000000F7'EF         0BBD       

                          7E     7C  0BC2       		CLRQ	-(SP)

                 00000060'EF     3F  0BC4       		PUSHAW	CHAN7

                 000000DB'EF     7F  0BCA       		PUSHAQ	CNTRL_NAME_STR

   00000000'GF            04     FB  0BD0       		CALLS	#4,G^SYS$ASSIGN

            36            50     E8  0BD7       		BLBS	R0,30071$			; BR IF OK

                 000000DB'EF     D7  0BDA       		DECL	CNTRL_NAME_STR		; DON'T PRINT UNIT FIELD

   000000D9'EF         80 8F     8A  0BE0       		BICB	#1@7,UNIT_MASK		; DESELECT THE UNIT

                          00     DD  0BE8       	  	PUSHL	#0

                          07     DD  0BEA       	  	PUSHL	#7

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  24

1.11            MAIN CODE                                                                                                        (2)



                 000000DB'8F     DD  0BEC       	  	PUSHL	#CNTRL_NAME_STR

                 00000000'8F     DD  0BF2       	  	PUSHL	#TSTNAM

                          04     DD  0BF8       	  	PUSHL	#4

                 00000000'8F     DD  0BFA       	  	PUSHL	#UETP$_DESTP

   00000000'9F            06     FB  0C00       		CALLS	#$$T1,@#LIB$SIGNAL

                 000000DB'EF     D6  0C07       		INCL	CNTRL_NAME_STR		; RESET UNIT FIELD

                          009B   31  0C0D       		BRW	30075$			; GO TO THE NEXT TTY

                                     0C10       30071$:

   000000F7'EF            37     90  0C10       		MOVB	#^X30+7,CNTRL_NAME+3	; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  0C17       		MOVAL	CNTRL_NAME_STR,ARGS	; SET NAME POINTER

                 000000CF'EF     D4  0C22       		CLRL	ARGS+3			; SET FOR CURRENT TIME

   000000D4'EF   00000064'EF     D0  0C28       		MOVL	ITER7,ARGS+8		; SET PAGE NUMBER

            35   0000007A'EF     91  0C33       		CMPB	TTY_CHAR7,#LA36_LIN_PER ; IS THIS AN LA36?

                          09     12  0C3A       		BNEQ	30072$			; BR IF NOT

            56   0000008C'EF     DE  0C3C       		MOVAL	PAGE_HEAD0,R6		; SET UP FOR LA36 HEADER

                          19     11  0C43       		BRB	30074$			; BR TO COMMON

                                     0C45       30072$:

            12   0000007A'EF     91  0C45       		CMPB	TTY_CHAR7,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0C4C       		BNEQ	30073$			; BR IF NOT

            56   00000106'EF     DE  0C4E       		MOVAL	PAGE_HEAD2,R6		; SET UP FOR VT05 HEADER

                          07     11  0C55       		BRB	30074$			; BR TO COMMON

                                     0C57       30073$:

            56   000000C9'EF     DE  0C57       		MOVAL	PAGE_HEAD1,R6		; SET UP FOR VT52,5 HEADER

                                     0C5E       30074$:

            5A            66     DE  0C5E       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0C61       	MOVAL	ARGS,R11

                     F394 CF     16  0C68       	JSB	DISPLAY

                          7E     7C  0C6C       		CLRQ	-(SP)

                          20     DD  0C6E       		PUSHL	#^X20

                          00     DD  0C70       		PUSHL	#0

                 000000C4'EF     DD  0C72       		PUSHL	STRLEN

                 00000101'EF     DF  0C78       		PUSHAL	FAO_BUFFER

                          00     DD  0C7E       		PUSHL	#0

                 000014D9'EF     DF  0C80       		PUSHAL	SUCA7

                          00     DD  0C86       		PUSHL	#0

            7E       0000'8F     3C  0C88       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000060'EF     3C  0C8D       		MOVZWL	CHAN7,-(SP)

                          00     DD  0C94       		PUSHL	#0

   00000000'GF            0C     FB  0C96       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0C9D       30076$:	BLBS	R0,30077$

   000000C0'EF         FA AF     DE  0CA0       	MOVAL	30076$,DIEARG

                          F36D   31  0CA8       	BRW	DIE

                                     0CAB       30077$:

                                     0CAB       30075$:

                 000000D9'EF     95  0CAB   536 	TSTB	UNIT_MASK		; ANY TESTABLE UNITS?

                          07     13  0CB1   537 	BEQL	10$			; BR IF NOT

                                     0CB3   538 	$HIBER_S

   00000000'GF            00     FB  0CB3       		CALLS	#0,G^SYS$HIBER

                                     0CBA   539 10$:

                 00001602'EF     17  0CBA   540 	JMP	ERR_EXIT		; ERROR EXIT !

                                     0CC0   541 	TERMTEST	0	; SERVICE AST'S

                                     0CC0       SUCA0:

                               0FFC  0CC0       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  0CC2       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  0CC9       		BNEQ	5$		; BR IF YES

                 00000014'EF     D6  0CCB       		INCL	LINES0		; INCREMENT ITERATION COUNT

   0000006C'EF   00000014'EF     91  0CD1       		CMPB	LINES0,TTY_CHAR0 ; IS THIS PAGE DONE?

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  25

1.11            MAIN CODE                                                                                                        (2)



                          33     12  0CDC       		BNEQ	20$		; BR IF NOT

                 00000014'EF     D4  0CDE       		CLRL	LINES0		; RESET THE LINE COUNT

                 00000010'EF     D6  0CE4       		INCL	ITER0		; BUMP PAGE COUNT

   0000006D'EF   00000010'EF     91  0CEA       		CMPB	ITER0,TTY_CHAR0+1 ; IS THIS TTY  DONE?

                          57     12  0CF5       		BNEQ	30$		; BR IF NOT

                                     0CF7       5$:

   000000D8'EF            01     88  0CF7       		BISB2	#1@0,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  0CFE       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  0D09       		BEQL	10$		; BR IF YES

                          00D9   31  0D0B       		BRW	70$		; RET

                                     0D0E       10$:

                          090B   31  0D0E       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     0D11       20$:

                          7E     7C  0D11       		CLRQ	-(SP)

                          20     DD  0D13       		PUSHL	#^X20

                          00     DD  0D15       		PUSHL	#0

                 00000080'EF     DD  0D17       		PUSHL	DATA0+4

                 0000007C'FF     DF  0D1D       		PUSHAL	@DATA0

                          00     DD  0D23       		PUSHL	#0

                       98 AF     DF  0D25       		PUSHAL	SUCA0

                          00     DD  0D28       		PUSHL	#0

            7E       0000'8F     3C  0D2A       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   0000000C'EF     3C  0D2F       		MOVZWL	CHAN0,-(SP)

                          00     DD  0D36       		PUSHL	#0

   00000000'GF            0C     FB  0D38       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0D3F       30078$:	BLBS	R0,30079$

   000000C0'EF         FA AF     DE  0D42       	MOVAL	30078$,DIEARG

                          F2CB   31  0D4A       	BRW	DIE

                                     0D4D       30079$:

                                 04  0D4D       		RET			; HIBERNATE

                                     0D4E       30$:

   000000F7'EF            30     90  0D4E       		MOVB	#^X30+0,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  0D55       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  0D60       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   00000010'EF     D0  0D66       		MOVL	ITER0,ARGS+8	; GET PAGE NUMBER

            35   0000006C'EF     91  0D71       		CMPB	TTY_CHAR0,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  0D78       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  0D7A       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  0D81       		BRB	60$		; GO TO COMMON CODE

                                     0D83       40$:

            12   0000006C'EF     91  0D83       		CMPB	TTY_CHAR0,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0D8A       		BNEQ	50$		; BR IF NOT

            56   00000106'EF     DE  0D8C       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  0D93       		BRB	60$		; GO TO COMMON CODE

                                     0D95       50$:

            56   000000C9'EF     DE  0D95       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     0D9C       60$:

            5A            66     DE  0D9C       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0D9F       	MOVAL	ARGS,R11

                     F256 CF     16  0DA6       	JSB	DISPLAY

                          7E     7C  0DAA       		CLRQ	-(SP)

                          20     DD  0DAC       		PUSHL	#^X20

                          00     DD  0DAE       		PUSHL	#0

                 000000C4'EF     DD  0DB0       		PUSHL	STRLEN

                 00000101'EF     DF  0DB6       		PUSHAL	FAO_BUFFER

                          00     DD  0DBC       		PUSHL	#0

                     FEFE CF     DF  0DBE       		PUSHAL	SUCA0

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  26

1.11            MAIN CODE                                                                                                        (2)



                          00     DD  0DC2       		PUSHL	#0

            7E       0000'8F     3C  0DC4       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   0000000C'EF     3C  0DC9       		MOVZWL	CHAN0,-(SP)

                          00     DD  0DD0       		PUSHL	#0

   00000000'GF            0C     FB  0DD2       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0DD9       30080$:	BLBS	R0,30081$

   000000C0'EF         FA AF     DE  0DDC       	MOVAL	30080$,DIEARG

                          F231   31  0DE4       	BRW	DIE

                                     0DE7       30081$:

                                     0DE7       70$:

                                 04  0DE7       		RET			; HIBERNATE

                                     0DE8   542 	TERMTEST	1	; UNIT 1

                                     0DE8       SUCA1:

                               0FFC  0DE8       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  0DEA       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  0DF1       		BNEQ	5$		; BR IF YES

                 00000020'EF     D6  0DF3       		INCL	LINES1		; INCREMENT ITERATION COUNT

   0000006E'EF   00000020'EF     91  0DF9       		CMPB	LINES1,TTY_CHAR1 ; IS THIS PAGE DONE?

                          33     12  0E04       		BNEQ	20$		; BR IF NOT

                 00000020'EF     D4  0E06       		CLRL	LINES1		; RESET THE LINE COUNT

                 0000001C'EF     D6  0E0C       		INCL	ITER1		; BUMP PAGE COUNT

   0000006F'EF   0000001C'EF     91  0E12       		CMPB	ITER1,TTY_CHAR1+1 ; IS THIS TTY  DONE?

                          57     12  0E1D       		BNEQ	30$		; BR IF NOT

                                     0E1F       5$:

   000000D8'EF            02     88  0E1F       		BISB2	#1@1,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  0E26       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  0E31       		BEQL	10$		; BR IF YES

                          00D9   31  0E33       		BRW	70$		; RET

                                     0E36       10$:

                          07E3   31  0E36       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     0E39       20$:

                          7E     7C  0E39       		CLRQ	-(SP)

                          20     DD  0E3B       		PUSHL	#^X20

                          00     DD  0E3D       		PUSHL	#0

                 00000088'EF     DD  0E3F       		PUSHL	DATA1+4

                 00000084'FF     DF  0E45       		PUSHAL	@DATA1

                          00     DD  0E4B       		PUSHL	#0

                       98 AF     DF  0E4D       		PUSHAL	SUCA1

                          00     DD  0E50       		PUSHL	#0

            7E       0000'8F     3C  0E52       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000018'EF     3C  0E57       		MOVZWL	CHAN1,-(SP)

                          00     DD  0E5E       		PUSHL	#0

   00000000'GF            0C     FB  0E60       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0E67       30082$:	BLBS	R0,30083$

   000000C0'EF         FA AF     DE  0E6A       	MOVAL	30082$,DIEARG

                          F1A3   31  0E72       	BRW	DIE

                                     0E75       30083$:

                                 04  0E75       		RET			; HIBERNATE

                                     0E76       30$:

   000000F7'EF            31     90  0E76       		MOVB	#^X30+1,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  0E7D       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  0E88       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   0000001C'EF     D0  0E8E       		MOVL	ITER1,ARGS+8	; GET PAGE NUMBER

            35   0000006E'EF     91  0E99       		CMPB	TTY_CHAR1,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  0EA0       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  0EA2       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  0EA9       		BRB	60$		; GO TO COMMON CODE

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  27

1.11            MAIN CODE                                                                                                        (2)



                                     0EAB       40$:

            12   0000006E'EF     91  0EAB       		CMPB	TTY_CHAR1,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0EB2       		BNEQ	50$		; BR IF NOT

            56   00000106'EF     DE  0EB4       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  0EBB       		BRB	60$		; GO TO COMMON CODE

                                     0EBD       50$:

            56   000000C9'EF     DE  0EBD       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     0EC4       60$:

            5A            66     DE  0EC4       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0EC7       	MOVAL	ARGS,R11

                     F12E CF     16  0ECE       	JSB	DISPLAY

                          7E     7C  0ED2       		CLRQ	-(SP)

                          20     DD  0ED4       		PUSHL	#^X20

                          00     DD  0ED6       		PUSHL	#0

                 000000C4'EF     DD  0ED8       		PUSHL	STRLEN

                 00000101'EF     DF  0EDE       		PUSHAL	FAO_BUFFER

                          00     DD  0EE4       		PUSHL	#0

                     FEFE CF     DF  0EE6       		PUSHAL	SUCA1

                          00     DD  0EEA       		PUSHL	#0

            7E       0000'8F     3C  0EEC       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000018'EF     3C  0EF1       		MOVZWL	CHAN1,-(SP)

                          00     DD  0EF8       		PUSHL	#0

   00000000'GF            0C     FB  0EFA       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0F01       30084$:	BLBS	R0,30085$

   000000C0'EF         FA AF     DE  0F04       	MOVAL	30084$,DIEARG

                          F109   31  0F0C       	BRW	DIE

                                     0F0F       30085$:

                                     0F0F       70$:

                                 04  0F0F       		RET			; HIBERNATE

                                     0F10   543 	TERMTEST	2	; UNIT 2

                                     0F10       SUCA2:

                               0FFC  0F10       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  0F12       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  0F19       		BNEQ	5$		; BR IF YES

                 0000002C'EF     D6  0F1B       		INCL	LINES2		; INCREMENT ITERATION COUNT

   00000070'EF   0000002C'EF     91  0F21       		CMPB	LINES2,TTY_CHAR2 ; IS THIS PAGE DONE?

                          33     12  0F2C       		BNEQ	20$		; BR IF NOT

                 0000002C'EF     D4  0F2E       		CLRL	LINES2		; RESET THE LINE COUNT

                 00000028'EF     D6  0F34       		INCL	ITER2		; BUMP PAGE COUNT

   00000071'EF   00000028'EF     91  0F3A       		CMPB	ITER2,TTY_CHAR2+1 ; IS THIS TTY  DONE?

                          57     12  0F45       		BNEQ	30$		; BR IF NOT

                                     0F47       5$:

   000000D8'EF            04     88  0F47       		BISB2	#1@2,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  0F4E       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  0F59       		BEQL	10$		; BR IF YES

                          00D9   31  0F5B       		BRW	70$		; RET

                                     0F5E       10$:

                          06BB   31  0F5E       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     0F61       20$:

                          7E     7C  0F61       		CLRQ	-(SP)

                          20     DD  0F63       		PUSHL	#^X20

                          00     DD  0F65       		PUSHL	#0

                 00000090'EF     DD  0F67       		PUSHL	DATA2+4

                 0000008C'FF     DF  0F6D       		PUSHAL	@DATA2

                          00     DD  0F73       		PUSHL	#0

                       98 AF     DF  0F75       		PUSHAL	SUCA2

                          00     DD  0F78       		PUSHL	#0

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  28

1.11            MAIN CODE                                                                                                        (2)



            7E       0000'8F     3C  0F7A       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000024'EF     3C  0F7F       		MOVZWL	CHAN2,-(SP)

                          00     DD  0F86       		PUSHL	#0

   00000000'GF            0C     FB  0F88       		CALLS	#12,G^SYS$QIO

            0B            50     E8  0F8F       30086$:	BLBS	R0,30087$

   000000C0'EF         FA AF     DE  0F92       	MOVAL	30086$,DIEARG

                          F07B   31  0F9A       	BRW	DIE

                                     0F9D       30087$:

                                 04  0F9D       		RET			; HIBERNATE

                                     0F9E       30$:

   000000F7'EF            32     90  0F9E       		MOVB	#^X30+2,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  0FA5       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  0FB0       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   00000028'EF     D0  0FB6       		MOVL	ITER2,ARGS+8	; GET PAGE NUMBER

            35   00000070'EF     91  0FC1       		CMPB	TTY_CHAR2,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  0FC8       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  0FCA       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  0FD1       		BRB	60$		; GO TO COMMON CODE

                                     0FD3       40$:

            12   00000070'EF     91  0FD3       		CMPB	TTY_CHAR2,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  0FDA       		BNEQ	50$		; BR IF NOT

            56   00000106'EF     DE  0FDC       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  0FE3       		BRB	60$		; GO TO COMMON CODE

                                     0FE5       50$:

            56   000000C9'EF     DE  0FE5       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     0FEC       60$:

            5A            66     DE  0FEC       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  0FEF       	MOVAL	ARGS,R11

                     F006 CF     16  0FF6       	JSB	DISPLAY

                          7E     7C  0FFA       		CLRQ	-(SP)

                          20     DD  0FFC       		PUSHL	#^X20

                          00     DD  0FFE       		PUSHL	#0

                 000000C4'EF     DD  1000       		PUSHL	STRLEN

                 00000101'EF     DF  1006       		PUSHAL	FAO_BUFFER

                          00     DD  100C       		PUSHL	#0

                     FEFE CF     DF  100E       		PUSHAL	SUCA2

                          00     DD  1012       		PUSHL	#0

            7E       0000'8F     3C  1014       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000024'EF     3C  1019       		MOVZWL	CHAN2,-(SP)

                          00     DD  1020       		PUSHL	#0

   00000000'GF            0C     FB  1022       		CALLS	#12,G^SYS$QIO

            0B            50     E8  1029       30088$:	BLBS	R0,30089$

   000000C0'EF         FA AF     DE  102C       	MOVAL	30088$,DIEARG

                          EFE1   31  1034       	BRW	DIE

                                     1037       30089$:

                                     1037       70$:

                                 04  1037       		RET			; HIBERNATE

                                     1038   544 	TERMTEST	3	; UNIT 3

                                     1038       SUCA3:

                               0FFC  1038       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  103A       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  1041       		BNEQ	5$		; BR IF YES

                 00000038'EF     D6  1043       		INCL	LINES3		; INCREMENT ITERATION COUNT

   00000072'EF   00000038'EF     91  1049       		CMPB	LINES3,TTY_CHAR3 ; IS THIS PAGE DONE?

                          33     12  1054       		BNEQ	20$		; BR IF NOT

                 00000038'EF     D4  1056       		CLRL	LINES3		; RESET THE LINE COUNT

                 00000034'EF     D6  105C       		INCL	ITER3		; BUMP PAGE COUNT

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  29

1.11            MAIN CODE                                                                                                        (2)



   00000073'EF   00000034'EF     91  1062       		CMPB	ITER3,TTY_CHAR3+1 ; IS THIS TTY  DONE?

                          57     12  106D       		BNEQ	30$		; BR IF NOT

                                     106F       5$:

   000000D8'EF            08     88  106F       		BISB2	#1@3,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  1076       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  1081       		BEQL	10$		; BR IF YES

                          00D9   31  1083       		BRW	70$		; RET

                                     1086       10$:

                          0593   31  1086       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     1089       20$:

                          7E     7C  1089       		CLRQ	-(SP)

                          20     DD  108B       		PUSHL	#^X20

                          00     DD  108D       		PUSHL	#0

                 00000098'EF     DD  108F       		PUSHL	DATA3+4

                 00000094'FF     DF  1095       		PUSHAL	@DATA3

                          00     DD  109B       		PUSHL	#0

                       98 AF     DF  109D       		PUSHAL	SUCA3

                          00     DD  10A0       		PUSHL	#0

            7E       0000'8F     3C  10A2       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000030'EF     3C  10A7       		MOVZWL	CHAN3,-(SP)

                          00     DD  10AE       		PUSHL	#0

   00000000'GF            0C     FB  10B0       		CALLS	#12,G^SYS$QIO

            0B            50     E8  10B7       30090$:	BLBS	R0,30091$

   000000C0'EF         FA AF     DE  10BA       	MOVAL	30090$,DIEARG

                          EF53   31  10C2       	BRW	DIE

                                     10C5       30091$:

                                 04  10C5       		RET			; HIBERNATE

                                     10C6       30$:

   000000F7'EF            33     90  10C6       		MOVB	#^X30+3,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  10CD       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  10D8       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   00000034'EF     D0  10DE       		MOVL	ITER3,ARGS+8	; GET PAGE NUMBER

            35   00000072'EF     91  10E9       		CMPB	TTY_CHAR3,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  10F0       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  10F2       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  10F9       		BRB	60$		; GO TO COMMON CODE

                                     10FB       40$:

            12   00000072'EF     91  10FB       		CMPB	TTY_CHAR3,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  1102       		BNEQ	50$		; BR IF NOT

            56   00000106'EF     DE  1104       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  110B       		BRB	60$		; GO TO COMMON CODE

                                     110D       50$:

            56   000000C9'EF     DE  110D       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     1114       60$:

            5A            66     DE  1114       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  1117       	MOVAL	ARGS,R11

                     EEDE CF     16  111E       	JSB	DISPLAY

                          7E     7C  1122       		CLRQ	-(SP)

                          20     DD  1124       		PUSHL	#^X20

                          00     DD  1126       		PUSHL	#0

                 000000C4'EF     DD  1128       		PUSHL	STRLEN

                 00000101'EF     DF  112E       		PUSHAL	FAO_BUFFER

                          00     DD  1134       		PUSHL	#0

                     FEFE CF     DF  1136       		PUSHAL	SUCA3

                          00     DD  113A       		PUSHL	#0

            7E       0000'8F     3C  113C       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000030'EF     3C  1141       		MOVZWL	CHAN3,-(SP)

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  30

1.11            MAIN CODE                                                                                                        (2)



                          00     DD  1148       		PUSHL	#0

   00000000'GF            0C     FB  114A       		CALLS	#12,G^SYS$QIO

            0B            50     E8  1151       30092$:	BLBS	R0,30093$

   000000C0'EF         FA AF     DE  1154       	MOVAL	30092$,DIEARG

                          EEB9   31  115C       	BRW	DIE

                                     115F       30093$:

                                     115F       70$:

                                 04  115F       		RET			; HIBERNATE

                                     1160   545 	TERMTEST	4	; UNIT 4

                                     1160       SUCA4:

                               0FFC  1160       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  1162       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  1169       		BNEQ	5$		; BR IF YES

                 00000044'EF     D6  116B       		INCL	LINES4		; INCREMENT ITERATION COUNT

   00000074'EF   00000044'EF     91  1171       		CMPB	LINES4,TTY_CHAR4 ; IS THIS PAGE DONE?

                          33     12  117C       		BNEQ	20$		; BR IF NOT

                 00000044'EF     D4  117E       		CLRL	LINES4		; RESET THE LINE COUNT

                 00000040'EF     D6  1184       		INCL	ITER4		; BUMP PAGE COUNT

   00000075'EF   00000040'EF     91  118A       		CMPB	ITER4,TTY_CHAR4+1 ; IS THIS TTY  DONE?

                          57     12  1195       		BNEQ	30$		; BR IF NOT

                                     1197       5$:

   000000D8'EF            10     88  1197       		BISB2	#1@4,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  119E       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  11A9       		BEQL	10$		; BR IF YES

                          00D9   31  11AB       		BRW	70$		; RET

                                     11AE       10$:

                          046B   31  11AE       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     11B1       20$:

                          7E     7C  11B1       		CLRQ	-(SP)

                          20     DD  11B3       		PUSHL	#^X20

                          00     DD  11B5       		PUSHL	#0

                 000000A0'EF     DD  11B7       		PUSHL	DATA4+4

                 0000009C'FF     DF  11BD       		PUSHAL	@DATA4

                          00     DD  11C3       		PUSHL	#0

                       98 AF     DF  11C5       		PUSHAL	SUCA4

                          00     DD  11C8       		PUSHL	#0

            7E       0000'8F     3C  11CA       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   0000003C'EF     3C  11CF       		MOVZWL	CHAN4,-(SP)

                          00     DD  11D6       		PUSHL	#0

   00000000'GF            0C     FB  11D8       		CALLS	#12,G^SYS$QIO

            0B            50     E8  11DF       30094$:	BLBS	R0,30095$

   000000C0'EF         FA AF     DE  11E2       	MOVAL	30094$,DIEARG

                          EE2B   31  11EA       	BRW	DIE

                                     11ED       30095$:

                                 04  11ED       		RET			; HIBERNATE

                                     11EE       30$:

   000000F7'EF            34     90  11EE       		MOVB	#^X30+4,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  11F5       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  1200       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   00000040'EF     D0  1206       		MOVL	ITER4,ARGS+8	; GET PAGE NUMBER

            35   00000074'EF     91  1211       		CMPB	TTY_CHAR4,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  1218       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  121A       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  1221       		BRB	60$		; GO TO COMMON CODE

                                     1223       40$:

            12   00000074'EF     91  1223       		CMPB	TTY_CHAR4,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  122A       		BNEQ	50$		; BR IF NOT

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  31

1.11            MAIN CODE                                                                                                        (2)



            56   00000106'EF     DE  122C       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  1233       		BRB	60$		; GO TO COMMON CODE

                                     1235       50$:

            56   000000C9'EF     DE  1235       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     123C       60$:

            5A            66     DE  123C       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  123F       	MOVAL	ARGS,R11

                     EDB6 CF     16  1246       	JSB	DISPLAY

                          7E     7C  124A       		CLRQ	-(SP)

                          20     DD  124C       		PUSHL	#^X20

                          00     DD  124E       		PUSHL	#0

                 000000C4'EF     DD  1250       		PUSHL	STRLEN

                 00000101'EF     DF  1256       		PUSHAL	FAO_BUFFER

                          00     DD  125C       		PUSHL	#0

                     FEFE CF     DF  125E       		PUSHAL	SUCA4

                          00     DD  1262       		PUSHL	#0

            7E       0000'8F     3C  1264       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   0000003C'EF     3C  1269       		MOVZWL	CHAN4,-(SP)

                          00     DD  1270       		PUSHL	#0

   00000000'GF            0C     FB  1272       		CALLS	#12,G^SYS$QIO

            0B            50     E8  1279       30096$:	BLBS	R0,30097$

   000000C0'EF         FA AF     DE  127C       	MOVAL	30096$,DIEARG

                          ED91   31  1284       	BRW	DIE

                                     1287       30097$:

                                     1287       70$:

                                 04  1287       		RET			; HIBERNATE

                                     1288   546 	TERMTEST	5	; UNIT 5

                                     1288       SUCA5:

                               0FFC  1288       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  128A       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  1291       		BNEQ	5$		; BR IF YES

                 00000050'EF     D6  1293       		INCL	LINES5		; INCREMENT ITERATION COUNT

   00000076'EF   00000050'EF     91  1299       		CMPB	LINES5,TTY_CHAR5 ; IS THIS PAGE DONE?

                          33     12  12A4       		BNEQ	20$		; BR IF NOT

                 00000050'EF     D4  12A6       		CLRL	LINES5		; RESET THE LINE COUNT

                 0000004C'EF     D6  12AC       		INCL	ITER5		; BUMP PAGE COUNT

   00000077'EF   0000004C'EF     91  12B2       		CMPB	ITER5,TTY_CHAR5+1 ; IS THIS TTY  DONE?

                          57     12  12BD       		BNEQ	30$		; BR IF NOT

                                     12BF       5$:

   000000D8'EF            20     88  12BF       		BISB2	#1@5,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  12C6       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  12D1       		BEQL	10$		; BR IF YES

                          00D9   31  12D3       		BRW	70$		; RET

                                     12D6       10$:

                          0343   31  12D6       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     12D9       20$:

                          7E     7C  12D9       		CLRQ	-(SP)

                          20     DD  12DB       		PUSHL	#^X20

                          00     DD  12DD       		PUSHL	#0

                 000000A8'EF     DD  12DF       		PUSHL	DATA5+4

                 000000A4'FF     DF  12E5       		PUSHAL	@DATA5

                          00     DD  12EB       		PUSHL	#0

                       98 AF     DF  12ED       		PUSHAL	SUCA5

                          00     DD  12F0       		PUSHL	#0

            7E       0000'8F     3C  12F2       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000048'EF     3C  12F7       		MOVZWL	CHAN5,-(SP)

                          00     DD  12FE       		PUSHL	#0

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  32

1.11            MAIN CODE                                                                                                        (2)



   00000000'GF            0C     FB  1300       		CALLS	#12,G^SYS$QIO

            0B            50     E8  1307       30098$:	BLBS	R0,30099$

   000000C0'EF         FA AF     DE  130A       	MOVAL	30098$,DIEARG

                          ED03   31  1312       	BRW	DIE

                                     1315       30099$:

                                 04  1315       		RET			; HIBERNATE

                                     1316       30$:

   000000F7'EF            35     90  1316       		MOVB	#^X30+5,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  131D       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  1328       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   0000004C'EF     D0  132E       		MOVL	ITER5,ARGS+8	; GET PAGE NUMBER

            35   00000076'EF     91  1339       		CMPB	TTY_CHAR5,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  1340       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  1342       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  1349       		BRB	60$		; GO TO COMMON CODE

                                     134B       40$:

            12   00000076'EF     91  134B       		CMPB	TTY_CHAR5,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  1352       		BNEQ	50$		; BR IF NOT

            56   00000106'EF     DE  1354       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  135B       		BRB	60$		; GO TO COMMON CODE

                                     135D       50$:

            56   000000C9'EF     DE  135D       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     1364       60$:

            5A            66     DE  1364       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  1367       	MOVAL	ARGS,R11

                     EC8E CF     16  136E       	JSB	DISPLAY

                          7E     7C  1372       		CLRQ	-(SP)

                          20     DD  1374       		PUSHL	#^X20

                          00     DD  1376       		PUSHL	#0

                 000000C4'EF     DD  1378       		PUSHL	STRLEN

                 00000101'EF     DF  137E       		PUSHAL	FAO_BUFFER

                          00     DD  1384       		PUSHL	#0

                     FEFE CF     DF  1386       		PUSHAL	SUCA5

                          00     DD  138A       		PUSHL	#0

            7E       0000'8F     3C  138C       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000048'EF     3C  1391       		MOVZWL	CHAN5,-(SP)

                          00     DD  1398       		PUSHL	#0

   00000000'GF            0C     FB  139A       		CALLS	#12,G^SYS$QIO

            0B            50     E8  13A1       30100$:	BLBS	R0,30101$

   000000C0'EF         FA AF     DE  13A4       	MOVAL	30100$,DIEARG

                          EC69   31  13AC       	BRW	DIE

                                     13AF       30101$:

                                     13AF       70$:

                                 04  13AF       		RET			; HIBERNATE

                                     13B0   547 	TERMTEST	6	; UNIT 6

                                     13B0       SUCA6:

                               0FFC  13B0       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  13B2       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  13B9       		BNEQ	5$		; BR IF YES

                 0000005C'EF     D6  13BB       		INCL	LINES6		; INCREMENT ITERATION COUNT

   00000078'EF   0000005C'EF     91  13C1       		CMPB	LINES6,TTY_CHAR6 ; IS THIS PAGE DONE?

                          34     12  13CC       		BNEQ	20$		; BR IF NOT

                 0000005C'EF     D4  13CE       		CLRL	LINES6		; RESET THE LINE COUNT

                 00000058'EF     D6  13D4       		INCL	ITER6		; BUMP PAGE COUNT

   00000079'EF   00000058'EF     91  13DA       		CMPB	ITER6,TTY_CHAR6+1 ; IS THIS TTY  DONE?

                          58     12  13E5       		BNEQ	30$		; BR IF NOT

                                     13E7       5$:

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  33

1.11            MAIN CODE                                                                                                        (2)



   000000D8'EF         40 8F     88  13E7       		BISB2	#1@6,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  13EF       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  13FA       		BEQL	10$		; BR IF YES

                          00D9   31  13FC       		BRW	70$		; RET

                                     13FF       10$:

                          021A   31  13FF       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     1402       20$:

                          7E     7C  1402       		CLRQ	-(SP)

                          20     DD  1404       		PUSHL	#^X20

                          00     DD  1406       		PUSHL	#0

                 000000B0'EF     DD  1408       		PUSHL	DATA6+4

                 000000AC'FF     DF  140E       		PUSHAL	@DATA6

                          00     DD  1414       		PUSHL	#0

                       97 AF     DF  1416       		PUSHAL	SUCA6

                          00     DD  1419       		PUSHL	#0

            7E       0000'8F     3C  141B       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000054'EF     3C  1420       		MOVZWL	CHAN6,-(SP)

                          00     DD  1427       		PUSHL	#0

   00000000'GF            0C     FB  1429       		CALLS	#12,G^SYS$QIO

            0B            50     E8  1430       30102$:	BLBS	R0,30103$

   000000C0'EF         FA AF     DE  1433       	MOVAL	30102$,DIEARG

                          EBDA   31  143B       	BRW	DIE

                                     143E       30103$:

                                 04  143E       		RET			; HIBERNATE

                                     143F       30$:

   000000F7'EF            36     90  143F       		MOVB	#^X30+6,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  1446       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  1451       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   00000058'EF     D0  1457       		MOVL	ITER6,ARGS+8	; GET PAGE NUMBER

            35   00000078'EF     91  1462       		CMPB	TTY_CHAR6,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  1469       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  146B       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  1472       		BRB	60$		; GO TO COMMON CODE

                                     1474       40$:

            12   00000078'EF     91  1474       		CMPB	TTY_CHAR6,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  147B       		BNEQ	50$		; BR IF NOT

            56   00000106'EF     DE  147D       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  1484       		BRB	60$		; GO TO COMMON CODE

                                     1486       50$:

            56   000000C9'EF     DE  1486       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     148D       60$:

            5A            66     DE  148D       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  1490       	MOVAL	ARGS,R11

                     EB65 CF     16  1497       	JSB	DISPLAY

                          7E     7C  149B       		CLRQ	-(SP)

                          20     DD  149D       		PUSHL	#^X20

                          00     DD  149F       		PUSHL	#0

                 000000C4'EF     DD  14A1       		PUSHL	STRLEN

                 00000101'EF     DF  14A7       		PUSHAL	FAO_BUFFER

                          00     DD  14AD       		PUSHL	#0

                     FEFD CF     DF  14AF       		PUSHAL	SUCA6

                          00     DD  14B3       		PUSHL	#0

            7E       0000'8F     3C  14B5       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000054'EF     3C  14BA       		MOVZWL	CHAN6,-(SP)

                          00     DD  14C1       		PUSHL	#0

   00000000'GF            0C     FB  14C3       		CALLS	#12,G^SYS$QIO

            0B            50     E8  14CA       30104$:	BLBS	R0,30105$

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  34

1.11            MAIN CODE                                                                                                        (2)



   000000C0'EF         FA AF     DE  14CD       	MOVAL	30104$,DIEARG

                          EB40   31  14D5       	BRW	DIE

                                     14D8       30105$:

                                     14D8       70$:

                                 04  14D8       		RET			; HIBERNATE

                                     14D9   548 	TERMTEST	7	; UNIT 7

                                     14D9       SUCA7:

                               0FFC  14D9       		.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>		; AST ENTRY MASK

   00000000'EF            02     93  14DB       		BITB	#BIT1,IOSTAT	; ANY CONTROL C'S?

                          2C     12  14E2       		BNEQ	5$		; BR IF YES

                 00000068'EF     D6  14E4       		INCL	LINES7		; INCREMENT ITERATION COUNT

   0000007A'EF   00000068'EF     91  14EA       		CMPB	LINES7,TTY_CHAR7 ; IS THIS PAGE DONE?

                          34     12  14F5       		BNEQ	20$		; BR IF NOT

                 00000068'EF     D4  14F7       		CLRL	LINES7		; RESET THE LINE COUNT

                 00000064'EF     D6  14FD       		INCL	ITER7		; BUMP PAGE COUNT

   0000007B'EF   00000064'EF     91  1503       		CMPB	ITER7,TTY_CHAR7+1 ; IS THIS TTY  DONE?

                          58     12  150E       		BNEQ	30$		; BR IF NOT

                                     1510       5$:

   000000D8'EF         80 8F     88  1510       		BISB2	#1@7,DONE_FLAG	; SET DONE FLAG

   000000D9'EF   000000D8'EF     91  1518       		CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          03     13  1523       		BEQL	10$		; BR IF YES

                          00D9   31  1525       		BRW	70$		; RET

                                     1528       10$:

                          00F1   31  1528       		BRW	SUC_EXIT	; ALL DONE!!!!

                                     152B       20$:

                          7E     7C  152B       		CLRQ	-(SP)

                          20     DD  152D       		PUSHL	#^X20

                          00     DD  152F       		PUSHL	#0

                 000000B8'EF     DD  1531       		PUSHL	DATA7+4

                 000000B4'FF     DF  1537       		PUSHAL	@DATA7

                          00     DD  153D       		PUSHL	#0

                       97 AF     DF  153F       		PUSHAL	SUCA7

                          00     DD  1542       		PUSHL	#0

            7E       0000'8F     3C  1544       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000060'EF     3C  1549       		MOVZWL	CHAN7,-(SP)

                          00     DD  1550       		PUSHL	#0

   00000000'GF            0C     FB  1552       		CALLS	#12,G^SYS$QIO

            0B            50     E8  1559       30106$:	BLBS	R0,30107$

   000000C0'EF         FA AF     DE  155C       	MOVAL	30106$,DIEARG

                          EAB1   31  1564       	BRW	DIE

                                     1567       30107$:

                                 04  1567       		RET			; HIBERNATE

                                     1568       30$:

   000000F7'EF            37     90  1568       		MOVB	#^X30+7,CNTRL_NAME+3 ; SET UNIT NUMBER

   000000CC'EF   000000DB'EF     DE  156F       		MOVAL	CNTRL_NAME_STR,ARGS  ; SET STRING DESCRIPTOR

                 000000D0'EF     D4  157A       		CLRL	ARGS+4		; SET FOR CURRENT TIME

   000000D4'EF   00000064'EF     D0  1580       		MOVL	ITER7,ARGS+8	; GET PAGE NUMBER

            35   0000007A'EF     91  158B       		CMPB	TTY_CHAR7,#LA36_LIN_PER ; IS THIS ONE <= TO LA36?

                          09     19  1592       		BLSS	40$		; BR IF VIDEO

            56   0000008C'EF     DE  1594       		MOVAL	PAGE_HEAD0,R6	; SET UP FOR HARD COPY

                          19     11  159B       		BRB	60$		; GO TO COMMON CODE

                                     159D       40$:

            12   0000007A'EF     91  159D       		CMPB	TTY_CHAR7,#VT05_LIN_PER ; IS THIS A VT05?

                          09     12  15A4       		BNEQ	50$		; BR IF NOT

            56   00000106'EF     DE  15A6       		MOVAL	PAGE_HEAD2,R6	; SET UP FOR VT05

                          07     11  15AD       		BRB	60$		; GO TO COMMON CODE

                                     15AF       50$:

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  35

1.11            MAIN CODE                                                                                                        (2)



            56   000000C9'EF     DE  15AF       		MOVAL	PAGE_HEAD1,R6	; SET FOR VT50,2,5

                                     15B6       60$:

            5A            66     DE  15B6       	MOVAL	(R6),R10

            5B   000000CC'EF     DE  15B9       	MOVAL	ARGS,R11

                     EA3C CF     16  15C0       	JSB	DISPLAY

                          7E     7C  15C4       		CLRQ	-(SP)

                          20     DD  15C6       		PUSHL	#^X20

                          00     DD  15C8       		PUSHL	#0

                 000000C4'EF     DD  15CA       		PUSHL	STRLEN

                 00000101'EF     DF  15D0       		PUSHAL	FAO_BUFFER

                          00     DD  15D6       		PUSHL	#0

                     FEFD CF     DF  15D8       		PUSHAL	SUCA7

                          00     DD  15DC       		PUSHL	#0

            7E       0000'8F     3C  15DE       		MOVZWL	#IO$_WRITEVBLK,-(SP)

            7E   00000060'EF     3C  15E3       		MOVZWL	CHAN7,-(SP)

                          00     DD  15EA       		PUSHL	#0

   00000000'GF            0C     FB  15EC       		CALLS	#12,G^SYS$QIO

            0B            50     E8  15F3       30108$:	BLBS	R0,30109$

   000000C0'EF         FA AF     DE  15F6       	MOVAL	30108$,DIEARG

                          EA17   31  15FE       	BRW	DIE

                                     1601       30109$:

                                     1601       70$:

                                 04  1601       		RET			; HIBERNATE

                                     1602   549 ERR_EXIT:

                                     1602   550 	PUTMSG	<#UETP$_ABENDD,#2,#TSTNAM,#0> ; PRINT EXIT MESSAGE

                          00     DD  1602       	  	PUSHL	#0

                 00000000'8F     DD  1604       	  	PUSHL	#TSTNAM

                          02     DD  160A       	  	PUSHL	#2

                 00000000'8F     DD  160C       	  	PUSHL	#UETP$_ABENDD

   00000000'9F            04     FB  1612       		CALLS	#$$T1,@#LIB$SIGNAL

                          0017   31  1619   551 	BRW	LAST			; GO TO EXIT COMMON

                                     161C   552 SUC_EXIT:

                                     161C   553 	PUTMSG	<#UETP$_ENDEDD,#2,#TSTNAM,#0> ; PRINT ENDING MESSAGE

                          00     DD  161C       	  	PUSHL	#0

                 00000000'8F     DD  161E       	  	PUSHL	#TSTNAM

                          02     DD  1624       	  	PUSHL	#2

                 00000000'8F     DD  1626       	  	PUSHL	#UETP$_ENDEDD

   00000000'9F            04     FB  162C       		CALLS	#$$T1,@#LIB$SIGNAL

                                     1633   554 LAST:

            53            01     D0  1633   555 	MOVL	#1,R3			; SET SHIFT COUNT

            54            01     D0  1636   556 	MOVL	#1,R4			; SET MASK BIT

   000000D9'EF            54     D3  1639   557 	BITL	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  1640   558 	BEQL	1$			; BR IF NOT

                                     1642   559 	$DASSGN_S	CHAN0		; DEASSIGN CHANNEL 0

            7E   0000000C'EF     3C  1642       		MOVZWL	CHAN0,-(SP)

   00000000'GF            01     FB  1649       		CALLS	#1,G^SYS$DASSGN

                                     1650   560 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  1650       30110$:	BLBS	R0,30111$

   000000C0'EF         FA AF     DE  1653       	MOVAL	30110$,DIEARG

                          E9BA   31  165B       	BRW	DIE

                                     165E       30111$:

                                     165E   561 1$:

                                     165E   562 	END	1

            54            53     9C  165E       		ROTL	R3,R4,R4		; SHIFT MASK

                          54         1661       

   000000D9'EF            54     93  1662       		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  1669       		BEQL	30112$			; BR IF NOT

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  36

1.11            MAIN CODE                                                                                                        (2)



            7E   00000018'EF     3C  166B       		MOVZWL	CHAN1,-(SP)

   00000000'GF            01     FB  1672       		CALLS	#1,G^SYS$DASSGN

            0B            50     E8  1679       30113$:	BLBS	R0,30114$

   000000C0'EF         FA AF     DE  167C       	MOVAL	30113$,DIEARG

                          E991   31  1684       	BRW	DIE

                                     1687       30114$:

                                     1687       30112$:

                                     1687   563 	END	2

            54            53     9C  1687       		ROTL	R3,R4,R4		; SHIFT MASK

                          54         168A       

   000000D9'EF            54     93  168B       		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  1692       		BEQL	30115$			; BR IF NOT

            7E   00000024'EF     3C  1694       		MOVZWL	CHAN2,-(SP)

   00000000'GF            01     FB  169B       		CALLS	#1,G^SYS$DASSGN

            0B            50     E8  16A2       30116$:	BLBS	R0,30117$

   000000C0'EF         FA AF     DE  16A5       	MOVAL	30116$,DIEARG

                          E968   31  16AD       	BRW	DIE

                                     16B0       30117$:

                                     16B0       30115$:

                                     16B0   564 	END	3

            54            53     9C  16B0       		ROTL	R3,R4,R4		; SHIFT MASK

                          54         16B3       

   000000D9'EF            54     93  16B4       		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  16BB       		BEQL	30118$			; BR IF NOT

            7E   00000030'EF     3C  16BD       		MOVZWL	CHAN3,-(SP)

   00000000'GF            01     FB  16C4       		CALLS	#1,G^SYS$DASSGN

            0B            50     E8  16CB       30119$:	BLBS	R0,30120$

   000000C0'EF         FA AF     DE  16CE       	MOVAL	30119$,DIEARG

                          E93F   31  16D6       	BRW	DIE

                                     16D9       30120$:

                                     16D9       30118$:

                                     16D9   565 	END	4

            54            53     9C  16D9       		ROTL	R3,R4,R4		; SHIFT MASK

                          54         16DC       

   000000D9'EF            54     93  16DD       		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  16E4       		BEQL	30121$			; BR IF NOT

            7E   0000003C'EF     3C  16E6       		MOVZWL	CHAN4,-(SP)

   00000000'GF            01     FB  16ED       		CALLS	#1,G^SYS$DASSGN

            0B            50     E8  16F4       30122$:	BLBS	R0,30123$

   000000C0'EF         FA AF     DE  16F7       	MOVAL	30122$,DIEARG

                          E916   31  16FF       	BRW	DIE

                                     1702       30123$:

                                     1702       30121$:

                                     1702   566 	END	5

            54            53     9C  1702       		ROTL	R3,R4,R4		; SHIFT MASK

                          54         1705       

   000000D9'EF            54     93  1706       		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  170D       		BEQL	30124$			; BR IF NOT

            7E   00000048'EF     3C  170F       		MOVZWL	CHAN5,-(SP)

   00000000'GF            01     FB  1716       		CALLS	#1,G^SYS$DASSGN

            0B            50     E8  171D       30125$:	BLBS	R0,30126$

   000000C0'EF         FA AF     DE  1720       	MOVAL	30125$,DIEARG

                          E8ED   31  1728       	BRW	DIE

                                     172B       30126$:

                                     172B       30124$:

                                     172B   567 	END	6

            54            53     9C  172B       		ROTL	R3,R4,R4		; SHIFT MASK

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  37

1.11            MAIN CODE                                                                                                        (2)



                          54         172E       

   000000D9'EF            54     93  172F       		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  1736       		BEQL	30127$			; BR IF NOT

            7E   00000054'EF     3C  1738       		MOVZWL	CHAN6,-(SP)

   00000000'GF            01     FB  173F       		CALLS	#1,G^SYS$DASSGN

            0B            50     E8  1746       30128$:	BLBS	R0,30129$

   000000C0'EF         FA AF     DE  1749       	MOVAL	30128$,DIEARG

                          E8C4   31  1751       	BRW	DIE

                                     1754       30129$:

                                     1754       30127$:

                                     1754   568 	END	7

            54            53     9C  1754       		ROTL	R3,R4,R4		; SHIFT MASK

                          54         1757       

   000000D9'EF            54     93  1758       		BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          1C     13  175F       		BEQL	30130$			; BR IF NOT

            7E   00000060'EF     3C  1761       		MOVZWL	CHAN7,-(SP)

   00000000'GF            01     FB  1768       		CALLS	#1,G^SYS$DASSGN

            0B            50     E8  176F       30131$:	BLBS	R0,30132$

   000000C0'EF         FA AF     DE  1772       	MOVAL	30131$,DIEARG

                          E89B   31  177A       	BRW	DIE

                                     177D       30132$:

                                     177D       30130$:

                                     177D   569 LAST1:

            52   000000F4'EF     D0  177D   570 	MOVL	CNTRL_NAME,R2		;USE CTRLNAME AS XIT CODE

            52   10000000 8F     C8  1784   571 	BISL2	#1@28,R2		;SUPPRESS MSG OUTPUT BY DCL

                                     178B   572 	$EXIT_S	R2

                          52     DD  178B       		PUSHL	R2

   00000000'GF            01     FB  178D       		CALLS	#1,G^SYS$EXIT

                                     1794   573 	.END	UETTTYS00

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  38

SYMBOL TABLE                                                                                                                     (2)



$$$CHARS       = 00000002            FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            

$$$STRINGS     = 00000000            FAB$B_RFM        0000001F            FAB$M_PPF_RAT  = 00003FC0            

$$.TAB         = 00000284 R     03   FAB$B_RTV        0000001C            FAB$M_PRN      = 00000004            

$$.TABEND      = 000002C8 R     03   FAB$B_SHR        00000017            FAB$M_PUT      = 00000001            

$$.TMP         = 00000000            FAB$C_BID      = 00000003            FAB$M_RCK      = 00800000            

$$.TMP1        = 00000002            FAB$C_BLN        00000050            FAB$M_RWC      = 00000800            

$$.TMP2        = 000000EF            FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            

$$T1           = 00000004            FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            

A              = 00000080            FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            

ALL_SET          0000041D R     05   FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            

ARGS             000000CC R     03   FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            

BIT...         = 00000020            FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            

BIT0           = 00000001            FAB$C_SEQ      = 00000000            FAB$M_SPL      = 00002000            

BIT1           = 00000002            FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            

CCASTHAND        00000058 R     05   FAB$C_VAR      = 00000002            FAB$M_SUP      = 00000004            

CHAN0            0000000C R     03   FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            

CHAN1            00000018 R     03   FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            

CHAN2            00000024 R     03   FAB$L_ALQ        00000010            FAB$M_TMP      = 00000008            

CHAN3            00000030 R     03   FAB$L_CTX        00000018            FAB$M_TRN      = 00000010            

CHAN4            0000003C R     03   FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            

CHAN5            00000048 R     03   FAB$L_DNA        00000030            FAB$M_UFO      = 00020000            

CHAN6            00000054 R     03   FAB$L_FNA        0000002C            FAB$M_UPD      = 00000008            

CHAN7            00000060 R     03   FAB$L_FOP        00000004            FAB$M_UPI      = 00000040            

CLUSTER2         00000035 R     02   FAB$L_JNL        00000020            FAB$M_WCK      = 00000200            

CNTRLCMSG        00000011 R     02   FAB$L_MRN        00000038            FAB$S_ORG      = 00000004            

CNTRL_NAME       000000F4 R     03   FAB$L_NAM        00000028            FAB$S_PPF_RAT  = 00000008            

CNTRL_NAME_STR   000000DB R     03   FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            

CNVTAH           ********   X   05   FAB$L_STS        00000008            FAB$V_BLK      = 00000003            

CR             = 0000000D            FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            

DATA             00000178 R     02   FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            

DATA0            0000007C R     03   FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            

DATA1            00000084 R     03   FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            

DATA132          00000144 R     02   FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            

DATA2            0000008C R     03   FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            

DATA3            00000094 R     03   FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            

DATA4            0000009C R     03   FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            

DATA5            000000A4 R     03   FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            

DATA6            000000AC R     03   FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            

DATA7            000000B4 R     03   FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            

DATAL          = 00000050            FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            

DIE              00000018 R     05   FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            

DIEARG           000000C0 R     03   FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

DISPLAY          00000000 R     05   FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

DONE_FLAG        000000D8 R     03   FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

ERR              00000077 R     05   FAB$M_GET      = 00000002            FAB$V_MSE      = 00000004            

ERROR_CNT        000000BC R     03   FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            

ERR_EXIT         00001602 R     05   FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            

ERR_STRLEN       000000C8 R     03   FAB$M_KFO      = 40000000            FAB$V_NEF      = 0000000A            

FAB              00000234 R     03   FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            

FAB$B_BID        00000000            FAB$M_MXV      = 00000002            FAB$V_NIL      = 00000005            

FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            FAB$V_OFP      = 0000001D            

FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            FAB$V_ORG      = 00000004            

FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            

FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            

FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            

FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            

FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  39

SYMBOL TABLE                                                                                                                     (2)



FAB$V_PUT      = 00000000            LINES4           00000044 R     03   RAB$M_LOC      = 00010000            

FAB$V_RCK      = 00000017            LINES5           00000050 R     03   RAB$M_MAS      = 00000020            

FAB$V_RWC      = 0000000B            LINES6           0000005C R     03   RAB$M_NLK      = 00100000            

FAB$V_RWO      = 00000007            LINES7           00000068 R     03   RAB$M_NXR      = 00800000            

FAB$V_SCF      = 0000000E            LOGNAM           00000045 R     02   RAB$M_PMT      = 40000000            

FAB$V_SHRDEL   = 00000002            LOGNAM1          0000005A R     02   RAB$M_PPF_IND  = 00004000            

FAB$V_SHRGET   = 00000001            NAME_SIZE      = 0000000D            RAB$M_PPF_RAT  = 00003FC0            

FAB$V_SHRPUT   = 00000000            NARGS          = 00000002            RAB$M_PTA      = 20000000            

FAB$V_SHRUPD   = 00000003            PAGE_HEAD0       0000008C R     02   RAB$M_RAH      = 00000200            

FAB$V_SPL      = 0000000D            PAGE_HEAD1       000000C9 R     02   RAB$M_RLK      = 00080000            

FAB$V_SQO      = 00000006            PAGE_HEAD2       00000106 R     02   RAB$M_RNE      = 01000000            

FAB$V_SUP      = 00000002            PAGE_HEADL     = 00000035            RAB$M_RNF      = 08000000            

FAB$V_TEF      = 0000001C            PNL            = 0000000C            RAB$M_TMO      = 02000000            

FAB$V_TMD      = 00000004            PROCESS_NAME     000000E3 R     03   RAB$M_TPT      = 00000002            

FAB$V_TMP      = 00000003            RAB              00000284 R     03   RAB$M_UIF      = 00000010            

FAB$V_TRN      = 00000004            RAB$B_BID        00000000            RAB$M_ULK      = 00040000            

FAB$V_UFM      = 0000001A            RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            

FAB$V_UFO      = 00000011            RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            

FAB$V_UPD      = 00000003            RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            

FAB$V_UPI      = 00000006            RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            

FAB$V_WCK      = 00000009            RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            

FAB$W_BLS        0000003C            RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            

FAB$W_DEQ        00000014            RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            

FAB$W_IFI        00000002            RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            

FAB$W_MRS        00000036            RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            

FAO_BUF          000000F9 R     03   RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            

FAO_BUFFER       00000101 R     03   RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            

FAO_BUFL       = 00000100            RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            

FI1              00000347 R     05   RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            

FI2              00000353 R     05   RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            

FILE_NAME        0000007F R     02   RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            

FILE_NAME_STR    00000077 R     02   RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            

FIND_IT          000002AB R     05   RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            

FOUND_IT         00000324 R     05   RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            

GBL...         = 00000000            RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            

HARD_COPY_PAGES= 00000003            RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            

IO$M_CTRLCAST    ********   X   05   RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            

IO$_SETMODE      ********   X   05   RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            

IO$_WRITEVBLK    ********   X   05   RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            

IOSTAT           00000000 R     03   RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            

ITER0            00000010 R     03   RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            

ITER1            0000001C R     03   RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            

ITER2            00000028 R     03   RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            

ITER3            00000034 R     03   RAB$L_STS        00000008            RAB$V_TPT      = 00000001            

ITER4            00000040 R     03   RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            

ITER5            0000004C R     03   RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            

ITER6            00000058 R     03   RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            

ITER7            00000064 R     03   RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            

LA36_LIN_PER   = 00000035            RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            

LAST             00001633 R     05   RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            

LAST1            0000177D R     05   RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            

LF             = 0000000A            RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            

LIB$SIGNAL       ********   X   05   RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            

LINES0           00000014 R     03   RAB$M_KGE      = 00200000            RECORD           00000201 R     03   

LINES1           00000020 R     03   RAB$M_KGT      = 00400000            RMS$_EOF         ********   X   05   

LINES2           0000002C R     03   RAB$M_LIM      = 00004000            STRLEN           000000C4 R     03   

LINES3           00000038 R     03   RAB$M_LOA      = 00002000            SUCA0            00000CC0 R     05   

UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  40

SYMBOL TABLE                                                                                                                     (2)



SUCA1            00000DE8 R     05   

SUCA2            00000F10 R     05   

SUCA3            00001038 R     05   

SUCA4            00001160 R     05   

SUCA5            00001288 R     05   

SUCA6            000013B0 R     05   

SUCA7            000014D9 R     05   

SUC_EXIT         0000161C R     05   

SYS$ASCEFC       ********   X   05   

SYS$ASSIGN       ********   X   05   

SYS$CLOSE        ********  GX   05   

SYS$CONNECT      ********  GX   05   

SYS$DASSGN       ********   X   05   

SYS$DISCONNECT   ********  GX   05   

SYS$EXIT         ********   X   05   

SYS$FAOL         ********   X   05   

SYS$GET          ********  GX   05   

SYS$HIBER        ********   X   05   

SYS$OPEN         ********  GX   05   

SYS$QIO          ********   X   05   

SYS$QIOW         ********   X   05   

SYS$SETEF        ********   X   05   

SYS$SETPRN       ********   X   05   

SYS$TRNLOG       ********   X   05   

TSTNAM           00000000 R     02   

TT$_LA36         ********   X   05   

TT$_VT05         ********   X   05   

TT$_VT55         ********   X   05   

TTCHAN           00000008 R     03   

TTNAM            0000006D R     02   

TTY_CHAR0        0000006C R     03   

TTY_CHAR1        0000006E R     03   

TTY_CHAR2        00000070 R     03   

TTY_CHAR3        00000072 R     03   

TTY_CHAR4        00000074 R     03   

TTY_CHAR5        00000076 R     03   

TTY_CHAR6        00000078 R     03   

TTY_CHAR7        0000007A R     03   

UETP$_ABENDD     ********   X   05   

UETP$_BEGIND     ********   X   05   

UETP$_DENOSU     ********   X   05   

UETP$_DESTP      ********   X   05   

UETP$_ENDEDD     ********   X   05   

UETP$_ERBOX      ********   X   05   

UETP$_OPENIN     ********   X   05   

UETP$_TEXT       ********   X   05   

UETTTYS00        00000138 RG    05   

UNIT_ERROR       000000F8 R     03   

UNIT_MASK        000000D9 R     03   

UNIT_NUM         000000DA R     03   

VIDEO_PAGES    = 0000000B            

VT05_LIN_PER   = 00000012            

VT52_LIN_PER   = 00000016            





PROGRAM SECTION SYNOPSIS



UETTTYS00       - VAX/VMS UETP TERMINAL EXERCISER                22-AUG-1978 03:20:15   VAX-11 MACRO X0.3-11               Page  41

PROGRAM SECTION SYNOPSIS                                                                                                         (2)



.  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  

RODATA           000001C8      02     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD  NOWRT LONG  

RWDATA           000002C8      03     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT LONG  

$ABS$            00000050      04     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

UETTRM           00001794      05     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

4284. BYTES LEFT IN FREE MEMORY POOL.

20. BYTES OF RECLAIMED MEMORY.

OBJ$:UETTTYS00,LIS$:UETTTYS00/-SP=SRC$:UETPLIBS,UETTTYS00

98 MLB DIR RDS - 760 GETS TO DEFINE 47 MACROS. 148 INTER. FILE WRITES. 

