Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/blis16/b16ch5.lst
There are no other files named b16ch5.lst in the archive.
B16CH5		OTS CH$ String Move and Fill			25-Jan-1983 16:48:31	TOPS-20 Bliss-16 2A(530)	    Page   1
								25-Jan-1983 16:44:54	NETPKG:<BLIS16>B16CH5.B16.1 (1)

;	  0001	MODULE B16CH5 (IDENT = '2-4' %TITLE'OTS CH$ String Move and Fill'
;	  0002		       ,LANGUAGE(BLISS16)
;	  0003		      ) =
;	  0004	BEGIN
;	  0005	
;	  0006	!
;	  0007	!         COPYRIGHT (c) 1977,1978,1979,1980,1981,1982 BY
;	  0008	!         DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;	  0009	!
;	  0010	! This software is furnished under a license and may be used and  copied
;	  0011	! only  in  accordance  with  the  terms  of  such  license and with the
;	  0012	! inclusion of the above copyright notice.  This software or  any  other
;	  0013	! copies  thereof may not be provided or otherwise made available to any
;	  0014	! other person.  No title to and ownership of  the  software  is  hereby
;	  0015	! transferred.
;	  0016	!
;	  0017	! The information in this software is subject to change  without  notice
;	  0018	! and  should  not  be  construed  as  a commitment by DIGITAL EQUIPMENT
;	  0019	! CORPORATION.
;	  0020	!
;	  0021	! DIGITAL assumes no responsibility for the use or  reliability  of  its
;	  0022	! software on equipment which is not supplied by DIGITAL.
;	  0023	!
;	  0024	
;	  0025	!++
;	  0026	! FACILITY:
;	  0027	!   Bliss-16 (and Bliss-16C/Bliss-11) Object Time System (OTS)
;	  0028	!
;	  0029	! ABSTRACT:
;	  0030	!   Implements CH$FILL and CH$MOVE.
;	  0031	!--
;	  0032	!   
;	  0033	!
;	  0034	! ENVIRONMENT:
;	  0035	!   May be compiled with /ENVIRONMENT:EIS or /ENVIRONMENT:NOEIS
;	  0036	!
;	  0037	! AUTHOR: %(/**/)%, CREATION DATE: %(/**/)%
;	  0038	!
;	  0039	! MODIFIED BY:
;	  0040	!
;	  0041	!
;	  0042	! 1.	13-SEP-77	JAH	CONVERT INCR TO DECR TO CREATE MORE EFFICIENT CODE.
;	  0043	!
;	  0044	! 2.	7-MAY-79	JAH	ADD EXTRA ENTRY POINT.
;	  0045	!
;	  0046	! 3.	13-FEB-80	DGF	BROUGHT INTO CONFORMANCE WITH SOFTWARE STANDARDS.
;	  0047	!
;	  0048	! 4.	18-FEB-80	DGF	MOVE BLISS-11 ENTRY POINTS TO B16B11
;	  0049	!--
;	  0050	!
;	  0051	! TABLE OF CONTENTS:
;	  0052	!
B16CH5		OTS CH$ String Move and Fill			25-Jan-1983 16:48:31	TOPS-20 Bliss-16 2A(530)	    Page   2
2-4								25-Jan-1983 16:44:54	NETPKG:<BLIS16>B16CH5.B16.1 (1)

;	  0053	!
;	  0054	
;	  0055	FORWARD ROUTINE
;	  0056	    BL$FIL,
;	  0057	    BL$MOV;
;	  0058	
;	  0059	MACRO
;	  0060	    BLANK=%NAME(' ')(WRITE,EXECUTE,LOCAL,CONCATENATE) %,
;	  0061	    ELIF=ELSE IF%;
;	  0062	
;	  0063	PSECT
;	  0064	    CODE=BLANK,
;	  0065	    PLIT=BLANK,
;	  0066	    OWN=BLANK;
B16CH5		OTS CH$ String Move and Fill			25-Jan-1983 16:48:31	TOPS-20 Bliss-16 2A(530)	    Page   3
2-4								25-Jan-1983 16:44:54	NETPKG:<BLIS16>B16CH5.B16.1 (2)

;	  0067	GLOBAL ROUTINE BL$FIL(FILLCODE, LEN, DEST) =
;	  0068	!+
;	  0069	! FUNCTIONAL DESCRIPTION:
;	  0070	!    PLACES A FILL CHARACTER AT EVERY POSITION OF A STRING.
;	  0071	!
;	  0072	! INPUTS:
;	  0073	!    FILLCODE:	THE CHARACTER CODE.
;	  0074	!    LEN:	LENGTH OF THE STRING.
;	  0075	!    DEST:	POINTER TO THE STRING.
;	  0076	!
;	  0077	! VALUE:
;	  0078	!    POINTER TO THE CHARACTER JUST OFF THE END OF THE STRING.
;	  0079	!-
;	  0080	    BEGIN
;	  0081	
;	  0082	    LOCAL
;	  0083		DPTR;		! WHERE WE ARE ABOUT TO STORE A CHARACTER.
;	  0084	
;	  0085	    DPTR = .DEST;	! INITIALIZE.
;	  0086	
;	  0087	    DECR K FROM .LEN TO 1 DO											      !(1)
;	  0088	
;	  0089		CH$WCHAR_A(.FILLCODE,DPTR);
;	  0090	
;	  0091	    RETURN .DPTR
;	  0092	
;	  0093	    END;


						.TITLE	B16CH5 OTS CH$ String Move and Fill
						.IDENT	/2.4/

						.SBTTL	BL$FIL
000000						.PSECT	.

000000	010146 				BL$FIL::MOV	R1,-(SP)			;					0067
000002	016601  000004 				MOV	4(SP),R1			; DEST,DPTR				0085
000006	016600  000006 				MOV	6(SP),R0			; LEN,K					0087
000012	003403 					BLE	2$
000014	116621  000010 			1$:	MOVB	10(SP),(R1)+			; FILLCODE,DPTR				0089
000020	077003 					SOB	R0,1$				; K,*					0000
000022	010100 				2$:	MOV	R1,R0				; DPTR,*				0080
000024	012601 					MOV	(SP)+,R1			;					0067
000026	000207 					RTS	PC

; Routine Size:  12 words,	Routine Base:  . + 0000
; Maximum stack depth per invocation:  2 words


;	  0094	
;	  0095	
B16CH5		OTS CH$ String Move and Fill			25-Jan-1983 16:48:31	TOPS-20 Bliss-16 2A(530)	    Page   4
2-4								25-Jan-1983 16:44:54	NETPKG:<BLIS16>B16CH5.B16.1 (3)

;	  0096	GLOBAL ROUTINE BL$MOV(LEN,SRC,DEST) =
;	  0097	!+
;	  0098	! FUNCTIONAL DESCRIPTION:
;	  0099	!    COPIES A STRING FROM ONE PLACE TO ANOTHER.
;	  0100	!
;	  0101	! INPUTS:
;	  0102	!    LEN:	NUMBER OF CHARACTERS TO MOVE.
;	  0103	!    SRC:	POINTER TO THE SOURCE.
;	  0104	!    DEST:	POINTER TO THE DESTINATION.
;	  0105	!
;	  0106	! VALUE:
;	  0107	!    POINTER TO THE CHARACTER JUST OFF THE END OF THE STRING.
;	  0108	!-
;	  0109	    BEGIN
;	  0110	
;	  0111	    LOCAL
;	  0112		SPTR,
;	  0113		DPTR;
;	  0114	
;	  0115	    SPTR = .SRC;	! INITIALIZE.
;	  0116	    DPTR = .DEST;
;	  0117	
;	  0118	    DECR K FROM .LEN TO 1 DO											      !(1)
;	  0119	
;	  0120		CH$WCHAR_A( CH$RCHAR_A(SPTR), DPTR);
;	  0121	
;	  0122	    RETURN .DPTR
;	  0123	
;	  0124	    END;


						.SBTTL	BL$MOV
000000	004167  000000G			BL$MOV::JSR	R1,$SAVE2			;					0096
000004	016600  000012 				MOV	12(SP),R0			; SRC,SPTR				0115
000010	016602  000010 				MOV	10(SP),R2			; DEST,DPTR				0116
000014	016601  000014 				MOV	14(SP),R1			; LEN,K					0118
000020	003402 					BLE	2$
000022	112022 				1$:	MOVB	(R0)+,(R2)+			; SPTR,DPTR				0120
000024	077102 					SOB	R1,1$				; K,*					0000
000026	010200 				2$:	MOV	R2,R0				; DPTR,*				0109
000030	000207 					RTS	PC				;					0096

; Routine Size:  13 words,	Routine Base:  . + 0030
; Maximum stack depth per invocation:  4 words


;	  0125	
;	  0126	
;	  0127	END ELUDOM
B16CH5		OTS CH$ String Move and Fill			25-Jan-1983 16:48:31	TOPS-20 Bliss-16 2A(530)	    Page   5
2-4								25-Jan-1983 16:44:54	NETPKG:<BLIS16>B16CH5.B16.1 (3)

;					OTS external references
						.GLOBL	$SAVE2


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 .				   25	    RW ,  I  ,  LCL,  REL,  CON





; Size:		25 code + 0 data words
; Run Time:	00:00.7
; Elapsed Time:	00:01.5
; Memory Used:	4 pages
; Compilation Complete