

; Bliss-32 10.1-416	Monday 21-AUG-1978 22:51:23	DBB3:[F11A.SRC]CPYNAM.B32;2					Page 1

;

;	0001	MODULE CPYNAM (

;	0002			LANGUAGE (BLISS32),

;	0003			IDENT = 'A0001'

;	0004			) =

;	0005	BEGIN

;	0006	

;	0007	!

;	0008	! Copyright (c) 1977

;	0009	! Digital Equipment Corporation, Maynard, Massachusetts 01754

;	0010	!

;	0011	! This software is furnished  under a license for use only on a single

;	0012	! computer  system and  may be  copied only with  the inclusion of the

;	0013	! above copyright notice.  This software, or any other copies thereof,

;	0014	! may not be provided or  otherwise made available to any other person

;	0015	! except for use on such system and to one who agrees to these license

;	0016	! terms.  Title to and  ownership of the  software  shall at all times

;	0017	! remain in DEC.

;	0018	!

;	0019	! The information in this software is subject to change without notice

;	0020	! and should  not be construed  as a commitment  by Digital  Equipment

;	0021	! Corporation.

;	0022	!

;	0023	! DEC assumes  no  responsibility  for  the use or  reliability of its

;	0024	! software on equipment which is not supplied by DEC.

;	0025	

;	0026	!++

;	0027	!

;	0028	! FACILITY:  F11ACP Structure Level 1

;	0029	!

;	0030	! ABSTRACT:

;	0031	!

;	0032	!	This routine copies the file name string in the buffer descriptor

;	0033	!	packet into the result name string, if present. This routine must

;	0034	!	be called in kernel mode.

;	0035	!

;	0036	! ENVIRONMENT:

;	0037	!

;	0038	!	STARLET operating system, including privileged system services

;	0039	!	and internal exec routines.

;	0040	!

;	0041	!--

;	0042	!

;	0043	!

;	0044	! AUTHOR:  Andrew C. Goldstein,	 CREATION DATE:  6-Jun-1978  1:45

;	0045	!

;	0046	! REVISION HISTORY:

;	0047	!

;	0048	!**

;	0049	

;	0050	

;	0051	LIBRARY 'SYS$LIBRARY:LIB.L32';

;	0052	REQUIRE 'SRC$:FCPDEF.B32';



; Bliss-32 10.1-416	Monday 21-AUG-1978 22:51:23	DBB3:[F11A.SRC]CPYNAM.B32;2					Page 2

;

;	0371	GLOBAL ROUTINE COPY_NAME (ABD) =

;	0372	

;	0373	!++

;	0374	!

;	0375	! FUNCTIONAL DESCRIPTION:

;	0376	!

;	0377	!	This routine copies the file name string in the buffer descriptor

;	0378	!	packet into the result name string, if present. This routine must

;	0379	!	be called in kernel mode.

;	0380	!

;	0381	!

;	0382	! CALLING SEQUENCE:

;	0383	!	COPY_NAME (ARG1)

;	0384	!

;	0385	! INPUT PARAMETERS:

;	0386	!	ARG1: address of buffer descriptor packet

;	0387	!

;	0388	! IMPLICIT INPUTS:

;	0389	!	NONE

;	0390	!

;	0391	! OUTPUT PARAMETERS:

;	0392	!	NONE

;	0393	!

;	0394	! IMPLICIT OUTPUTS:

;	0395	!	NONE

;	0396	!

;	0397	! ROUTINE VALUE:

;	0398	!	1

;	0399	!

;	0400	! SIDE EFFECTS:

;	0401	!	buffer packet altered

;	0402	!

;	0403	!--

;	0404	

;	0405	BEGIN

;	0406	

;	0407	MAP

;	0408		ABD		: REF BBLOCKVECTOR [,ABD$C_LENGTH]; ! buffer packet arg

;	0409	

;	0410	

;	0411	CH$COPY (.ABD[ABD$C_NAME, ABD$W_COUNT],

;	0412		ABD[ABD$C_NAME, ABD$W_TEXT] + .ABD[ABD$C_NAME, ABD$W_TEXT] + 1,

;	0413		0,

;	0414		.ABD[ABD$C_RES, ABD$W_COUNT],

;	0415		ABD[ABD$C_RES, ABD$W_TEXT] + .ABD[ABD$C_RES, ABD$W_TEXT] + 1

;	0416		);

;	0417	

;	0418	IF .ABD[ABD$C_RESL, ABD$W_COUNT] GEQ 2

;	0419	THEN

;	0420	    (ABD[ABD$C_RESL, ABD$W_TEXT] + .ABD[ABD$C_RESL, ABD$W_TEXT] + 1)<0,16>

;	0421	    = .ABD[ABD$C_NAME, ABD$W_COUNT];

;	0422	

;	0423	RETURN 1;

;	0424	

;	0425	END;					! end of routine COPY_NAME



; Bliss-32 10.1-416	Monday 21-AUG-1978 22:51:23	DBB3:[F11A.SRC]CPYNAM.B32;2					Page 2-1

;





							    .TITLE  CPYNAM

							    .IDENT  \A0001\







							    .PSECT  $CODE$,NOWRT,2



					 007C 00000 	    .ENTRY  COPY_NAME, Save R2,R3,R4,R5,R6			      ; 0371

		         56 	  04   AC  D0 00002 	    MOVL    ABD, R6						      ; 0411

		         50 	       56  D0 00006 	    MOVL    R6, R0						      ; 0412

		         51 	  10   A0  3C 00009 	    MOVZWL  16(R0), R1						      ;

		         50 	       56  D0 0000D 	    MOVL    R6, R0						      ; 0415

		         50 	  20   A0  3C 00010 	    MOVZWL  32(R0), R0						      ;

	   00 	    11 A146	  12   A6  2C 00014 	    MOVC5   18(R6), 17(R1)[R6], #0, 34(R6), 33(R0)[R6]		      ; 0411

		    21 A046	  22   A6     0001B									      ;

		         02 	  1A   A6  B1 00020 	    CMPW    26(R6), #2						      ; 0418

				       0F  1F 00024 	    BLSSU   1$							      ;

		         50 	       56  D0 00026 	    MOVL    R6, R0						      ; 0420

		         50 	  18   A0  3C 00029 	    MOVZWL  24(R0), R0						      ;

				  19 A046  9F 0002D 	    PUSHAB  25(R0)[R6]						      ; 0421

		         9E 	  12   A6  B0 00031 	    MOVW    18(R6), @(SP)+					      ;

		         50 	       01  D0 00035 1$:     MOVL    #1, R0						      ; 0423

					   04 00038 	    RET     							      ; 0371



; Routine Size:  57 bytes





;	0426	

;	0427	END

;	0428	ELUDOM













;				       PSECT SUMMARY

;

;	Name		 Bytes			       Attributes

;

;  $CODE$         	    57  NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)









;				LIBRARY STATISTICS

;

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

;	File				     Total    Loaded   Percent      Read

;

;  DBA4:[SYSLIB]LIB.L32;1		      5582         7         0       223







; Bliss-32 10.1-416	Monday 21-AUG-1978 22:51:23	DBB3:[F11A.SRC]CPYNAM.B32;2					Page 2-2

;







; Size:		57 code + 0 data bytes

; Run Time:	00:03.9

; Elapsed Time:	00:09.7

; Memory Used:	255 pages

; Compilation Complete

