

; Bliss-32 10.1-416	Monday 21-AUG-1978 19:25:06	DBB3:[RTL.SRC]FSTOP.B32;8					Page 1

;

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

;00200  0002		IDENT = '0-07'	! File: FSTOP.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	!	Output optional string and suspend process

;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-3	- Print FORTRAN STOP if no arg.  TNH 13-Dec-77

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

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

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

;04310  0044	! 0-07	- Make PIC.  TNH 30-June-78

;04400  0045	!--



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:25:06	DBB3:[RTL.SRC]FSTOP.B32;8					Page 2

;

;00100  0046	!

;00200  0047	! TABLE OF CONTENTS:

;00300  0048	!

;00400  0049	

;00500  0050	FORWARD ROUTINE

;00600  0051		FOR$STOP;		! STOP statement

;00700  0052	

;00800  0053	

;00900  0054	BUILTIN

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

;01100  0056	!

;01200  0057	! INCLUDE FILES:

;01300  0058	!

;01400  0059		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  0239		LIBRARY 'RTLSTARLE';	! STARLET library for macros and symbols

;01600  0240	!

;01700  0241	! MACROS:

;01800  0242	!

;01900  0243	

;02000  0244	!

;02100  0245	! EQUATED SYMBOLS:

;02200  0246	!

;02300  0247	

;02400  0248	!

;02500  0249	! PSECT DECLARATIONS:

;02600  0250	!

;02700  0251	

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

;02900  0253	

;03000  0254	!

;03100  0255	! OWN STORAGE:

;03200  0256	!

;03300  0257	

;03400  0258	!

;03500  0259	! EXTERNAL REFERENCES:

;03600  0260	!

;03700  0261	

;03800  0262	EXTERNAL ROUTINE

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



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:25:06	DBB3:[RTL.SRC]FSTOP.B32;8					Page 3

;

;00100  0264	GLOBAL ROUTINE FOR$STOP (	! FORTRAN STOP statement

;00200  0265		MESSAGE_DSC_ADR)	! Adr. of optional string descriptor to output

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

;00400  0267	!++

;00500  0268	! FUNCTIONAL DESCRIPTION:

;00600  0269	!

;00700  0270	!	FORTRAN STOP outputs an optional string on device $OUTPUT

;00800  0271	!	and calls $EXIT with a success completion status.

;00900  0272	!	If no argument is present, 'FORTRAN STOP' is printed.

;01000  0273	!

;01100  0274	! FORMAL PARAMETERS:

;01200  0275	!

;01300  0276	!	message_dsc_adr.rt.dx		! Adr. of optional string descriptor to output

;01400  0277	!

;01500  0278	! IMPLICIT INPUTS:

;01600  0279	!

;01700  0280	!	Logical device assignment for $OUTPUT (see LIB$PUT_OUTPUT)

;01800  0281	!

;01900  0282	! IMPLICIT OUTPUTS:

;02000  0283	!

;02100  0284	!	NONE

;02200  0285	!

;02300  0286	! COMPLETION CODES:

;02400  0287	!

;02500  0288	!	NONE

;02600  0289	!

;02700  0290	! SIDE EFFECTS:

;02800  0291	!

;02900  0292	!	Outputs message on device $OUTPUT and calls $EXIT with success code 1.

;03000  0293	!

;03100  0294	!--

;03200  0295	

;03300  0296	    BEGIN

;03310  0297	    LOCAL

;03320  0298		DESCR: DSC$DESCRIPTOR;		! descriptor (needed to be PIC)

;03400  0299	

;03500  0300	    !+

;03600  0301	    ! Output optional message on device $OUTPUT, if arg present.

;03700  0302	    !-

;03800  0303	

;03900  0304	    IF ACTUALCOUNT() GEQ 1

;04000  0305	    THEN

;04100  0306		LIB$PUT_OUTPUT (.MESSAGE_DSC_ADR)

;04200  0307	    ELSE

;04210  0308		BEGIN

;04220  0309		DESCR[DSC$W_LENGTH] = 12;

;04230  0310		DESCR[DSC$A_POINTER] = UPLIT ('FORTRAN STOP');

;04300  0311		LIB$PUT_OUTPUT (DESCR);

;04310  0312		END;

;04400  0313	

;04500  0314	

;04600  0315	    !+

;04700  0316	    ! EXIT with success completion status code of 1.

;04800  0317	    !-

;04900  0318	



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:25:06	DBB3:[RTL.SRC]FSTOP.B32;8					Page 3-1

;

;05000  0319	    $EXIT (CODE=1);

;05100  0320	    END;			! End of routine FOR$STOP





							    .TITLE  FOR$STOP

							    .IDENT  \0-07\



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



  4F  54  53  20  4E  41  52  54  52  4F  46  00000 P.AAA:  .ASCII  \FORTRAN STOP\					      ;

					  50  0000B									      ;



							    .EXTRN  LIB$PUT_OUTPUT, SYS$EXIT



					 0000 0000C 	    .ENTRY  FOR$STOP, Save nothing				      ; 0264

		         5E 	       08  C2 0000E 	    SUBL2   #8, SP						      ;

		         01 	       6C  91 00011 	    CMPB    (AP), #1						      ; 0304

				       05  1F 00014 	    BLSSU   1$							      ;

				  04   AC  DD 00016 	    PUSHL   MESSAGE_DSC_ADR					      ; 0306

				       0A  11 00019 	    BRB     2$							      ;

		         6E 	       0C  B0 0001B 1$:     MOVW    #12, DESCR						      ; 0309

		    04   AE	  DF   AF  9E 0001E 	    MOVAB   P.AAA, DESCR+4					      ; 0310

				       5E  DD 00023 	    PUSHL   SP							      ; 0311

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

				       01  DD 0002C 	    PUSHL   #1							      ; 0319

	      00000000G  9F	       01  FB 0002E 	    CALLS   #1, @#SYS$EXIT					      ;

				       50  D4 00035 	    CLRL    R0							      ; 0264

					   04 00037 	    RET     							      ;



; Routine Size:  44 bytes





;05200  0321	END				! End of module FOR$STOP

;05300  0322	ELUDOM













;				       PSECT SUMMARY

;

;	Name		 Bytes			       Attributes

;

;  FOR$CODE       	    56  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         3         0       109



; Bliss-32 10.1-416	Monday 21-AUG-1978 19:25:06	DBB3:[RTL.SRC]FSTOP.B32;8					Page 3-2

;











; Size:		44 code + 12 data bytes

; Run Time:	00:03.0

; Elapsed Time:	00:07.8

; Memory Used:	130 pages

; Compilation Complete

