

; Bliss-32 10.1-416	Monday 21-AUG-1978 19:23:01	DBB3:[RTL.SRC]FPAUSE.B32;10					Page 1

;

;00100  0001	MODULE FOR$PAUSE (	! FORTRAN PAUSE statement

;00200  0002		IDENT = '0-09'	! File: FPAUSE.B32

;00300  0003			) =

;00400  0004	BEGIN

;00500  0005	

;00600  0006	!

;00700  0007	!			  COPYRIGHT (c) 1977 BY

;00800  0008	!	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

;00900  0009	!

;01000  0010	! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED

;01100  0011	! ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE

;01200  0012	! INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER

;01300  0013	! COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY

;01400  0014	! OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY

;01500  0015	! TRANSFERRED.

;01600  0016	!

;01700  0017	! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE

;01800  0018	! AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT

;01900  0019	! CORPORATION.

;02000  0020	!

;02100  0021	! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS

;02200  0022	! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

;02300  0023	!

;02400  0024	

;02500  0025	!++

;02600  0026	! FACILITY:  FORTRAN Support Library

;02700  0027	!

;02800  0028	! ABSTRACT:

;02900  0029	!

;03000  0030	!	FORTRAN PAUSE statement: Output optional string and hibernate

;03100  0031	!

;03200  0032	! ENVIRONMENT:  User Mode - AST re-entrant

;03300  0033	!

;03400  0034	! AUTHOR:  Thomas N. Hastings, CREATION DATE:  8-Aug-1977

;03500  0035	!

;03600  0036	! MODIFIED BY:

;03700  0037	!

;03800  0038	! 	Thomas N. Hastings, 8-Aug-1977: VERSION 0

;03900  0039	! 01	- original

;04000  0040	! 0-4	- Output FORTRAN PAUSE, if no arg.  TNH 13-Dec-77.

;04100  0041	! 0-05	- Change to STARLET library.  DGP 20-Apr-78

;04200  0042	! 0-06	- Change REQUIRE files for VAX system build.  DGP 28-Apr-78

;04300  0043	! 0-07	- Change STARLET to RTLSTARLE to avoid conflicts.  DGP 1-May-78

;04310  0044	! 0-08	- Use SYS$CLI to pause.  TNH 7-Jun-78

;04320  0045	! 0-09	- Make PIC.  TNH 30-June-78

;04400  0046	!--



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:23:01	DBB3:[RTL.SRC]FPAUSE.B32;10					Page 2

;

;00100  0047	!

;00200  0048	! TABLE OF CONTENTS:

;00300  0049	!

;00400  0050	

;00500  0051	FORWARD ROUTINE

;00600  0052		FOR$PAUSE;		! PAUSE statement

;00700  0053	

;00800  0054	

;00900  0055	BUILTIN

;01000  0056		ACTUALCOUNT;		! Return the number of actual parameters

;01100  0057	!

;01200  0058	! INCLUDE FILES:

;01300  0059	!

;01400  0060		REQUIRE 'RTLIN:FMAC';		! Define macros

; %PRINT:	Filename: FMAC.B32; Version 1, edit 29, TNH, 7-JUN-78

; %PRINT:	 REQUIRE FILE: LPSECT.B32, VERSION 01-5, TNH, 27-Jun-78

;01500  0240		LIBRARY 'RTLSTARLE';	! STARLET library for macros and symbols

;01600  0241	!

;01700  0242	! MACROS:

;01800  0243	!

;01900  0244	

;02000  0245	!

;02100  0246	! EQUATED SYMBOLS:

;02200  0247	!

;02300  0248	

;02400  0249	!

;02500  0250	! PSECT DECLARATIONS:

;02600  0251	!

;02700  0252	

;02800  0253		DECLARE_PSECTS (FOR);		! declare PSECTs for FOR$ facility

;02900  0254	

;03000  0255	!

;03100  0256	! OWN STORAGE:

;03200  0257	!

;03300  0258	

;03400  0259	!

;03500  0260	! EXTERNAL REFERENCES:

;03600  0261	!

;03700  0262	

;03800  0263	EXTERNAL ROUTINE

;03850  0264		SYS$CLI: ADDRESSING_MODE(GENERAL),	! Call command language interpreter (CLI)

;03900  0265		LIB$PUT_OUTPUT: NOVALUE ADDRESSING_MODE(GENERAL); ! Output on device $OUTPUT



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:23:01	DBB3:[RTL.SRC]FPAUSE.B32;10					Page 3

;

;00100  0266	GLOBAL ROUTINE FOR$PAUSE (	! FORTRAN PAUSE statement

;00200  0267		MESSAGE)	! Adr. of optional string descriptor to output

;00300  0268		 =			! Value returned is $SUSPND  completion code

;00400  0269	!++

;00500  0270	! FUNCTIONAL DESCRIPTION:

;00600  0271	!

;00700  0272	!	FORTRAN PAUSE outputs an optional string on device $OUTPUT

;00800  0273	!	and then calls CLI to pause which puts users back at command level.

;01000  0274	!	If no parameter is given, 'FORTRAN PAUSE' is output.

;01100  0275	!

;01200  0276	! FORMAL PARAMETERS:

;01300  0277	!

;01400  0278	!	MESSAGE.rt.dx		! Adr. of optional string descriptor to output

;01500  0279	!

;01600  0280	! IMPLICIT INPUTS:

;01700  0281	!

;01800  0282	!	Logical device assignment for $OUTPUT (see LIB$PUT_OUTPUT)

;01900  0283	!

;02000  0284	! IMPLICIT OUTPUTS:

;02100  0285	!

;02200  0286	!	NONE

;02300  0287	!

;02400  0288	! COMPLETION CODES:

;02500  0289	!

;02600  0290	!	Operating system completion status on SYS$CLI directive

;02700  0291	!

;02800  0292	! SIDE EFFECTS:

;02900  0293	!

;03000  0294	!	Outputs message on device $OUTPUT and calls SYS$CLI pause function.

;03100  0295	!

;03200  0296	!--

;03300  0297	

;03400  0298	    BEGIN

;03410  0299	    LOCAL T,

;03415  0300		DESCR: DSC$DESCRIPTOR;		! descriptor (needed to be PIC)

;03420  0301	

;03500  0302	    IF ACTUALCOUNT() GEQ 1

;03600  0303	    THEN

;03700  0304		LIB$PUT_OUTPUT (.MESSAGE)

;03800  0305	    ELSE

;03810  0306		BEGIN

;03820  0307		DESCR[DSC$W_LENGTH] = 13;

;03830  0308		DESCR[DSC$A_POINTER] = UPLIT ('FORTRAN PAUSE');

;03900  0309		LIB$PUT_OUTPUT (DESCR);

;03910  0310		END;

;04000  0311	

;04010  0312	    T = CLI$K_CLISERV + CLI$K_PAUSE*256;

;04100  0313	    RETURN SYS$CLI (T);;

;04200  0314	    END;			! End of routine FOR$PAUSE





							    .TITLE  FOR$PAUSE

							    .IDENT  \0-09\



							    .PSECT  FOR$CODE,NOWRT,  SHR,  PIC,2



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:23:01	DBB3:[RTL.SRC]FPAUSE.B32;10					Page 3-1

;



  55  41  50  20  4E  41  52  54  52  4F  46  00000 P.AAA:  .ASCII  \FORTRAN PAUSE\<0><0><0>				      ;

			  00  00  00  45  53  0000B									      ;



							    .EXTRN  SYS$CLI, LIB$PUT_OUTPUT



					 0000 00010 	    .ENTRY  FOR$PAUSE, Save nothing				      ; 0266

		         5E 	       0C  C2 00012 	    SUBL2   #12, SP						      ;

		         01 	       6C  91 00015 	    CMPB    (AP), #1						      ; 0302

				       05  1F 00018 	    BLSSU   1$							      ;

				  04   AC  DD 0001A 	    PUSHL   MESSAGE						      ; 0304

				       0C  11 0001D 	    BRB     2$							      ;

		    04   AE	       0D  B0 0001F 1$:     MOVW    #13, DESCR						      ; 0307

		    08   AE	  DA   AF  9E 00023 	    MOVAB   P.AAA, DESCR+4					      ; 0308

				  04   AE  9F 00028 	    PUSHAB  DESCR						      ; 0309

	      00000000G  00	       01  FB 0002B 2$:     CALLS   #1, LIB$PUT_OUTPUT					      ;

		         6E 	0105   8F  3C 00032 	    MOVZWL  #261, T						      ; 0312

				       5E  DD 00037 	    PUSHL   SP							      ; 0313

	      00000000G  00	       01  FB 00039 	    CALLS   #1, SYS$CLI						      ;

					   04 00040 	    RET     							      ; 0266



; Routine Size:  49 bytes





;04300  0315	END			! End of module FOR$PAUSE

;04400  0316	ELUDOM













;				       PSECT SUMMARY

;

;	Name		 Bytes			       Attributes

;

;  FOR$CODE       	    65  NOWRT,  RD ,  EXE,  SHR,  LCL,  REL,  CON,  PIC,ALIGN(2)









;				LIBRARY STATISTICS

;

;					     -------- Symbols --------    Blocks

;	File				     Total    Loaded   Percent      Read

;

;  DBA4:[SYSLIB]STARLET.L32;1		      2688         4         0       109











; Size:		49 code + 16 data bytes

; Run Time:	00:03.1

; Elapsed Time:	00:08.4



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:23:01									Page 3-2

;

; Memory Used:	131 pages

; Compilation Complete

