SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      48  DECLARATIONS

   (1)     116  CONDITION TABLES

   (1)     151  TM_SETUP, TM_CLEANUP

   (1)     247  CONDITION SUBROUTINES - SETUP AND CLEANUP 

   (1)     333  FORM_CONDS

   (1)     426  VERIFY

   (1)     565  VFY_CLEANUP

   (1)     620  BUILD_CLUST SUBROUTINE

   (1)     679  SETEXPBIT SUBROUTINE

   (1)     757  SETSTBIT SUBROUTINE

   (1)     780  WAITAST ROUTINE

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   1

1.0                                                                                                                              (1)



                                     0000     1 	.TITLE	SATSSS56 SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)

                                     0000     2 	.IDENT	/1.0/

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ;			  COPYRIGHT (c) 1977,1978 BY

                                     0000     6 ;	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED

                                     0000     9 ; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE

                                     0000    10 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER

                                     0000    11 ; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY

                                     0000    12 ; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY

                                     0000    13 ; TRANSFERRED.

                                     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 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS

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

                                     0000    21 ;

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ; FACILITY:	SYSTST (SATS SYSTEM SERVICE TESTS)

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:

                                     0000    27 ;

                                     0000    28 ;		THIS MODULE CONTAINS SUBROUTINES WHICH, WHEN LINKED

                                     0000    29 ; WITH SUCCOMMON.OBJ, FORM TEST MODULE SATSSS56 TO TEST SUCCESSFUL

                                     0000    30 ; OPERATION OF THE 3 WAIT SYSTEM SERVICES. EACH SERVICE IS INVOKED

                                     0000    31 ; UNDER VARIOUS INPUT CONDITIONS WITH VARYING INPUT PARAMETERS. ONLY

                                     0000    32 ; SUCCESSFUL STATUS CODES ARE EXPECTED IN THIS TEST MODULE.  CORRECT 

                                     0000    33 ; OPERATION OF EACH SERVICE FOR EACH OF ITS ISSUANCES IS VERIFIED BY

                                     0000    34 ; CHECKING FOR AN SS$_NORMAL STATUS CODE, EXPECTED RETURN ARGUMENTS

                                     0000    35 ; AND EXPECTED FUNCTIONALITY PERFORMED.

                                     0000    36 ;

                                     0000    37 ; ENVIRONMENT:	USER MODE IMAGE; NEEDS CMKRNL PRIVILEGE,

                                     0000    38 ;		DYNAMICALLY ACQUIRES OTHER PRIVILEGES, AS NEEDED.

                                     0000    39 ;

                                     0000    40 ; AUTHOR: THOMAS L. CAFARELLA,		CREATION DATE: OCT, 1977

                                     0000    41 ;

                                     0000    42 ; MODIFIED BY:

                                     0000    43 ;

                                     0000    44 ;	, : VERSION

                                     0000    45 ; 01	- 

                                     0000    46 ;--

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   2

1.0             DECLARATIONS                                                                                                     (1)



                                     0000    48 	.SBTTL	DECLARATIONS

                                     0000    49 ;

                                     0000    50 ; INCLUDE FILES:

                                     0000    51 ;

                                     0000    52 	$PRVDEF				; PRIVILEGE BIT DEFINITIONS

                                     0000    53 	$PHDDEF				; PROCESS HEADER OFFSETS

                                     0000    54 	$PQLDEF

                                     0000    55 	$DIBDEF			; DEVICE INFO BLOCK OFFSETS

                                     0000    56 ;

                                     0000    57 ; MACROS:

                                     0000    58 ;

                                     0000    59 ;

                                     0000    60 ; EQUATED SYMBOLS:

                                     0000    61 ;

                           FF000001  0000    62 EFGR0_MASK	= ^XFF000001		; FLAGS USED BY SYSTEM IN EVENT FLAG GROUP 0

                           12345678  0000    63 PROC_CONS	= ^X12345678		; PROCESSING CONSTANT -- IN R0 UNTIL WAIT

                                     0000    64 					; ... SERVICE REPLACES IT WITH A STATUS CODE

                                     0000    65 ;

                                     0000    66 ; BIT NUMBERS FOR FLAGS CONTAINED IN "FLAGS" BYTE:

                                     0000    67 ;

                           00000000  0000    68 EXP_WAIT	= 0			; WAIT EXPECTED WHEN SUBJECT SERVICE ISSUED

                           00000001  0000    69 REC_WAIT	= 1			; WAIT RECEIVED AFTER SUBJECT SERVICE ISSUED

                           00000002  0000    70 PROCESSING	= 2			; MAIN ROUTINE PROCESSING WHEN AST DELIVERED

                           00000003  0000    71 WAITING		= 3			; MAIN ROUTINE IN E.F. WAIT WHEN AST DELIV'D

                           00000004  0000    72 FELLTHRU	= 4			; MAIN RTN HAD FALLEN THRU WAIT BY AST DEL'Y

                           00000005  0000    73 ASTLOOP		= 5			; AST RE-ENTERED TOO OFTEN WITHOUT WAITING

                           00000006  0000    74 CLUSCHG		= 6			; CLUSTER CHANGED ACROSS A WAIT

                                     0000    75 ;

                                     0000    76 ; OWN STORAGE:

                                     0000    77 ;

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   3

1.0             DECLARATIONS                                                                                                     (1)



                                 00000000    79 	.PSECT	RODATA,RD,NOWRT,NOEXE,LONG

                                     0000    80 TEST_MOD_NAME::	STRING	C,<SATSSS56>	; TEST MODULE NAME

                                     0009    81 TEST_MOD_NAME_D: STRING	I,<SATSSS56>	; TEST MODULE NAME DESCRIPTOR

                                     0019    82 MSG1_INP_CTL:	STRING	I,<  SSWAT!4ZW: CONDITIONS:>

                                     0039    83 					; FAO CTL STRING FOR MSG1 IN SUCCOMMON.MAR

                                     0039    84 MSG3_ERR_CTL::	STRING	I,< *SSWAT!4ZW: !AS> 

                                     0051    85 					; FAO CTL STRING FOR MSG3 IN SUCCOMMON.MAR

                                     0051    86 CREPRN:		STRING	I,<SATSSS56_CRE> ; CREATED PROCESS NAME

                                     0065    87 CLUS_NAME:	STRING	I,<SATSSS56_CLUS> ; SUBJECT CLUSTER NAME

                                     007A    88 IMAGNAM:	STRING	I,<SYSTST$RES:SATSUT11.EXE> ; IMAGE NAME FOR CREATED PROC

                  FFFFFFFF FFFFD8F0  0099    89 TIMEINCR:	.LONG	-10*1000,-1	; DELTA TIME OF 1 MILLISECOND

                                     00A1    90 CHMKADD:				; THE FOLLOWING 3 LONGWORDS ARE THE

                           00000002' 00A1    91 		.ADDRESS SYS$WAITFR+2	; ... CHMK ADDRESSES IN THE SYSTEM SERVICE

                           00000002' 00A5    92 		.ADDRESS SYS$WFLAND+2	; ... VECTORS FOR SYS$WAITFR, SYS$WFLAND,

                           00000002' 00A9    93 		.ADDRESS SYS$WFLOR+2	; ... AND SYS$WFLOR, RESPECTIVELY.

                                     00AD    94 QUOTALIST:	$QUOTA	CPULM,0		; INFINITE CPU

                                     00B2    95 		$QUOTA	BYTLM,512	; BYTE LIMIT FOR BUFFERED I/O

                                     00B7    96 		$QUOTA	FILLM,2		; OPEN FILE COUNT LIMIT

                                     00BC    97 		$QUOTA	PGFLQUOTA,10	; PAGING FILE QUOTA

                                     00C1    98 		$QUOTA	PRCLM,2		; SUBPROCESS QUOTA

                                     00C6    99 		$QUOTA	TQELM,3		; TIMER QUEUE ENTRY QUOTA

                                     00CB   100 		$QUOTA	LISTEND		; DEFINES END OF LIST

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   4

1.0             DECLARATIONS                                                                                                     (1)



                                 00000000   102 	.PSECT	RWDATA,RD,WRT,NOEXE,LONG

                           00000008  0000   103 PRIVMASK:	.BLKQ	1		; ADDR OF PRIVILEGE MASK (IN PHD)

                           0000000C  0008   104 MBXCHAN:	.BLKL	1		; CHAN NO. FOR MAILBOX FOR CREATED PROCESS

                                     000C   105 MBXCHANINFO:	STRING	O,75		; CHANNEL INFO RETURNED BY GETCHN

                           00000063  005F   106 MBXUNIT:	.BLKL	1		; SAVE AREA FOR MAILBOX UNIT NUMBER

                                     0063   107 MBXBUFF:	STRING	O,120		; MAILBOX BUFFER FOR CREATED PROCESS

                           000000E7  00E3   108 SUBJ_MASK:	.BLKL	1		; MASK TO BE SPECIFIED ON WAIT SYST SERVICES

                           000000EB  00E7   109 TRIAL_MASK:	.BLKL	1		; CLUSTER MASK; USED TO SET SUBJECT CLUSTER

                           000000ED  00EB   110 TM_WORK:	.BLKW	1		; WORK AREA FOR TRIAL_MASK

                           000000F1  00ED   111 CLUS_STATE:	.BLKL	1		; STATE OF SUBJECT CLUSTER

                                 00  00F1   112 CONSEC_P:	.BYTE	0		; COUNT OF CONSEC. "PROCESSING" AST ENTRIES

                                 00  00F2   113 FLAGS:		.BYTE	0		; GEN. PURP. FLAGS; BIT DEFINITIONS ABOVE

                                 00  00F3   114 PROCFLAG:	.BYTE	0		; PROCESS FLAG; 0 = CREATED PROC NON-EXIST.

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   5

1.0             CONDITION TABLES                                                                                                 (1)



                                     00F4   116 	.SBTTL	CONDITION TABLES

                                     00F4   117 ;

                                     00F4   118 ;	***** CONDITION TABLES FOR WAIT SYSTEM SERVICES *****

                                     00F4   119 ;

                                     00F4   120 	COND	1,NOTARG,<WHERE WAITS ARE CLEARED>,-

                                     00F4   121 		  <IN A DIFFERENT PROCESS>,-

                                     00F4   122 		  <IN THE SAME PROCESS>,-

                                     00F4   123  

                                     0140   124 	COND	2,NOTARG,<TYPE OF WAIT SYSTEM SERVICE>,-

                                     0140   125 		  <$WAITFR>,-

                                     0140   126 		  <$WFLAND>,-

                                     0140   127 		  <$WFLOR>,-

                                     0140   128  

                                     0180   129 	COND	3,LONG,<EFN>,-

                                     0180   130 		  <EVENT FLAGS 0-31 (EV FLAG GROUP 0)>,-

                                     0180   131 		  <EVENT FLAGS 32-63 (EV FLAG GROUP 1)>,-

                                     0180   132 		  <EVENT FLAGS 64-95 (EV FLAG GROUP 2)>,-

                                     0180   133 		  <EVENT FLAGS 96-127 (EV FLAG GROUP 3)>,-

                                     0180   134  

                           00000000  0225   135 		    .LONG	0	; EVENT FLAG GROUP (CLUSTER) 0

                           00000020  0229   136 		    .LONG	32	; EVENT FLAG GROUP (CLUSTER) 1

                           00000040  022D   137 		    .LONG	64	; EVENT FLAG GROUP (CLUSTER) 2

                           00000060  0231   138 		    .LONG	96	; EVENT FLAG GROUP (CLUSTER) 3

                                     0235   139 ;

                                     0235   140 	COND	4,LONG,<MASK>,-

                                     0235   141 		  <ALL 1-BITS>,-

                                     0235   142 		  <MIXED 0- AND 1-BITS>,-

                                     0235   143  

                           FFFFFFFF  0262   144 		    .LONG	^XFFFFFFFF ; ALL 1-BITS

                           53544942  0266   145 		    .LONG	^A/BITS/   ; MIXED BITS

                                     026A   146 ;

                                     026A   147 	COND	5,NULL

                                     026B   148  

                                 00000000   149 	.PSECT	SATSSS56,RD,WRT,EXE

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   6

1.0             TM_SETUP, TM_CLEANUP                                                                                             (1)



                                     0000   151 	.SBTTL	TM_SETUP, TM_CLEANUP

                                     0000   152 ;++

                                     0000   153 ; FUNCTIONAL DESCRIPTION:

                                     0000   154 ;

                                     0000   155 ;		TM_SETUP AND TM_CLEANUP ARE CALLED TO PERFORM

                                     0000   156 ; REQUIRED HOUSEKEEPING AT THE BEGINNING AND END, RESPECTIVELY, OF

                                     0000   157 ; TEST MODULE EXECUTION.

                                     0000   158 ;

                                     0000   159 ; CALLING SEQUENCE:

                                     0000   160 ;

                                     0000   161 ;	BSBW TM_SETUP   BSBW TM_CLEANUP

                                     0000   162 ;

                                     0000   163 ; INPUT PARAMETERS:

                                     0000   164 ;

                                     0000   165 ;	NONE

                                     0000   166 ;

                                     0000   167 ; IMPLICIT INPUTS:

                                     0000   168 ;

                                     0000   169 ;	NONE

                                     0000   170 ;

                                     0000   171 ; OUTPUT PARAMETERS:

                                     0000   172 ;

                                     0000   173 ;	NONE

                                     0000   174 ;

                                     0000   175 ; IMPLICIT OUTPUTS:

                                     0000   176 ;

                                     0000   177 ;	TM_SETUP:  COND TABLE INDEX REGISTERS (R2,3,4,5,6) CLEARED;

                                     0000   178 ;		   ALL PRIVILEGES ACQUIRED.

                                     0000   179 ;

                                     0000   180 ; COMPLETION CODES:

                                     0000   181 ;

                                     0000   182 ;	EFLAG SET TO NON-ZERO IF ERROR ENCOUNTERED.

                                     0000   183 ;

                                     0000   184 ; SIDE EFFECTS:

                                     0000   185 ;

                                     0000   186 ;	SS_CHECK AND ERR_EXIT MACROS CAUSE PREMATURE EXIT 

                                     0000   187 ;	(VIA RSB) IF ERROR ENCOUNTERED.

                                     0000   188 ;

                                     0000   189 ;--

                                     0000   190 

                                     0000   191 

                                     0000   192 

                                     0000   193 TM_SETUP::

                          52     D4  0000   194 	CLRL	R2			; INITIALIZE

                          53     D4  0002   195 	CLRL	R3			; .. CONDITION

                          54     D4  0004   196 	CLRL	R4			; .... TABLE

                          55     D4  0006   197 	CLRL	R5			; ...... INDEX

                          56     D4  0008   198 	CLRL	R6			; ........ REGISTERS

                          FFF3'  30  000A   199 	BSBW	MOD_MSG_PRINT		; PRINT TEST MODULE BEGIN MSG

   00000000'EF   00000000'EF     DE  000D   200 	MOVAL	TEST_MOD_SUCC,TMD_ADDR	; ASSUME END MSG WILL SHOW SUCCESS

            00   00000000'8F     F0  0018   201 	INSV	#SUCCESS,#0,#3,MOD_MSG_CODE ; ADJUST STATUS CODE FOR SUCCESS

   00000000'EF            03         001F       

                                     0025   202 	MODE	TO,5$,KRNL		; KERNEL MODE TO ACCESS PHD

            59   00000000'9F     D0  0048   203 	MOVL	@#CTL$GL_PHD,R9		; GET PROCESS HEADER ADDRESS

   00000000'EF            69     DE  004F   204 	MOVAL	PHD$Q_PRIVMSK(R9),PRIVMASK ; GET PRIV MASK ADDRESS

                                     0056   205 	MODE	FROM,5$	; BACK TO USER MODE

                                     0057   206 	PRIV	ADD,ALL			; GET ALL PRIVILEGES

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   7

1.0             TM_SETUP, TM_CLEANUP                                                                                             (1)



                                     0080   207 	$SETPRN_S TEST_MOD_NAME_D 	; SET PROCESS NAME

                                     008D   208 	SS_CHECK  NORMAL		; CHECK STATUS CODE RETURNED FROM SETPRN

                                     00BB   209 ;

                                     00BB   210 ; GET 2 COMMON EVENT FLAG GROUPS ASSOCIATED FOR LATER USE

                                     00BB   211 ; ALSO, CREATE A PROCESS & ITS ASSOCIATED MAILBOX

                                     00BB   212 ;

                                     00BB   213 	$ASCEFC_S EFN=#64, NAME=CLUS_NAME ; ASSOCIATE GROUP 2

                                     00D2   214 	SS_CHECK NORMAL			; CHECK FOR NORMAL STATUS CODE

                                     0100   215 	$ASCEFC_S EFN=#96, NAME=CLUS_NAME ; ASSOCIATE GROUP 3

                                     0117   216 	SS_CHECK NORMAL			; CHECK FOR NORMAL STATUS CODE

                                     0145   217 	$CREMBX_S CHAN=MBXCHAN, LOGNAM=CREPRN, - 

                                     0145   218 		  MAXMSG=#120, PROMSK=#0, BUFQUO=#240

                                     0168   219 					; GET MAILBOX FOR PROCESS

                                     0168   220 	SS_CHECK NORMAL			; CHECK NORMAL COMPLETION

                                     0196   221 	$GETCHN_S CHAN=MBXCHAN, PRIBUF=MBXCHANINFO 

                                     01B0   222 					; GET CHANNEL INFO (UNIT NUMBER)

                                     01B0   223 	SS_CHECK NORMAL			; CHECK NORMAL COMPLETION

   0000005F'EF   00000020'EF     3C  01DE   224 	MOVZWL	MBXCHANINFO+8+DIB$W_UNIT,MBXUNIT 

                                     01E9   225 					; SAVE MAILBOX UNIT NUMBER

                                     01E9   226 	$CREPRC_S PRCNAM=CREPRN, IMAGE=IMAGNAM, -

                                     01E9   227 		  MBXUNT=MBXUNIT, QUOTA=QUOTALIST

                                     0219   228 					; CREATE PROCESS WHICH WILL CLEAR WAITS

                                     0219   229 	SS_CHECK NORMAL			; CHECK ITS COMPLETION

   000000F3'EF            01     90  0247   230 	MOVB	#1,PROCFLAG		; INDICATE CREATED PROCESS EXISTS

                                 05  024E   231 	RSB				; RETURN TO MAIN ROUTINE

                                     024F   232 TM_CLEANUP::

                 000000F3'EF     95  024F   233 	TSTB	PROCFLAG		; DOES CREATED PROCESS EXIST ?

                          3E     13  0255   234 	BEQL	10$			; NO -- SKIP PROCESS-RELATED SERVICES

                                     0257   235 	$FORCEX_S PRCNAM=CREPRN, CODE=#SS$_NORMAL

                                     026C   236 					; FORCE SUBPROCESS TO EXIT & BE DELETED

                                     026C   237 	$QIOW_S	CHAN=MBXCHAN, FUNC=#IO$_READVBLK, -

                                     026C   238 		P1=MBXBUFF+8, P2=MBXBUFF

                                     0295   239 					; WAIT FOR IT TO SEND MAIL

                                     0295   240 10$:

                                     0295   241 	$DELMBX_S  MBXCHAN		; DELETE TERMINATION MAILBOX

                                     02A3   242 	$DACEFC_S EFN=#64		; DISASSOCIATE ......

                                     02B0   243 	$DACEFC_S EFN=#96		; .... COMMON CLUSTERS

                          FD40'  30  02BD   244 	BSBW	MOD_MSG_PRINT		; PRINT TEST MODULE END MSG

                                 05  02C0   245 	RSB				; RETURN TO MAIN ROUTINE

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   8

1.0             CONDITION SUBROUTINES - SETUP AND CLEANUP                                                                        (1)



                                     02C1   247 	.SBTTL	CONDITION SUBROUTINES - SETUP AND CLEANUP 

                                     02C1   248 ;++

                                     02C1   249 ; FUNCTIONAL DESCRIPTION:

                                     02C1   250 ;

                                     02C1   251 ;		CONDX AND CONDX_CLEANUP ARE SUBROUTINES WHICH ARE EXECUTED

                                     02C1   252 ; BEFORE AND AFTER THE VERIFY SUBROUTINE, RESPECTIVELY, WHENEVER A NEW

                                     02C1   253 ; CONDITION X VALUE IS SELECTED (SEE FUNCTIONAL DESCRIPTION OF SUCCOMMON

                                     02C1   254 ; ROUTINE IN SUCCOMMON.MAR). ANY SETUP FUNCTION PARTICULAR TO THE 

                                     02C1   255 ; CONDITION X TABLE IS INCLUDED IN THE CONDX SUBROUTINE AND CLEANED

                                     02C1   256 ; UP, IF NECESSARY, IN THE CONDX_CLEANUP SUBROUTINE. THIS INCLUDES,

                                     02C1   257 ; ESPECIALLY, CODE TO DETECT CONFLICTS AMONG CURRENT ENTRIES IN TWO

                                     02C1   258 ; OR MORE CONDITION TABLES. IF A CONFLICT IS DETECTED, A NON-ZERO

                                     02C1   259 ; VALUE IS STORED INTO CONFLICT, WHICH CAUSES THE CALLING ROUTINE

                                     02C1   260 ; (SUCCOMMON) TO SKIP THE CURRENT ENTRY IN THE CONDITION X TABLE.

                                     02C1   261 ;

                                     02C1   262 ; CALLING SEQUENCE:

                                     02C1   263 ;

                                     02C1   264 ;	BSBW CONDX   BSBW CONDX_CLEANUP

                                     02C1   265 ;	  WHERE X = 1,2,3,4,5

                                     02C1   266 ;

                                     02C1   267 ; INPUT PARAMETERS:

                                     02C1   268 ;

                                     02C1   269 ;	CONFLICT = 0

                                     02C1   270 ;

                                     02C1   271 ; IMPLICIT INPUTS:

                                     02C1   272 ;

                                     02C1   273 ;	R2,3,4,5,6 CONTAIN CURRENT CONDITION TABLE INDEX VALUES

                                     02C1   274 ;	  FOR COND TABLES 1,2,3,4,5, RESPECTIVELY.

                                     02C1   275 ;

                                     02C1   276 ; OUTPUT PARAMETERS:

                                     02C1   277 ;

                                     02C1   278 ;	CONFLICT SET TO NON-ZERO IF COND TABLE CONFLICT DETECTED.

                                     02C1   279 ;

                                     02C1   280 ; IMPLICIT OUTPUTS:

                                     02C1   281 ;

                                     02C1   282 ;	R2,3,4,5,6 PRESERVED

                                     02C1   283 ;

                                     02C1   284 ; COMPLETION CODES:

                                     02C1   285 ;

                                     02C1   286 ;	NONE

                                     02C1   287 ;

                                     02C1   288 ; SIDE EFFECTS:

                                     02C1   289 ;

                                     02C1   290 ;	NONE

                                     02C1   291 ;

                                     02C1   292 ;--

                                     02C1   293 

                                     02C1   294 

                                     02C1   295 

                                     02C1   296 COND1::

                                 05  02C1   297 	RSB				; RETURN TO MAIN ROUTINE

                                     02C2   298 COND1_CLEANUP::

                                 05  02C2   299 	RSB				; RETURN TO MAIN ROUTINE

                                     02C3   300 COND2::

                                 05  02C3   301 	RSB				; RETURN TO MAIN ROUTINE

                                     02C4   302 COND2_CLEANUP::

                                 05  02C4   303 	RSB				; RETURN TO MAIN ROUTINE

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page   9

1.0             CONDITION SUBROUTINES - SETUP AND CLEANUP                                                                        (1)



                                     02C5   304 COND3::

                                     02C5   305 ;

                                     02C5   306 ; CHECK FIRST FOR COND2/COND3 CONFLICT

                                     02C5   307 ;

                          53     D5  02C5   308 	TSTL	R3			; $WAITFR (SINGLE FLAG) ?

                          0A     12  02C7   309 	BNEQU	10$			; NO -- GO CHECK COND1/COND3 CONFLICT

            20   00000225'EF44   D1  02C9   310 	CMPL	EFN[R4],#32		; YES -- LOCAL EVENT FLAG GROUP 0 ?

                          12     19  02D1   311 	BLSS	20$			; YES -- FLAGS USED BY SYST; GO SET CONFLICT

                                     02D3   312 10$:					; CHECK FOR COND1/COND3 CONFLICT

                          52     D5  02D3   313 	TSTL	R2			; WAITS TO BE CLEARED IN DIFF PROCESS ?

                          19     12  02D5   314 	BNEQU	COND3X			; NO -- ALL IS OK; JUST EXIT

   00000040 8F   00000225'EF44   D1  02D7   315 	CMPL	EFN[R4],#64		; YES -- LOCAL EVENT FLAG GROUP ?

                          0B     18  02E3   316 	BGEQ	COND3X			; NO -- ALL IS OK; JUST EXIT

                                     02E5   317 					; YES -- CAN'T SET LOCAL FLAGS IN DIFF PROC

                                     02E5   318 20$:

   00000000'EF   00000000'EF     90  02E5   319 	MOVB	ONES,CONFLICT		; INDICATE CONFLICT

                                     02F0   320 COND3X:

                                 05  02F0   321 	RSB				; RETURN TO MAIN ROUTINE

                                     02F1   322 COND3_CLEANUP::

                                 05  02F1   323 	RSB				; RETURN TO MAIN ROUTINE

                                     02F2   324 COND4::

                                 05  02F2   325 	RSB				; RETURN TO MAIN ROUTINE

                                     02F3   326 COND4_CLEANUP::

                                 05  02F3   327 	RSB				; RETURN TO MAIN ROUTINE

                                     02F4   328 COND5::

                                 05  02F4   329 	RSB				; RETURN TO MAIN ROUTINE

                                     02F5   330 COND5_CLEANUP::

                                 05  02F5   331 	RSB				; RETURN TO MAIN ROUTINE

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  10

1.0             FORM_CONDS                                                                                                       (1)



                                     02F6   333 	.SBTTL	FORM_CONDS

                                     02F6   334 ;++

                                     02F6   335 ; FUNCTIONAL DESCRIPTION:

                                     02F6   336 ;

                                     02F6   337 ; 		FORM_CONDS FORMATS AND PRINTS INFORMATION ABOUT

                                     02F6   338 ;  THE CURRENT ELEMENT IN EACH OF THE CONDITION TABLES.

                                     02F6   339 ;

                                     02F6   340 ; CALLING SEQUENCE:

                                     02F6   341 ;

                                     02F6   342 ;	BSBW FORM_CONDS

                                     02F6   343 ;

                                     02F6   344 ; INPUT PARAMETERS:

                                     02F6   345 ;

                                     02F6   346 ;	NONE

                                     02F6   347 ;

                                     02F6   348 ; IMPLICIT INPUTS:

                                     02F6   349 ;

                                     02F6   350 ;	R2,3,4,5,6 CONTAIN CURRENT CONDITION TABLE INDEX VALUES

                                     02F6   351 ;	  FOR COND TABLES 1,2,3,4,5, RESPECTIVELY.

                                     02F6   352 ;	FOR X = 1,2,3,4,5 :

                                     02F6   353 ;		CONDX_T - TITLE TEXT FOR CONDX TABLE

                                     02F6   354 ;		CONDX_TAB - ELEMENT TEXT FOR CONDX TABLE

                                     02F6   355 ;		CONDX_C - CONTEXT OF THE CONDX TABLE

                                     02F6   356 ;		CONDX_E - DATA ELEMENTS OF THE CONDX TABLE

                                     02F6   357 ;

                                     02F6   358 ; OUTPUT PARAMETERS:

                                     02F6   359 ;

                                     02F6   360 ;	NONE

                                     02F6   361 ;

                                     02F6   362 ; IMPLICIT OUTPUTS:

                                     02F6   363 ;

                                     02F6   364 ;	NONE

                                     02F6   365 ;

                                     02F6   366 ; COMPLETION CODES:

                                     02F6   367 ;

                                     02F6   368 ;	NONE

                                     02F6   369 ;

                                     02F6   370 ; SIDE EFFECTS:

                                     02F6   371 ;

                                     02F6   372 ;	NONE

                                     02F6   373 ;

                                     02F6   374 ;--

                                     02F6   375 

                                     02F6   376 

                                     02F6   377 

                                     02F6   378 FORM_CONDS::

                                     02F6   379 	$FAO_S	MSG1_INP_CTL,FAO_LEN,FAO_DESC,TESTNUM

                                     0315   380 					; FORMAT CONDITIONS HEADER MSG

                          FCE8'  30  0315   381 	BSBW	OUTPUT_MSG		; ... AND PRINT IT

            14            00     91  0318   382 	CMPB	#COND1_C,#NULL		; IS CONDITION 1 NULL ?

                          03     12  031B   383 	BNEQU	10$			; NO -- CONTINUE

                          00D7   31  031D   384 	BRW	FORM_CONDSX		; YES -- SUBROUTINE IS FINISHED

                                     0320   385 10$:

   00000000'EF   000000F4'EF     DE  0320   386 	MOVAL	COND1_T,MSG_A		; SAVE ADDRESS OF CONDITION 1 TITLE FOR FAO

   00000000'EF   0000010D'EF42   D0  032B   387 	MOVL	COND1_TAB[R2],MSG_B 	; SAVE ADDR OF COND 1 CURR TEXT ELT FOR FAO

   00000000'EF            00     90  0337   388 	MOVB	#COND1_C,MSG_CTXT 	; SAVE CONDITION 1 CONTEXT FOR FAO

                                     033E   389 	MOV_VAL	COND1_C,COND1_E[R2],MSG_DATA1 ; GIVE COND 1 DATA VALUE TO FAO

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  11

1.0             FORM_CONDS                                                                                                       (1)



                          FCBF'  30  033E   390 	BSBW	WRITE_MSG2		; FORMAT AND WRITE CONDITION 1 MSG

            14            00     91  0341   391 	CMPB	#COND2_C,#NULL		; IS CONDITION 2 NULL ?

                          03     12  0344   392 	BNEQU	20$			; NO -- CONTINUE

                          00AE   31  0346   393 	BRW	FORM_CONDSX		; YES -- SUBROUTINE IS FINISHED

                                     0349   394 20$:

   00000000'EF   00000140'EF     DE  0349   395 	MOVAL	COND2_T,MSG_A		; SAVE ADDRESS OF CONDITION 2 TITLE FOR FAO

   00000000'EF   0000015D'EF43   D0  0354   396 	MOVL	COND2_TAB[R3],MSG_B 	; SAVE ADDR OF COND 2 CURR TEXT ELT FOR FAO

   00000000'EF            00     90  0360   397 	MOVB	#COND2_C,MSG_CTXT 	; SAVE CONDITION 2 CONTEXT FOR FAO

                                     0367   398 	MOV_VAL	COND2_C,COND2_E[R3],MSG_DATA1 ; GIVE COND 2 DATA VALUE TO FAO

                          FC96'  30  0367   399 	BSBW	WRITE_MSG2		; FORMAT AND WRITE CONDITION 2 MSG

            14            04     91  036A   400 	CMPB	#COND3_C,#NULL		; IS CONDITION 3 NULL ?

                          03     12  036D   401 	BNEQU	30$			; NO -- CONTINUE

                          0085   31  036F   402 	BRW	FORM_CONDSX		; YES -- SUBROUTINE IS FINISHED

                                     0372   403 30$:

   00000000'EF   00000180'EF     DE  0372   404 	MOVAL	COND3_T,MSG_A		; SAVE ADDRESS OF CONDITION 3 TITLE FOR FAO

   00000000'EF   00000185'EF44   D0  037D   405 	MOVL	COND3_TAB[R4],MSG_B 	; SAVE ADDR OF COND 3 CURR TEXT ELT FOR FAO

   00000000'EF            04     90  0389   406 	MOVB	#COND3_C,MSG_CTXT 	; SAVE CONDITION 3 CONTEXT FOR FAO

                                     0390   407 	MOV_VAL	COND3_C,COND3_E[R4],MSG_DATA1 ; GIVE COND 3 DATA VALUE TO FAO

                          FC61'  30  039C   408 	BSBW	WRITE_MSG2		; FORMAT AND WRITE CONDITION 3 MSG

            14            04     91  039F   409 	CMPB	#COND4_C,#NULL		; IS CONDITION 4 NULL ?

                          53     13  03A2   410 	BEQLU	FORM_CONDSX		; YES -- SUBROUTINE IS FINISHED

   00000000'EF   00000235'EF     DE  03A4   411 	MOVAL	COND4_T,MSG_A		; SAVE ADDRESS OF CONDITION 4 TITLE FOR FAO

   00000000'EF   0000023B'EF45   D0  03AF   412 	MOVL	COND4_TAB[R5],MSG_B 	; SAVE ADDR OF COND 4 CURR TEXT ELT FOR FAO

   00000000'EF            04     90  03BB   413 	MOVB	#COND4_C,MSG_CTXT 	; SAVE CONDITION 4 CONTEXT FOR FAO

                                     03C2   414 	MOV_VAL	COND4_C,COND4_E[R5],MSG_DATA1 ; GIVE COND 4 DATA VALUE TO FAO

                          FC2F'  30  03CE   415 	BSBW	WRITE_MSG2		; FORMAT AND WRITE CONDITION 4 MSG

            14            14     91  03D1   416 	CMPB	#COND5_C,#NULL		; IS CONDITION 5 NULL ?

                          21     13  03D4   417 	BEQLU	FORM_CONDSX		; YES -- SUBROUTINE IS FINISHED

   00000000'EF   0000026A'EF     DE  03D6   418 	MOVAL	COND5_T,MSG_A		; SAVE ADDRESS OF CONDITION 5 TITLE FOR FAO

   00000000'EF   0000026A'EF46   D0  03E1   419 	MOVL	COND5_TAB[R6],MSG_B 	; SAVE ADDR OF COND 5 CURR TEXT ELT FOR FAO

   00000000'EF            14     90  03ED   420 	MOVB	#COND5_C,MSG_CTXT 	; SAVE CONDITION 5 CONTEXT FOR FAO

                                     03F4   421 	MOV_VAL	COND5_C,COND5_E[R6],MSG_DATA1 ; GIVE COND 5 DATA VALUE TO FAO

                          FC09'  30  03F4   422 	BSBW	WRITE_MSG2		; FORMAT AND WRITE CONDITION 5 MSG

                                     03F7   423 FORM_CONDSX:

                                 05  03F7   424 	RSB				; RETURN TO CALLER

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  12

1.0             VERIFY                                                                                                           (1)



                                     03F8   426 	.SBTTL	VERIFY

                                     03F8   427 ;++

                                     03F8   428 ; FUNCTIONAL DESCRIPTION:

                                     03F8   429 ;

                                     03F8   430 ;		VERIFY IS CALLED ONCE FOR EACH COMBINATION OF CONDITION

                                     03F8   431 ; TABLE VALUES (AS DETERMINED BY THE INDEX REGISTERS R2,3,4,5,6 FOR

                                     03F8   432 ; COND TABLES 1,2,3,4,5, RESPECTIVELY). VERIFY ESTABLISHES THE CONDITIONS

                                     03F8   433 ; SPECIFIED BY THE COND TABLES AND ISSUES THE SUBJECT SYSTEM SERVICE

                                     03F8   434 ; ($WAITEF, $WFLAND, $WFLOR). THEN, THE SUCCESSFUL OPERATION OF THE SERVICE

                                     03F8   435 ; IS VERIFIED BY EXAMINING THE STATUS CODE RETURNED, THE VALUES FOR RETURN

                                     03F8   436 ; ARGUMENTS AND THE FUNCTIONALITY PERFORMED. THE EXAMINATIONS TAKE THE 

                                     03F8   437 ; FORM OF COMPARISONS AGAINST EXPECTED VALUES. ANY FAILING COMPARISON

                                     03F8   438 ; CAUSES AN ERR_EXIT MACRO TO BE EXECUTED (EITHER DIRECTLY, OR INDIRECTLY,

                                     03F8   439 ; THROUGH THE SS_CHECK MACRO); ERR_EXIT SETS EFLAG TO NON-ZERO,

                                     03F8   440 ; PRINTS ERROR MESSAGES AND CAUSES AN IMMEDIATE RSB TO CALLER.

                                     03F8   441 ; WHEN ERR_EXIT IS EXECUTED, FURTHER CALLS TO VERIFY ARE SUPPRESSED,

                                     03F8   442 ; AND, AFTER EXECUTING CLEANUP SUBROUTINES, THE IMAGE EXITS.

                                     03F8   443 ;

                                     03F8   444 ; CALLING SEQUENCE:

                                     03F8   445 ;

                                     03F8   446 ;	BSBW VERIFY

                                     03F8   447 ;

                                     03F8   448 ; INPUT PARAMETERS:

                                     03F8   449 ;

                                     03F8   450 ;	NONE

                                     03F8   451 ;

                                     03F8   452 ; IMPLICIT INPUTS:

                                     03F8   453 ;

                                     03F8   454 ;	R2,3,4,5,6 CONTAIN CURRENT CONDITION TABLE INDEX VALUES

                                     03F8   455 ;	  FOR COND TABLES 1,2,3,4,5, RESPECTIVELY.

                                     03F8   456 ;	FOR X = 1,2,3,4,5 :

                                     03F8   457 ;		CONDX_E - ADDRESS OF TABLE OF DATA VALUES FOR CONDX

                                     03F8   458 ;		  TABLE. IF THE CONTEXT OF TABLE X IS A SYSTEM SERVICE

                                     03F8   459 ;		  ARGUMENT, THE ARGUMENT NAME MAY BE USED AS A SYNONYM

                                     03F8   460 ;		  FOR CONDX_E.

                                     03F8   461 ;

                                     03F8   462 ; OUTPUT PARAMETERS:

                                     03F8   463 ;

                                     03F8   464 ;	NONE

                                     03F8   465 ;

                                     03F8   466 ; IMPLICIT OUTPUTS:

                                     03F8   467 ;

                                     03F8   468 ;	VERIFY HAS NO OUTPUT. SINCE ITS PURPOSE IS TO TEST FOR ERRORS,

                                     03F8   469 ;	IT MERELY RETURNS TO CALLER NORMALLY AFTER THE TESTS, PROVIDING

                                     03F8   470 ;	ALL WERE SUCCESSFUL; IF AN ERROR IS DISCOVERED, RETURN IS VIA

                                     03F8   471 ;	AN ERR_EXIT OR SS_CHECK MACRO, BOTH OF WHICH DOCUMENT DETECTED

                                     03F8   472 ;	ERRORS.

                                     03F8   473 ;

                                     03F8   474 ; COMPLETION CODES:

                                     03F8   475 ;

                                     03F8   476 ;	EFLAG SET TO NON-ZERO IF ERROR ENCOUNTERED.

                                     03F8   477 ;

                                     03F8   478 ; SIDE EFFECTS:

                                     03F8   479 ;

                                     03F8   480 ;	SS_CHECK AND ERR_EXIT MACROS CAUSE PREMATURE EXIT 

                                     03F8   481 ;	(VIA RSB) IF ERROR ENCOUNTERED.

                                     03F8   482 ;

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  13

1.0             VERIFY                                                                                                           (1)



                                     03F8   483 ;--

                                     03F8   484 

                                     03F8   485 

                                     03F8   486 

                                     03F8   487 VERIFY::

                 00000000'EF     95  03F8   488 	TSTB	CFLAG			; SHOULD CONDITIONS BE PRINTED ?

                          03     13  03FE   489 	BEQL	5$			; NO -- CONTINUE

                          FEF3   30  0400   490 	BSBW	FORM_CONDS		; YES -- FMT & PRINT ALL CONDS FOR THIS T.C.

                                     0403   491 5$:

                          FBFA'  30  0403   492 	BSBW	SAVE_REGS		; SAVE REGS 2-6 FOR LATER USE IN AST ROUTINE

                 000000EB'EF     B4  0406   493 	CLRW	TM_WORK			; INIT TRIAL_MASK WORK AREA

   000000E3'EF   00000262'EF45   D0  040C   494 	MOVL	MASK[R5],SUBJ_MASK 	; GET SUBJECT MASK FOR THIS TEST CASE

            20   00000225'EF44   D1  0418   495 	CMPL	EFN[R4],#32		; EVENT FLAG GROUP 0 ?

                          0B     18  0420   496 	BGEQ	10$			; NO -- CONTINUE

   000000E3'EF   FF000001 8F     CA  0422   497 	BICL2	#EFGR0_MASK,SUBJ_MASK 	; YES -- STEER CLEAR OF FLAGS USED BY SYS

                                     042D   498 10$:

   000000E7'EF   000000EB'EF     90  042D   499 	MOVB	TM_WORK,TRIAL_MASK      ; PROPAGATE TM_WORK ....

   000000E8'EF   000000EB'EF     90  0438   500 	MOVB	TM_WORK,TRIAL_MASK+1    ; ... BYTE VALUE .......

   000000E9'EF   000000E7'EF     B0  0443   501 	MOVW	TRIAL_MASK,TRIAL_MASK+2 ; ...... THRU TRIAL_MASK

            5A   00000225'EF44   D0  044E   502 	MOVL	EFN[R4],R10		; TELL BUILD_CLUST WHICH CLUSTER TO BUILD

                          02E1   30  0456   503 	BSBW	BUILD_CLUST		; ESTAB CLUSTER ACCORDING TO TRIAL_MASK

                 00000000'EF     95  0459   504 	TSTB	EFLAG			; IS AN ERROR BEING PROCESSED ?

                          03     13  045F   505 	BEQL	15$			; NO -- CONTINUE

                          02D4   31  0461   506 	BRW	VERIFYX			; YES -- RETURN IMMEDIATELY

                                     0464   507 15$:

                 000000F2'EF     94  0464   508 	CLRB	FLAGS			; CLEAR ALL FLAGS

                          03FD   30  046A   509 	BSBW	SETEXPBIT		; SET EXPECTATION BIT

                                     046D   510 	$SETIMR_S DAYTIM=TIMEINCR, - 	; SCHEDULE AN AST IN 1 MILLISECOND

                                     046D   511 		  ASTADR=WAITAST

                                     0484   512 	SS_CHECK NORMAL			; CHECK SETIMR COMPLETION

            50   12345678 8F     D0  04B2   513 	MOVL	#PROC_CONS,R0		; CONSTANT IN R0 TO BE CHECKED IN AST

                                     04B9   514 ;

                                     04B9   515 ; ****** ONE OF FOLLOWING WAIT CALLS IS THE SUBJECT OF THIS TEST CASE ******

                                     04B9   516 ;

                          53     D5  04B9   517 	TSTL	R3			; WAITFR (SINGLE FLAG) ?

                          10     12  04BB   518 	BNEQU	20$			; NO -- CONTINUE

                                     04BD   519 	$WAITFR_S EFN=EFN[R4]		; YES -- ISSUE SUBJECT SERVICE

                          2F     11  04CB   520 	BRB	40$			; GO CHECK ITS COMPLETION

                                     04CD   521 20$:

            01            53     D1  04CD   522 	CMPL	R3,#1			; WFLAND ?

                          16     12  04D0   523 	BNEQU	30$			; NO -- CONTINUE

                                     04D2   524 	$WFLAND_S EFN=EFN[R4], MASK=SUBJ_MASK 

                                     04E6   525 					; YES -- ISSUE SUBJECT SERVICE

                          14     11  04E6   526 	BRB	40$			; GO CHECK ITS COMPLETION

                                     04E8   527 30$:

                                     04E8   528 	$WFLOR_S EFN=EFN[R4], MASK=SUBJ_MASK ; MUST BE WFLOR

                                     04FC   529 40$:

   000000F2'EF            04     E2  04FC   530 	BBSS	#FELLTHRU,FLAGS,.+1 	; INDICATE THAT WAIT IS DONE

                          00         0503       

   00000000'8F            50     D1  0504   531 	CMPL	R0,#SS$_NORMAL		; CODE RECEIVED = CODE EXPECTED ?

                          67     13  050B   532 	BEQLU	50$			; YES -- CONTINUE

   00000000'EF   00000000'8F     D0  050D   533 	MOVL	#SS$_NORMAL,EXPV 	; LOAD UP EXPECTED AND ...

   00000000'EF            50     D0  0518   534 	MOVL	R0,RECV			; ... RECEIVED VALUES, THEN EXIT

                                     051F   535 	ERR_EXIT LONG,<INCORRECT STATUS CODE RETURNED FROM WAIT SERVICE>

                                     0574   536 50$:

                                     0574   537 	$HIBER_S			; SLEEP UNTIL WAITAST CHECKS RESULTS OF SERV

   000000F2'EF            05     E1  057B   538 	BBC	#ASTLOOP,FLAGS,55$ 	; CONTINUE IF NO AST LOOP

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  14

1.0             VERIFY                                                                                                           (1)



                          4B         0582       

                 00000000'EF     94  0583   539 	CLRB	EXPV			; AST LOOP -- SET UP FOR ERR_EXIT

                 00000000'EF     94  0589   540 	CLRB	RECV			; ........

                                     058F   541 	ERR_EXIT BYTE,<UNSATISFIED WAIT CONDITION>

                                     05CE   542 55$:

   000000F2'EF            06     E1  05CE   543 	BBC	#CLUSCHG,FLAGS,58$ 	; CONTINUE IF NO CLUSTER CHANGE ERROR

                          54         05D5       

                                     05D6   544 	ERR_EXIT LONG,<CLUSTER EVENT FLAG SETTINGS CHANGED ACROSS WAIT>

                                     062A   545 58$:

   000000F2'EF            00     E1  062A   546 	BBC	#EXP_WAIT,FLAGS,70$ 	; BRANCH IF FALL-THRU EXPECTED

                          7D         0631       

   000000F2'EF            01     E1  0632   547 	BBC	#REC_WAIT,FLAGS,60$ 	; WAIT EXP'D; BRANCH IF FALL-THRU RECEIVED

                          03         0639       

                          00EF   31  063A   548 	BRW	80$			; WAIT EXPECTED & RECEIVED; THAT'S OK

                                     063D   549 60$:

   00000000'EF   000000E7'EF     D0  063D   550 	MOVL	TRIAL_MASK,EXPV		; SET UP TRIAL_MASK ....

   00000000'EF   000000E7'EF     D0  0648   551 	MOVL	TRIAL_MASK,RECV		; .... FOR MSG, THEN EXIT

                                     0653   552 	ERR_EXIT LONG,<WAIT EXP'D; FALL-THRU REC'D; VALUE IS CLUST BEFORE WAIT>

                                     06AF   553 70$:

   000000F2'EF            01     E0  06AF   554 	BBS	#REC_WAIT,FLAGS,75$ 	; BRANCH IF WAIT REC'D; THAT'S AN ERROR

                          03         06B6       

                          0072   31  06B7   555 	BRW	80$			; FALL-THRU EXPECTED & RECEIVED; THAT'S OK

                                     06BA   556 75$:

   00000000'EF   000000E7'EF     D0  06BA   557 	MOVL	TRIAL_MASK,EXPV		; SET UP TRIAL_MASK ....

   00000000'EF   000000E7'EF     D0  06C5   558 	MOVL	TRIAL_MASK,RECV		; .... FOR MSG, THEN EXIT

                                     06D0   559 	ERR_EXIT LONG,<FALL-THRU EXP'D; WAIT REC'D; VALUE IS CLUST BEFORE WAIT>

                                     072C   560 80$:

            01       00FF 8F     3D  072C   561 	ACBW	#255,#1,TM_WORK,10$ 	; MAKE NEW TRIAL_MASK & LOOP

            FCF5 000000EB'EF         0731       

                                     0738   562 VERIFYX:

                                 05  0738   563 	RSB				; RETURN TO CALLER

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  15

1.0             VFY_CLEANUP                                                                                                      (1)



                                     0739   565 	.SBTTL	VFY_CLEANUP

                                     0739   566 ;++

                                     0739   567 ; FUNCTIONAL DESCRIPTION:

                                     0739   568 ;

                                     0739   569 ;		VFY_CLEANUP EXECUTES SYSTEM SERVICES TO UNDO THE

                                     0739   570 ; EFFECT OF THOSE ISSUED IN THE VERIFY SUBROUTINE. VFY_CLEANUP MUST

                                     0739   571 ; ASSUME THAT VERIFY MAY NOT HAVE EXECUTED IN ITS ENTIRETY (IF AN

                                     0739   572 ; ERROR IS FOUND). ALSO, VFY_CLEANUP MAY ISSUE SS_CHECK OR ERR_EXIT

                                     0739   573 ; ONLY AFTER PERFORMING ALL OF ITS CLEANUP OPERATIONS; THIS IS REQUIRED

                                     0739   574 ; IN THE EVENT THAT VFY_CLEANUP IS CALLED DURING ERROR PROCESSING,

                                     0739   575 ; WHEN PERFORMING THE REQUIRED CLEANUP IS MORE IMPORTANT THAN

                                     0739   576 ; POSSIBLY DISCOVERING A SECOND ERROR.

                                     0739   577 ;

                                     0739   578 ; CALLING SEQUENCE:

                                     0739   579 ;

                                     0739   580 ;	BSBW VFY_CLEANUP

                                     0739   581 ;

                                     0739   582 ; INPUT PARAMETERS:

                                     0739   583 ;

                                     0739   584 ;	NONE

                                     0739   585 ;

                                     0739   586 ; IMPLICIT INPUTS:

                                     0739   587 ;

                                     0739   588 ;	R2,3,4,5,6 CONTAIN CURRENT CONDITION TABLE INDEX VALUES

                                     0739   589 ;	  FOR COND TABLES 1,2,3,4,5, RESPECTIVELY.

                                     0739   590 ;	FOR X = 1,2,3,4,5 :

                                     0739   591 ;		CONDX_E - ADDRESS OF TABLE OF DATA VALUES FOR CONDX

                                     0739   592 ;		  TABLE. IF THE CONTEXT OF TABLE X IS A SYSTEM SERVICE

                                     0739   593 ;		  ARGUMENT, THE ARGUMENT NAME MAY BE USED AS A SYNONYM

                                     0739   594 ;		  FOR CONDX_E.

                                     0739   595 ;

                                     0739   596 ; OUTPUT PARAMETERS:

                                     0739   597 ;

                                     0739   598 ;	NONE

                                     0739   599 ;

                                     0739   600 ; IMPLICIT OUTPUTS:

                                     0739   601 ;

                                     0739   602 ;	NONE

                                     0739   603 ;

                                     0739   604 ; COMPLETION CODES:

                                     0739   605 ;

                                     0739   606 ;	EFLAG SET TO NON-ZERO IF ERROR ENCOUNTERED.

                                     0739   607 ;

                                     0739   608 ; SIDE EFFECTS:

                                     0739   609 ;

                                     0739   610 ;	SS_CHECK AND ERR_EXIT MACROS CAUSE PREMATURE EXIT 

                                     0739   611 ;	(VIA RSB) IF ERROR ENCOUNTERED.

                                     0739   612 ;

                                     0739   613 ;--

                                     0739   614 

                                     0739   615 

                                     0739   616 

                                     0739   617 VFY_CLEANUP::

                                 05  0739   618 	RSB				; RETURN TO CALLER

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  16

1.0             BUILD_CLUST SUBROUTINE                                                                                           (1)



                                     073A   620 	.SBTTL	BUILD_CLUST SUBROUTINE

                                     073A   621 ;

                                     073A   622 ; **************************************************************

                                     073A   623 ; *

                                     073A   624 ; *	BUILD_CLUST SUBROUTINE

                                     073A   625 ; *

                                     073A   626 ; *	THIS SUBROUTINE SETS THE SUBJECT CLUSTER EQUAL TO

                                     073A   627 ; *	  THE TRIAL_MASK BY ISSUING THE PROPER COMBINATION

                                     073A   628 ; *	  OF 32 SETEF/CLREF'S. THEN A READEF IS ISSUED AND

                                     073A   629 ; *	  THE NEW CLUSTER SETTINGS ARE VERIFIED.

                                     073A   630 ; *

                                     073A   631 ; *	INPUTS:

                                     073A   632 ; *

                                     073A   633 ; *		R10	 -	 THE LOW-ORDER EFN IN THE SUBJECT CLUSTER

                                     073A   634 ; *

                                     073A   635 ; *		TRIAL_MASK   -   LONGWORD CONTAINING THE MASK TO

                                     073A   636 ; *				   WHICH THE SUBJECT CLUSTER IS

                                     073A   637 ; *				   TO BE SET.

                                     073A   638 ; *

                                     073A   639 ; *	OUTPUTS:

                                     073A   640 ; *

                                     073A   641 ; *		SUBJECT CLUSTER - UPDATED TO LOOK LIKE TRIAL_MASK.

                                     073A   642 ; *

                                     073A   643 ; *		CLUS_STATE   -    LONGWORD CONTAINING THE IMAGE

                                     073A   644 ; *				    OF THE NEWLY SET SUBJECT CLUSTER.

                                     073A   645 ; *

                                     073A   646 ; *	VOLATILE REGISTERS:

                                     073A   647 ; *

                                     073A   648 ; *		R0, R1, R8, R9

                                     073A   649 ; *

                                     073A   650 ; **************************************************************

                                     073A   651 ;

                                     073A   652 BUILD_CLUST:

            58            5A     D0  073A   653 	MOVL	R10,R8			; ESTABLISH FIRST EFN (EVENT FLAG NO.)

                          59     D4  073D   654 	CLRL	R9			; INIT OFFSET INTO TRIAL_MASK

                                     073F   655 20$:

   000000E7'EF            59     E0  073F   656 	BBS	R9,TRIAL_MASK,30$ 	; ISSUE $SETEF IF BIT FOR THIS FLAG IS SET

                          3A         0746       

                                     0747   657 	$CLREF_S EFN=R8			; ... OTHERWISE, ISSUE $CLREF

            68            50     E8  0750   658 	BLBS	R0,40$			; IF NORMAL STATUS, PROCESS NEXT EVENT FLAG

                                     0753   659 	SS_CHECK NORMAL			; USE SS_CHECK TO TERMINATE TEST MODULE

                                     0781   660 30$:

                                     0781   661 	$SETEF_S EFN=R8			; SET CURRENT EVENT FLAG

            2E            50     E8  078A   662 	BLBS	R0,40$			; IF NORMAL STATUS, PROCESS NEXT EVENT FLAG

                                     078D   663 	SS_CHECK NORMAL			; USE SS_CHECK TO TERMINATE TEST MODULE

                                     07BB   664 40$:

                          58     B6  07BB   665 	INCW	R8			; GET NEXT EFN

            01            1F     9D  07BD   666 	ACBB	#31,#1,R9,20$		; GO DO NEXT EVENT FLAG

            FF7C          59         07C0       

                                     07C3   667 	$READEF_S EFN=R10, STATE=CLUS_STATE ; READ THE CLUSTER JUST BUILT

            2E            50     E8  07D2   668 	BLBS	R0,50$			; CONTINUE IF NORMAL COMPLETION

                                     07D5   669 	SS_CHECK NORMAL			; USE SS_CHECK TO TERMINATE TEST MODULE

                                     0803   670 50$:

   000000E7'EF   000000ED'EF     D1  0803   671 	CMPL	CLUS_STATE,TRIAL_MASK 	; DID CLUSTER GET BUILT OK ?

                          59     13  080E   672 	BEQLU	BUILD_CLUSTX		; YES -- SIMPLY EXIT

   00000000'EF   000000E7'EF     D0  0810   673 	MOVL	TRIAL_MASK,EXPV		; NO -- LOAD EXPECTED AND ...

   00000000'EF   000000ED'EF     D0  081B   674 	MOVL	CLUS_STATE,RECV		; ... RECEIVED VALUES, THEN EXIT

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  17

1.0             BUILD_CLUST SUBROUTINE                                                                                           (1)



                                     0826   675 	ERR_EXIT LONG,<TRIAL MASK NOT BUILT CORRECTLY>

                                     0869   676 BUILD_CLUSTX:

                                 05  0869   677 	RSB				; RETURN TO CALLER

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  18

1.0             SETEXPBIT SUBROUTINE                                                                                             (1)



                                     086A   679 	.SBTTL	SETEXPBIT SUBROUTINE

                                     086A   680 ;

                                     086A   681 ; **************************************************************

                                     086A   682 ; *

                                     086A   683 ; *	SETEXPBIT SUBROUTINE

                                     086A   684 ; *

                                     086A   685 ; *	THIS SUBROUTINE DETERMINES WHETHER TO EXPECT A WAIT

                                     086A   686 ; *	  OR A FALL-THRU FROM THE UPCOMING ISSUANCE OF THE

                                     086A   687 ; *	  SUBJECT WAIT SYSTEM SERVICE FOR THIS TEST CASE.

                                     086A   688 ; *	  IF A WAIT IS EXPECTED, THE EXP_WAIT BIT IS SET; IF

                                     086A   689 ; *	  A FALL-THRU IS EXPECTED, THE BIT IS NOT SET. THE

                                     086A   690 ; *	  ALGORITHM FOR DETERMINING WHICH STATE TO EXPECT DEPENDS

                                     086A   691 ; *	  ON WHICH OF THE THREE TYPES OF WAIT SYSTEM SERVICE

                                     086A   692 ; *	  WILL BE ISSUED FOR THIS TEST CASE.

                                     086A   693 ; *

                                     086A   694 ; *		$WAITFR (SINGLE EVENT FLAG):

                                     086A   695 ; *			IF THE LOW-ORDER BIT OF THE TRIAL_MASK

                                     086A   696 ; *			IS SET, EXPECT A FALL-THRU; OTHERWISE,

                                     086A   697 ; *			EXPECT A WAIT.

                                     086A   698 ; *

                                     086A   699 ; *		$WFLAND:

                                     086A   700 ; *			DO A LOGICAL "AND" OF THE TRIAL_MASK WITH

                                     086A   701 ; *			THE SUBJECT MASK; IF THE RESULT EQUALS THE

                                     086A   702 ; *			SUBJECT MASK, EXPECT A FALL-THRU; OTHERWISE,

                                     086A   703 ; *			EXPECT A WAIT.

                                     086A   704 ; *

                                     086A   705 ; *		$WFLOR:

                                     086A   706 ; *			DO A LOGICAL "AND" OF THE TRIAL_MASK WITH

                                     086A   707 ; *			THE SUBJECT MASK; IF THE RESULT IS ZERO,

                                     086A   708 ; *			EXPECT A WAIT; OTHERWISE, EXPECT A FALL-THRU.

                                     086A   709 ; *

                                     086A   710 ; *	INPUTS:

                                     086A   711 ; *

                                     086A   712 ; *		R3      -    	CONDITION TABLE 2 INDEX REG,

                                     086A   713 ; *				INDICATING TYPE OF WAIT SERVICE

                                     086A   714 ; *

                                     086A   715 ; *		SUBJ_MASK  -	SUBJECT MASK. LONGWORD DATA ITEM,

                                     086A   716 ; *				USED AS THE VALUE FOR THE MASK

                                     086A   717 ; *				ARGUMENT FOR $WFLAND & $WFLOR.

                                     086A   718 ; *

                                     086A   719 ; *		TRIAL_MASK  - 	TRIAL MASK. LONGWORD DATA ITEM,

                                     086A   720 ; *				WHOSE BIT PATTERN IS EQUAL TO THE

                                     086A   721 ; *				CURRENT SETTING OF THE SUBJECT

                                     086A   722 ; *				EVENT FLAG CLUSTER.

                                     086A   723 ; *

                                     086A   724 ; *	OUTPUTS:

                                     086A   725 ; *

                                     086A   726 ; *		EXP_WAIT   -	BIT IN FLAGS BYTE. SET TO 1 IF

                                     086A   727 ; *				A WAIT IS EXPECTED; REMAINS AS 0

                                     086A   728 ; *				IF FALL-THRU IS EXPECTED.

                                     086A   729 ; *

                                     086A   730 ; *	VOLATILE REGISTERS:

                                     086A   731 ; *

                                     086A   732 ; *		R7

                                     086A   733 ; *

                                     086A   734 ; **************************************************************

                                     086A   735 ;

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  19

1.0             SETEXPBIT SUBROUTINE                                                                                             (1)



                                     086A   736 SETEXPBIT:

                          53     D5  086A   737 	TSTL	R3			; $WAITFR (SINGLE FLAG) ?

                          0F     12  086C   738 	BNEQU	10$			; NO -- CONTINUE

            39   000000E7'EF     E8  086E   739 	BLBS	TRIAL_MASK,SETEXPBITX 	; IF LOW BIT OF MASK SET, EXPECT A FALL-THRU

   000000F2'EF            00     E3  0875   740 	BBCS	#EXP_WAIT,FLAGS,SETEXPBITX ; SET EXPECT-WAIT BIT & EXIT

                          31         087C       

                                     087D   741 10$:

            57   000000E3'EF     D2  087D   742 	MCOML	SUBJ_MASK,R7		; LOGICALLY "AND" SUB_MASK ....

   000000E7'EF            57     CB  0884   743 	BICL3	R7,TRIAL_MASK,R7 	; .... WITH TRIAL_MASK, RESULT IN R7

                          57         088B       

            01            53     D1  088C   744 	CMPL	R3,#1			; $WFLAND ?

                          0C     13  088F   745 	BEQLU	20$			; YES -- GO TEST RESULT

                                     0891   746 					; NO -- ASSUME $WFLOR

                          57     D5  0891   747 	TSTL	R7			; RESULT ZERO ?

                          19     12  0893   748 	BNEQU	SETEXPBITX		; NO -- EXPECT A FALL-THRU

   000000F2'EF            00     E3  0895   749 	BBCS	#EXP_WAIT,FLAGS,SETEXPBITX ; YES -- SET BIT & EXIT

                          11         089C       

                                     089D   750 20$:

   000000E3'EF            57     D1  089D   751 	CMPL	R7,SUBJ_MASK		; RESULT = SUBJECT MASK ?

                          08     13  08A4   752 	BEQLU	SETEXPBITX		; YES -- EXPECT A FALL-THRU

   000000F2'EF            00     E3  08A6   753 	BBCS	#EXP_WAIT,FLAGS,SETEXPBITX ; NO -- SET BIT & EXIT

                          00         08AD       

                                     08AE   754 SETEXPBITX:

                                 05  08AE   755 	RSB

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  20

1.0             SETSTBIT SUBROUTINE                                                                                              (1)



                                     08AF   757 	.SBTTL	SETSTBIT SUBROUTINE

                                     08AF   758 ;

                                     08AF   759 ;	THE SETSTBIT SUBROUTINE SETS A STATE BIT INDICATING

                                     08AF   760 ;	THE STATE OF THE MAIN (INTERRUPTED) ROUTINE WHEN

                                     08AF   761 ;	THE WAITAST WAS DELIVERED.

                                     08AF   762 ;

                                     08AF   763 SETSTBIT:

   000000F2'EF            02     E4  08AF   764 	BBSC	#PROCESSING,FLAGS,.+1	; CLEAR "PROCESSING" ...

                          00         08B6       

   000000F2'EF            03     E4  08B7   765 	BBSC	#WAITING,FLAGS,.+1	; ... AND "WAITING" FLAGS

                          00         08BE       

   000000F2'EF            04     E1  08BF   766 	BBC	#FELLTHRU,FLAGS,10$	; CONTINUE IF NOT A FALL-THRU

                          03         08C6       

                          0027   31  08C7   767 	BRW	SETSTBITX		; STATE BIT ALREADY SET	; JUST EXIT

                                     08CA   768 10$:

   000000A1'EF43       10 AC     D1  08CA   769 	CMPL	16(AP),CHMKADD[R3]	; PC POINTING TO WAIT'S CHMK ?

                          14     12  08D3   770 	BNEQU	20$			; NO -- GO SET "PROCESSING"

   12345678 8F         08 AC     D1  08D5   771 	CMPL	8(AP),#PROC_CONS	; YES -- PROCESSING CONST STILL SET IN R0 ?

                          0A     13  08DD   772 	BEQLU	20$			; YES -- WAIT SERVICE NOT EXECUTED YET

   000000F2'EF            03     E2  08DF   773 	BBSS	#WAITING,FLAGS,.+1	; NO -- PROCESS IS WAITING

                          00         08E6       

                          08     11  08E7   774 	BRB	SETSTBITX		; EXIT

                                     08E9   775 20$:

   000000F2'EF            02     E2  08E9   776 	BBSS	#PROCESSING,FLAGS,.+1	; INDICATE STILL PROCESSING

                          00         08F0       

                                     08F1   777 SETSTBITX:

                                 05  08F1   778 	RSB				; RETURN TO CALLER (WAITAST RTN)

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  21

1.0             WAITAST ROUTINE                                                                                                  (1)



                                     08F2   780 	.SBTTL	WAITAST ROUTINE

                                     08F2   781 ;

                                     08F2   782 ; THIS AST ROUTINE IS ENTERED AFTER A 1-MILLISECOND TIMER EXPIRES.

                                     08F2   783 ; THE TIMER IS SET JUST BEFORE ISSUING A WAIT SYSTEM SERVICE. SINCE

                                     08F2   784 ; THE WAIT SERVICE IS FOLLOWED BY A $HIBER, THE MAIN ROUTINE HAS

                                     08F2   785 ; TO HAVE BEEN IN ONE OF THE THREE FOLLOWING STATES AT TIME OF AST

                                     08F2   786 ; INTERRUPT:

                                     08F2   787 ;

                                     08F2   788 ;	WAITING -- THE WAIT SYSTEM SERVICE CAUSED AN EVENT FLAG WAIT.

                                     08F2   789 ;		   THE WAIT WILL BE CLEARED BY ISSUING SETEF'S AND

                                     08F2   790 ;		   THE REC_WAIT BIT WILL BE SET.

                                     08F2   791 ;

                                     08F2   792 ;	FELLTHRU --    THE WAIT SYSTEM SERVICE DID NOT CAUSE AN

                                     08F2   793 ;		       EVENT FLAG WAIT (THIS IS A FALL-THRU).

                                     08F2   794 ;		       A $HIBER FOLLOWING THE WAIT WILL BE

                                     08F2   795 ;		       CLEARED WITH A $WAKE AND THE REC_WAIT

                                     08F2   796 ;		       BIT WILL BE CLEARED.

                                     08F2   797 ;

                                     08F2   798 ;	PROCESSING -- NEITHER OF THE ABOVE TWO STATES. IN THIS CASE,

                                     08F2   799 ;		      THE 1-MILLISECOND TIMER IS REPEATED, EXPECTING

                                     08F2   800 ;		      ONE OF THE OTHER TWO STATES TO BE REACHED EVENT-

                                     08F2   801 ;		      UALLY.

                                     08F2   802 ;

                                     08F2   803 WAITAST:

                               03FC  08F2   804 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9> ; ENTRY MASK

                          F709'  30  08F4   805 	BSBW	REST_REGS		; RESTORE REGS 2-6 FOR USE IN AST

                          FFB5   30  08F7   806 	BSBW	SETSTBIT		; DETERMINE STATE OF EXECUTION & SET BIT

   000000F2'EF            02     E1  08FA   807 	BBC	#PROCESSING,FLAGS,10$ 	; BRANCH IF NOT PROCESSING

                          36         0901       

            0A   000000F1'EF     91  0902   808 	CMPB	CONSEC_P,#10		; 10 CONSECUTIVE "PROCESSING" AST ENTRIES ?

                          1D     18  0909   809 	BGEQ	5$			; YES -- DO NOT RE-SCHEDULE THIS AST

                 000000F1'EF     96  090B   810 	INCB	CONSEC_P		; NO -- LOG THIS OCCURRENCE

                                     0911   811 	$SETIMR_S DAYTIM=TIMEINCR, -	; STILL PROCESSING; RE-SCHEDULE THIS AST

                                     0911   812 		  ASTADR=WAITAST

                          00E6   31  0925   813 	BRW	WAITASTX		; .... EXIT BACK TO INTERRUPTED CODE

                                     0928   814 5$:

   000000F2'EF            05     E2  0928   815 	BBSS	#ASTLOOP,FLAGS,.+1 	; INDICATE ERROR FOR LATER PROCESSING

                          00         092F       

   000000F2'EF            03     E2  0930   816 	BBSS	#WAITING,FLAGS,.+1 	; FAKE WAITING STATE TO CLEAR WAIT

                          00         0937       

                                     0938   817 10$:					; EITHER WAITING OR FELLTHRU

                 000000F1'EF     94  0938   818 	CLRB	CONSEC_P		; RE-INIT CNT OF CONSEC "PROCESSING" ENTRIES

                                     093E   819 ;

                                     093E   820 ;	THE FOLLOWING CODE READS THE CLUSTER & COMPARES IT 

                                     093E   821 ;	AGAINST TRIAL_MASK FOR EQUALITY. IF EVENT FLAG GROUP 0,

                                     093E   822 ;	COMPARE ONLY FLAGS 1-23, SINCE OTHERS MAY BE USED BY 

                                     093E   823 ;	SYSTEM OR TEST MODULE.

                                     093E   824 ;

                                     093E   825 	$READEF_S EFN=EFN[R4], STATE=CLUS_STATE 

                                     0952   826 					; GET STATE OF CLUSTER

            20   00000225'EF44   D1  0952   827 	CMPL	EFN[R4],#32		; EVENT FLAG GROUP 0 ?

                          07     19  095A   828 	BLSS	14$			; YES -- GO SPECIFY POS & SIZE FOR COMPARE

                          58     D4  095C   829 	CLRL	R8			; NO -- SPECIFY POSITION FOR COMPARE

            59            20     90  095E   830 	MOVB	#32,R9			; SPECIFY SIZE OF TRIAL_MASK FOR COMPARE

                          06     11  0961   831 	BRB	17$			; GO DO COMPARE

                                     0963   832 14$:

            58            01     9A  0963   833 	MOVZBL	#1,R8			; SPEC POSITION FOR E.F. GROUP 0

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  22

1.0             WAITAST ROUTINE                                                                                                  (1)



            59            17     90  0966   834 	MOVB	#23,R9			; .... AND SIZE

                                     0969   835 17$:

   000000ED'EF   000000E7'EF     CD  0969   836 	XORL3	TRIAL_MASK,CLUS_STATE,R7 ; GET XOR OF 2 COMPARANDS

                          57         0974       

            59            58     EC  0975   837 	CMPV	R8,R9,R7,#0		; COMPARE FOR BIT MATCHES USING POS & SIZE

            00            57         0978       

                          1E     13  097A   838 	BEQLU	20$			; BITS MATCH -- CONTINUE

   00000000'EF   000000E7'EF     D0  097C   839 	MOVL	TRIAL_MASK,EXPV		; MISMATCH -- LOAD EXPECTED ....

   00000000'EF   000000ED'EF     D0  0987   840 	MOVL	CLUS_STATE,RECV		; ... AND RECEIVED VALUES

   000000F2'EF            06     E2  0992   841 	BBSS	#CLUSCHG,FLAGS,.+1 	; INDICATE ERROR FOR LATER PROCESSING

                          00         0999       

                                     099A   842 20$:

                                     099A   843 	$WAKE_S				; WAKE SELF TO SATISFY $HIBER

   000000F2'EF            03     E0  09A5   844 	BBS	#WAITING,FLAGS,22$ 	; BRANCH IF WAITING

                          03         09AC       

                          005E   31  09AD   845 	BRW	WAITASTX		; MUST HAVE FALLEN THRU WAIT; JUST EXIT

                                     09B0   846 22$:

   000000F2'EF            01     E2  09B0   847 	BBSS	#REC_WAIT,FLAGS,.+1 	; SET "WAIT RECEIVED" BIT & KEEP GOING

                          00         09B7       

                          52     D5  09B8   848 	TSTL	R2			; FIRST CONDITION 1 ELEMENT ?

                          1E     13  09BA   849 	BEQLU	30$			; YES -- CLEAR WAIT IN CREATED PROCESS

                                     09BC   850 					; NO -- CLEAR WAIT IN THIS PROCESS

            58   00000225'EF44   D0  09BC   851 	MOVL	EFN[R4],R8		; ESTABLISH FIRST EFN IN CLUSTER

                          59     D4  09C4   852 	CLRL	R9			; INIT OFFSET OF EFN IN CLUSTER

                                     09C6   853 25$:

                                     09C6   854 	$SETEF_S EFN=R8			; SET THIS EVENT FLAG

                          58     B6  09CF   855 	INCW	R8			; POINT TO NEXT ONE

            01            1F     9D  09D1   856 	ACBB	#31,#1,R9,25$		; LOOP BACK TO SET NEXT ONE

            FFEF          59         09D4       

                          0034   31  09D7   857 	BRW	WAITASTX		; ALL DONE -- WAIT IS CLEARED

                                     09DA   858 30$:

                                     09DA   859 	$WAKE_S PRCNAM=CREPRN		; HAVE CREATED PROCESS ISSUE SETEF'S

                                     09E9   860 	$QIOW_S	CHAN=MBXCHAN, FUNC=#IO$_READVBLK, -

                                     09E9   861 		P1=MBXBUFF+8, P2=#1

                                     0A0E   862 					; ... WAIT UNTIL HE SIGNALS "DONE"

                                     0A0E   863 WAITASTX:

                                 04  0A0E   864 	RET				; TERMINATE THIS AST

                                     0A0F   865 	.END

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  23

SYMBOL TABLE                                                                                                                     (1)



$$$$           = 00000830 R     05   COND5_H          0000026A RG    04   PHD$B_ASTLVL     000000CF            

$$$CHARS       = 0000001E            COND5_T          0000026A R     04   PHD$B_DFPFC      00000038            

$$$CHARS1      = 0000000A            COND5_TAB        0000026A R     04   PHD$B_PAGFIL     0000001F            

$$$CHARS2      = 00000013            CONFLICT         ********   X   05   PHD$B_PGTBPFC    00000039            

$$$CHARS3      = 00000000            CONSEC_P         000000F1 R     04   PHD$C_LENGTH     00000118            

$$$CHARS4      = 00000000            CREPRN           00000051 R     03   PHD$C_PHDPAGCTX= 00000008            

$$$CHARS5      = 00000000            CTL$GL_PHD       ********   X   05   PHD$K_LENGTH     00000118            

$$$COND_A      = 00000001            DESC           = 00000010  G         PHD$L_BIOCNT     00000054            

$$$STRINGS     = 00000001            DIB$B_DEVCLASS   00000004            PHD$L_CPULIM     00000058            

$$$STRINGS2    = 00000005            DIB$B_DEVTYPE    00000005            PHD$L_CPUTIM     0000003C            

$$T1           = 00000001            DIB$C_LENGTH     00000024            PHD$L_DIOCNT     00000050            

$$T2           = 00000004            DIB$K_LENGTH     00000024            PHD$L_ESP        0000007C            

ASTLOOP        = 00000005            DIB$L_DEVCHAR    00000000            PHD$L_FREP0VA    00000028            

BIT...         = 0000000D            DIB$L_DEVDEPEND  00000008            PHD$L_FREP1VA    00000030            

BUILD_CLUST      0000073A R     05   DIB$L_OPCNT      0000001C            PHD$L_FREPTECNT  0000002C            

BUILD_CLUSTX     00000869 R     05   DIB$L_OWNUIC     00000014            PHD$L_KSP        00000078            

BYTE           = 00000001  G         DIB$L_PID        00000010            PHD$L_P0BR       000000C8            

CFLAG            ********   X   05   DIB$W_DEVBUFSIZ  00000006            PHD$L_P0LRASTL   000000CC            

CHMKADD          000000A1 R     03   DIB$W_DEVNAMOFF  0000000E            PHD$L_P1BR       000000D0            

CHMRTN           ********   X   05   DIB$W_ERRCNT     0000001A            PHD$L_P1LR       000000D4            

CHM_CONT         ********   X   05   DIB$W_RECSIZ     00000022            PHD$L_PAGEFLTS   0000004C            

CLUSCHG        = 00000006            DIB$W_UNIT       0000000C            PHD$L_PAGFIL     0000001C            

CLUS_NAME        00000065 R     03   DIB$W_VOLNAMOFF  00000020            PHD$L_PC         000000C0            

CLUS_STATE       000000ED R     04   DIB$W_VPROT      00000018            PHD$L_PCB        00000078            

COMP_SC          ********   X   05   EFGR0_MASK     = FF000001            PHD$L_PGFLCNT    00000034            

COND1            000002C1 RG    05   EFLAG            ********   X   05   PHD$L_PGFLQUOTA  0000005C            

COND1_C        = 00000000            EFN              00000225 R     04   PHD$L_PSL        000000C4            

COND1_CLEANUP    000002C2 RG    05   EXPV             ********   X   05   PHD$L_PSTBASOFF  00000020            

COND1_E          00000140 R     04   EXP_WAIT       = 00000000            PHD$L_PTWSLELCK  00000064            

COND1_H          0000010C RG    04   FAO_DESC         ********   X   05   PHD$L_PTWSLEVAL  00000068            

COND1_T          000000F4 R     04   FAO_LEN          ********   X   05   PHD$L_R0         00000088            

COND1_TAB        0000010D R     04   FELLTHRU       = 00000004            PHD$L_R1         0000008C            

COND2            000002C3 RG    05   FLAGS            000000F2 R     04   PHD$L_R10        000000B0            

COND2_C        = 00000000            FORM_CONDS       000002F6 RG    05   PHD$L_R11        000000B4            

COND2_CLEANUP    000002C4 RG    05   FORM_CONDSX      000003F7 R     05   PHD$L_R12        000000B8            

COND2_E          00000180 R     04   GBL...         = 00000000            PHD$L_R13        000000BC            

COND2_H          0000015C RG    04   IMAGNAM          0000007A R     03   PHD$L_R2         00000090            

COND2_T          00000140 R     04   IO$_READVBLK     ********   X   05   PHD$L_R3         00000094            

COND2_TAB        0000015D R     04   LONG           = 00000004  G         PHD$L_R4         00000098            

COND3            000002C5 RG    05   MASK             00000262 R     04   PHD$L_R5         0000009C            

COND3X           000002F0 R     05   MBXBUFF          00000063 R     04   PHD$L_R6         000000A0            

COND3_C        = 00000004            MBXCHAN          00000008 R     04   PHD$L_R7         000000A4            

COND3_CLEANUP    000002F1 RG    05   MBXCHANINFO      0000000C R     04   PHD$L_R8         000000A8            

COND3_E          00000225 R     04   MBXUNIT          0000005F R     04   PHD$L_R9         000000AC            

COND3_H          00000184 RG    04   MOD_MSG_CODE     ********   X   05   PHD$L_REFERFLT   00000014            

COND3_T          00000180 R     04   MOD_MSG_PRINT    ********   X   05   PHD$L_SSP        00000080            

COND3_TAB        00000185 R     04   MSG1_INP_CTL     00000019 R     03   PHD$L_USP        00000084            

COND4            000002F2 RG    05   MSG3_ERR_CTL     00000039 RG    03   PHD$L_WSL        00000118            

COND4_C        = 00000004            MSG_A            ********   X   05   PHD$M_DALCSTX  = 00000002            

COND4_CLEANUP    000002F3 RG    05   MSG_B            ********   X   05   PHD$M_PFMFLG   = 00000001            

COND4_E          00000262 R     04   MSG_CTXT         ********   X   05   PHD$M_WSPEAKCHK= 00000004            

COND4_H          0000023A RG    04   MSG_DATA1        ********   X   05   PHD$Q_PRIVMSK    00000000            

COND4_T          00000235 R     04   NOTARG         = 00000000  G         PHD$S_ASTLVL   = 00000008            

COND4_TAB        0000023B R     04   NULL           = 00000014  G         PHD$S_P0LR     = 00000018            

COND5            000002F4 RG    05   ONES             ********   X   05   PHD$V_ASTLVL   = 00000018            

COND5_C        = 00000014            OUTPUT_MSG       ********   X   05   PHD$V_DALCSTX  = 00000001            

COND5_CLEANUP    000002F5 RG    05   PCV              ********   X   05   PHD$V_P0LR     = 00000000            

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  24

SYMBOL TABLE                                                                                                                     (1)



PHD$V_PFMFLG   = 00000000            PRV$V_LOG_IO   = 00000007            TM_SETUP         00000000 RG    05   

PHD$V_WSPEAKCHK= 00000002            PRV$V_MOUNT    = 00000011            TM_WORK          000000EB R     04   

PHD$W_ASTLM      00000044            PRV$V_NETMBX   = 00000014            TRIAL_MASK       000000E7 R     04   

PHD$W_BAK        00000048            PRV$V_NOACNT   = 00000009            VERIFY           000003F8 RG    05   

PHD$W_DFWSCNT    0000001A            PRV$V_OPER     = 00000012            VERIFYX          00000738 R     05   

PHD$W_EMPTPG     000000D8            PRV$V_PHY_IO   = 00000016            VFY_CLEANUP      00000739 RG    05   

PHD$W_EXTDYNWS   00000076            PRV$V_PRMCEB   = 0000000A            WAITAST          000008F2 R     05   

PHD$W_FILLM      00000060            PRV$V_PRMGBL   = 00000018            WAITASTX         00000A0E R     05   

PHD$W_FLAGS      0000003A            PRV$V_PRMMBX   = 0000000B            WAITING        = 00000003            

PHD$W_PHVINDEX   00000046            PRV$V_PSWAPM   = 0000000C            WORD           = 00000002  G         

PHD$W_PRCLM      00000042            PRV$V_SETPRI   = 0000000D            WRITE_MSG2       ********   X   05   

PHD$W_PST        00000020            PRV$V_SETPRV   = 0000000E            

PHD$W_PSTBASMAX  0000004A            PRV$V_SYSGBL   = 00000019            

PHD$W_PSTFREE    00000026            PRV$V_SYSNAM   = 00000002            

PHD$W_PSTLAST    00000024            PRV$V_TMPMBX   = 0000000F            

PHD$W_PTCNTACT   00000070            PRV$V_VOLPRO   = 00000015            

PHD$W_PTCNTLCK   0000006C            PRV$V_WORLD    = 00000010            

PHD$W_PTCNTMAX   00000072            QUAD           = 00000008  G         

PHD$W_PTCNTVAL   0000006E            QUOTALIST        000000AD R     03   

PHD$W_QUANT      00000040            RECV             ********   X   05   

PHD$W_TQLM       00000062            REC_WAIT       = 00000001            

PHD$W_WSAUTH     0000000A            REST_REGS        ********   X   05   

PHD$W_WSDYN      0000000E            SAVE_REGS        ********   X   05   

PHD$W_WSFLUID    00000074            SETEXPBIT        0000086A R     05   

PHD$W_WSLAST     00000012            SETEXPBITX       000008AE R     05   

PHD$W_WSLIST     00000008            SETSTBIT         000008AF R     05   

PHD$W_WSLOCK     0000000C            SETSTBITX        000008F1 R     05   

PHD$W_WSLX       0000004A            SS$_NORMAL       ********   X   05   

PHD$W_WSNEXT     00000010            SUBJ_MASK        000000E3 R     04   

PHD$W_WSQUOTA    00000018            SUCCESS          ********   X   05   

PQL$_ASTLM     = 00000001            SYS$ASCEFC       ********   X   05   

PQL$_BIOLM     = 00000002            SYS$CLREF        ********   X   05   

PQL$_BYTLM     = 00000003            SYS$CMKRNL       ********   X   05   

PQL$_CPULM     = 00000004            SYS$CREMBX       ********   X   05   

PQL$_DIOLM     = 00000005            SYS$CREPRC       ********   X   05   

PQL$_FILLM     = 00000006            SYS$DACEFC       ********   X   05   

PQL$_LENGTH    = 0000000C            SYS$DELMBX       ********   X   05   

PQL$_LISTEND   = 00000000            SYS$FAO          ********   X   05   

PQL$_PGFLQUOTA = 00000007            SYS$FORCEX       ********   X   05   

PQL$_PRCLM     = 00000008            SYS$GETCHN       ********   X   05   

PQL$_TQELM     = 00000009            SYS$HIBER        ********   X   05   

PQL$_WSDEFAULT = 0000000B            SYS$QIOW         ********   X   05   

PQL$_WSQUOTA   = 0000000A            SYS$READEF       ********   X   05   

PRIVMASK         00000000 R     04   SYS$SETEF        ********   X   05   

PROCESSING     = 00000002            SYS$SETIMR       ********   X   05   

PROCESS_ERR      ********   X   05   SYS$SETPRN       ********   X   05   

PROCFLAG         000000F3 R     04   SYS$WAITFR       ********   X   03   

PROC_CONS      = 12345678            SYS$WAKE         ********   X   05   

PRV$V_ALLSPOOL = 00000004            SYS$WFLAND       ********   X   03   

PRV$V_BUGCHK   = 00000017            SYS$WFLOR        ********   X   03   

PRV$V_CMEXEC   = 00000001            TESTNUM          ********   X   05   

PRV$V_CMKRNL   = 00000000            TEST_MOD_NAME    00000000 RG    03   

PRV$V_DETACH   = 00000005            TEST_MOD_NAME_D  00000009 R     03   

PRV$V_DIAGNOSE = 00000006            TEST_MOD_SUCC    ********   X   05   

PRV$V_EXQUOTA  = 00000013            TIMEINCR         00000099 R     03   

PRV$V_GROUP    = 00000008            TMD_ADDR         ********   X   05   

PRV$V_GRPNAM   = 00000003            TM_CLEANUP       0000024F RG    05   

SATSSS56        SATS SYSTEM SERVICE TESTS  WAITS (SUCC S.C.)     22-AUG-1978 04:12:37   VAX-11 MACRO X0.3-11               Page  25

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







PROGRAM SECTION SYNOPSIS



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

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

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

RODATA           000000D0      03     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD  NOWRT LONG  

RWDATA           0000026B      04     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT LONG  

SATSSS56         00000A0F      05     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

10408. BYTES LEFT IN FREE MEMORY POOL.

24. BYTES OF RECLAIMED MEMORY.

OBJ$:SATSSS56,LIS$:SATSSS56/-SP=EXECML$/ML,LIB$:SYSTST.MLB/ML,SRC$:SATSSS56

78 MLB DIR RDS - 812 GETS TO DEFINE 46 MACROS. 47 INTER. FILE WRITES. 

