Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/blis16/b16ch1.lst
There are no other files named b16ch1.lst in the archive.
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   1
								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (1)

;	  0001	MODULE B16CH1 (IDENT = '2-7' %TITLE'OTS CH$ String Comparisons'
;	  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 String Comparisons (Ch$Eql, Etc.)
;	  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	! 1.	13-SEP-77	JAH	CONVERT INCR'S TO DECR'S TO CREATE MORE EFFICIENT CODE.
;	  0042	!
;	  0043	! 2.	27-APR-78	BG	ROUTINE $CHCOM IS ADDED WHICH CALLS COMPARE.
;	  0044	!			        SINCE  CH$COMPARE IS ADDED
;	  0045	!			        TO THE CHARACTER FUNCTIONS AND CALLS
;	  0046	!			        $CHCOM DIRECTLY. TO AVOID MULTIPLE DEF.
;	  0047	!
;	  0048	! 3.	4-MAY-79	JAH	ADD MULTIPLE ENTRY POINTS.
;	  0049	!
;	  0050	! 4.	13-FEB-80	DGF	BROUGHT INTO CONFORMANCE WITH SOFTWARE STANDARDS.
;	  0051	!
;	  0052	! 5.	18-FEB-80	DGF	MOVE BLISS-11 ENTRY POINTS TO B16B11
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   2
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (1)

;	  0053	!
;	  0054	! 6.	14-Apr-80	DBL	Fix "null expr" info message in BL$CMP
;	  0055	!
;	  0056	!--
;	  0057	!
;	  0058	! TABLE OF CONTENTS:
;	  0059	!
;	  0060	
;	  0061	FORWARD ROUTINE
;	  0062	    COMPARE,
;	  0063	    BL$CMP,
;	  0064	    BL$LEQ,
;	  0065	    BL$LSS,
;	  0066	    BL$EQL,
;	  0067	    BL$GEQ,
;	  0068	    BL$GTR,
;	  0069	    BL$NEQ;
;	  0070	
;	  0071	MACRO
;	  0072	    BLANK=%NAME(' ')(WRITE,EXECUTE,LOCAL,CONCATENATE) %,
;	  0073	    ELIF=ELSE IF%;
;	  0074	
;	  0075	PSECT
;	  0076	    CODE=BLANK,
;	  0077	    PLIT=BLANK,
;	  0078	    OWN=BLANK;
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   3
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (2)

;	  0079	 ROUTINE COMPARE(LEN1,SRC1,LEN2,SRC2,FILLCODE,RETPC)=
;	  0080	!+
;	  0081	! FUNCTIONAL DESCRIPTION:
;	  0082	!    COMPARES TWO STRINGS, EXTENDING THE SHORTER WITH A
;	  0083	!    FILLER IF NEEDED.
;	  0084	!
;	  0085	! INPUTS:
;	  0086	!    LEN1:	LENGTH OF THE FIRST STRING
;	  0087	!    SRC1:	POINTER TO THE FIRST STRING
;	  0088	!    LEN2:	LENGTH OF THE SECOND STRING
;	  0089	!    SRC2:	POINTER TO THE SECOND STRING
;	  0090	!    FILLCODE:	FILL CHARACTER
;	  0091	!    RETPC:	NOT USED. IS HERE TO SHIFT THE ARGUMENTS ON
;	  0092	!		THE STACK.
;	  0093	!
;	  0094	! VALUE:
;	  0095	!    IF THE FIRST STRING IS LESS THAN THE SECOND, -1.
;	  0096	!    IF IT IS GREATER, +1.  OTHERWISE 0.
;	  0097	!-
;	  0098	    BEGIN
;	  0099	
;	  0100	    LOCAL
;	  0101		SENSE,
;	  0102		LEN,
;	  0103		PTR1,
;	  0104		PTR2;
;	  0105	
;	  0106	    PTR1 = .SRC1;		! INITIALIZE.
;	  0107	    PTR2 = .SRC2;
;	  0108	    LEN  = MIN(.LEN1,.LEN2);
;	  0109	
;	  0110	    DECR K FROM .LEN TO 1 DO											      !(1)
;	  0111		BEGIN
;	  0112		LOCAL
;	  0113		    CH1,
;	  0114		    CH2;
;	  0115		CH1 = CH$RCHAR_A(PTR1);	! PICK UP TWO CHARACTERS.
;	  0116		CH2 = CH$RCHAR_A(PTR2);
;	  0117		IF .CH1 LSS .CH2	! COMPARE THEM.
;	  0118		THEN
;	  0119		    RETURN -1;
;	  0120		IF .CH1 GTR .CH2
;	  0121		THEN
;	  0122		    RETURN 1
;	  0123		END;
;	  0124	
;	  0125	! IF WE GET THIS FAR, THEN THE STRINGS ARE EQUAL IN THEIR
;	  0126	! OVERLAPPING FRONT PARTS.  TO DO THE PADDING, WE
;	  0127	! MUST FIND OUT WHICH STRING IS LONGER.
;	  0128	
;	  0129	    IF .LEN1 GTR .LEN2
;	  0130	    THEN
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   4
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (2)

;	  0131		BEGIN			! FIRST STRING IS LONGER.
;	  0132		LEN = .LEN1-.LEN;
;	  0133		SENSE = 1
;	  0134		END
;	  0135	    ELIF .LEN1 LSS .LEN2
;	  0136	    THEN
;	  0137		BEGIN			! SECOND IS LONGER.
;	  0138		PTR1 = .PTR2;
;	  0139		LEN = .LEN2-.LEN;
;	  0140		SENSE = -1
;	  0141		END
;	  0142	    ELSE
;	  0143		RETURN 0;		! SAME LENGTH, THEREFORE EQL.
;	  0144	
;	  0145	! NOW WE COMPARE THE TAIL OF THE LONGER STRING WITH THE
;	  0146	! FILL CHARACTER.
;	  0147	
;	  0148	    DECR K FROM .LEN TO 1 DO											      !(1)
;	  0149		BEGIN
;	  0150		LOCAL
;	  0151		    CH1;
;	  0152		CH1 = CH$RCHAR_A(PTR1);		! GET A CHARACTER.
;	  0153		IF .CH1 LSS .FILLCODE		! COMPARE IT.
;	  0154		THEN
;	  0155		    RETURN -.SENSE;
;	  0156		IF .CH1 GTR .FILLCODE
;	  0157		THEN
;	  0158		    RETURN .SENSE
;	  0159		END;
;	  0160	
;	  0161	    RETURN 0		! THEY REALLY ARE EQL.
;	  0162	
;	  0163	    END;


						.TITLE	B16CH1 OTS CH$ String Comparisons
						.IDENT	/2.7/

						.SBTTL	COMPARE
000000						.PSECT	.

000000	004167  000000G			COMPARE:JSR	R1,$SAVE5			;					0079
000004	024646 					CMP	-(SP),-(SP)
000006	016666  000032  000002 			MOV	32(SP),2(SP)			; SRC1,PTR1				0106
000014	016604  000026 				MOV	26(SP),R4			; SRC2,PTR2				0107
000020	016605  000034 				MOV	34(SP),R5			; LEN1,*				0108
000024	016602  000030 				MOV	30(SP),R2			; LEN2,*
000030	010500 					MOV	R5,R0
000032	020002 					CMP	R0,R2
000034	003401 					BLE	1$
000036	010200 					MOV	R2,R0
000040	010001 				1$:	MOV	R0,R1				; *,LEN
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   5
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (2)

000042	010116 					MOV	R1,(SP)				; LEN,K					0110
000044	003424 					BLE	5$
000046	005266  000002 			2$:	INC	2(SP)				; PTR1					0115
000052	005003 					CLR	R3				; CH1
000054	016600  000002 				MOV	2(SP),R0			; PTR1,*
000060	156003  177777 				BISB	-1(R0),R3			; *(PTR1),CH1
000064	005000 					CLR	R0				; CH2					0116
000066	152400 					BISB	(R4)+,R0			; PTR2,CH2
000070	020300 					CMP	R3,R0				; CH1,CH2				0117
000072	002003 					BGE	3$
000074	012700  177777 				MOV	#-1,R0				;					0119
000100	000450 					BR	12$
000102	003403 				3$:	BLE	4$				;					0120
000104	012700  000001 				MOV	#1,R0				;					0122
000110	000444 					BR	12$
000112	005316 				4$:	DEC	(SP)				; K					0110
000114	001354 					BNE	2$
000116	020502 				5$:	CMP	R5,R2				;					0129
000120	003405 					BLE	6$
000122	005401 					NEG	R1				; LEN					0132
000124	060501 					ADD	R5,R1				; *,LEN
000126	012703  000001 				MOV	#1,R3				; *,SENSE				0133
000132	000407 					BR	7$				;					0129
000134	002031 				6$:	BGE	11$				;					0135
000136	010466  000002 				MOV	R4,2(SP)			; PTR2,PTR1				0138
000142	005401 					NEG	R1				; LEN					0139
000144	060201 					ADD	R2,R1				; *,LEN
000146	012703  177777 				MOV	#-1,R3				; *,SENSE				0140
000152	005701 				7$:	TST	R1				; K					0148
000154	003421 					BLE	11$
000156	005266  000002 			8$:	INC	2(SP)				; PTR1					0152
000162	005002 					CLR	R2				; CH1
000164	016600  000002 				MOV	2(SP),R0			; PTR1,*
000170	156002  177777 				BISB	-1(R0),R2			; *(PTR1),CH1
000174	020266  000024 				CMP	R2,24(SP)			; CH1,FILLCODE				0153
000200	002003 					BGE	9$
000202	010300 					MOV	R3,R0				; SENSE,*				0155
000204	005400 					NEG	R0
000206	000405 					BR	12$
000210	003402 				9$:	BLE	10$				;					0156
000212	010300 					MOV	R3,R0				; SENSE,*				0158
000214	000402 					BR	12$
000216	077121 				10$:	SOB	R1,8$				; K,*					0000
000220	005000 				11$:	CLR	R0				;					0079
000222	022626 				12$:	CMP	(SP)+,(SP)+
000224	000207 					RTS	PC

; Routine Size:  75 words,	Routine Base:  . + 0000
; Maximum stack depth per invocation:  9 words
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   6
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (3)

;	  0164	GLOBAL ROUTINE BL$LEQ =
;	  0165	!+
;	  0166	! FUNCTIONAL DESCRIPTION:
;	  0167	!    RETURNS TRUE IF THE FIRST STRING IS LESS OR EQUAL TO THE OTHER.
;	  0168	!
;	  0169	! INPUTS:
;	  0170	!	LENGTH OF THE FIRST STRING
;	  0171	!	POINTER TO THE FIRST STRING
;	  0172	!	LENGTH OF THE SECOND STRING
;	  0173	!	POINTER TO THE SECOND STRING
;	  0174	!	THE FILLER CHARACTER
;	  0175	!
;	  0176	! VALUE:
;	  0177	!    IF THE FIRST IS LEQ THE SECOND, 1.  OTHERWISE 0.
;	  0178	!-
;	  0179	    BEGIN
;	  0180	
;	  0181	    LOCAL
;	  0182		RSLT;
;	  0183	
;	  0184	    RSLT = COMPARE();			! 27-APR-78
;	  0185	
;	  0186	    IF .RSLT LEQ 0
;	  0187	    THEN
;	  0188		RETURN 1
;	  0189	    ELSE
;	  0190		RETURN 0
;	  0191	
;	  0192	    END;


						.SBTTL	BL$LEQ
000000	004767  177546 			BL$LEQ::JSR	PC,COMPARE			;					0184
000004	005700 					TST	R0				; RSLT					0186
000006	003003 					BGT	1$
000010	012700  000001 				MOV	#1,R0
000014	000207 					RTS	PC
000016	005000 				1$:	CLR	R0
000020	000207 					RTS	PC				;					0164

; Routine Size:  9 words,	Routine Base:  . + 0226
; Maximum stack depth per invocation:  1 word


;	  0193	
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   7
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (4)

;	  0194	GLOBAL ROUTINE BL$LSS =
;	  0195	!+
;	  0196	! FUNCTIONAL DESCRIPTION:
;	  0197	!    RETURNS TRUE IF THE FIRST STRING IS LESS THAN THE OTHER.
;	  0198	!
;	  0199	! INPUTS:
;	  0200	!	LENGTH OF THE FIRST STRING
;	  0201	!	POINTER TO THE FIRST STRING
;	  0202	!	LENGTH OF THE SECOND STRING
;	  0203	!	POINTER TO THE SECOND STRING
;	  0204	!	THE FILLER CHARACTER
;	  0205	!
;	  0206	! VALUE:
;	  0207	!    IF THE FIRST IS LSS THE SECOND, 1.  OTHERWISE 0.
;	  0208	!-
;	  0209	    BEGIN
;	  0210	
;	  0211	    LOCAL
;	  0212		RSLT;
;	  0213	
;	  0214	    RSLT = COMPARE();			! 27-APR-78
;	  0215	
;	  0216	    IF .RSLT LSS 0
;	  0217	    THEN
;	  0218		RETURN 1
;	  0219	    ELSE
;	  0220		RETURN 0
;	  0221	
;	  0222	    END;


						.SBTTL	BL$LSS
000000	004767  177524 			BL$LSS::JSR	PC,COMPARE			;					0214
000004	005700 					TST	R0				; RSLT					0216
000006	002003 					BGE	1$
000010	012700  000001 				MOV	#1,R0
000014	000207 					RTS	PC
000016	005000 				1$:	CLR	R0
000020	000207 					RTS	PC				;					0194

; Routine Size:  9 words,	Routine Base:  . + 0250
; Maximum stack depth per invocation:  1 word


;	  0223	
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   8
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (5)

;	  0224	GLOBAL ROUTINE BL$EQL =
;	  0225	!+
;	  0226	! FUNCTIONAL DESCRIPTION:
;	  0227	!    RETURNS TRUE IF THE FIRST STRING IS EQUAL TO THE OTHER.
;	  0228	!
;	  0229	! INPUTS:
;	  0230	!	LENGTH OF THE FIRST STRING
;	  0231	!	POINTER TO THE FIRST STRING
;	  0232	!	LENGTH OF THE SECOND STRING
;	  0233	!	POINTER TO THE SECOND STRING
;	  0234	!	THE FILLER CHARACTER
;	  0235	!
;	  0236	! VALUE:
;	  0237	!    IF THE FIRST IS EQL THE SECOND, 1.  OTHERWISE 0.
;	  0238	!-
;	  0239	    BEGIN
;	  0240	
;	  0241	    LOCAL
;	  0242		RSLT;
;	  0243	
;	  0244	    RSLT = COMPARE();			! 27-APR-78
;	  0245	
;	  0246	    IF .RSLT EQL 0
;	  0247	    THEN
;	  0248		RETURN 1
;	  0249	    ELSE
;	  0250		RETURN 0
;	  0251	
;	  0252	    END;


						.SBTTL	BL$EQL
000000	004767  177502 			BL$EQL::JSR	PC,COMPARE			;					0244
000004	005700 					TST	R0				; RSLT					0246
000006	001003 					BNE	1$
000010	012700  000001 				MOV	#1,R0
000014	000207 					RTS	PC
000016	005000 				1$:	CLR	R0
000020	000207 					RTS	PC				;					0224

; Routine Size:  9 words,	Routine Base:  . + 0272
; Maximum stack depth per invocation:  1 word


;	  0253	
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page   9
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (6)

;	  0254	GLOBAL ROUTINE BL$GEQ =
;	  0255	!+
;	  0256	! FUNCTIONAL DESCRIPTION:
;	  0257	!    RETURNS TRUE IF THE FIRST STRING IS GTR OR EQL TO THE OTHER.
;	  0258	!
;	  0259	! INPUTS:
;	  0260	!	LENGTH OF THE FIRST STRING
;	  0261	!	POINTER TO THE FIRST STRING
;	  0262	!	LENGTH OF THE SECOND STRING
;	  0263	!	POINTER TO THE SECOND STRING
;	  0264	!	THE FILLER CHARACTER
;	  0265	!
;	  0266	! VALUE:
;	  0267	!    IF THE FIRST IS GEQ THE SECOND, 1.  OTHERWISE 0.
;	  0268	!-
;	  0269	    BEGIN
;	  0270	
;	  0271	    LOCAL
;	  0272		RSLT;
;	  0273	
;	  0274	    RSLT = COMPARE();			! 27-APR-78
;	  0275	
;	  0276	    IF .RSLT GEQ 0
;	  0277	    THEN
;	  0278		RETURN 1
;	  0279	    ELSE
;	  0280		RETURN 0
;	  0281	
;	  0282	    END;


						.SBTTL	BL$GEQ
000000	004767  177460 			BL$GEQ::JSR	PC,COMPARE			;					0274
000004	005700 					TST	R0				; RSLT					0276
000006	002403 					BLT	1$
000010	012700  000001 				MOV	#1,R0
000014	000207 					RTS	PC
000016	005000 				1$:	CLR	R0
000020	000207 					RTS	PC				;					0254

; Routine Size:  9 words,	Routine Base:  . + 0314
; Maximum stack depth per invocation:  1 word


;	  0283	
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page  10
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (7)

;	  0284	GLOBAL ROUTINE BL$GTR =
;	  0285	!+
;	  0286	! FUNCTIONAL DESCRIPTION:
;	  0287	!    RETURNS TRUE IF THE FIRST STRING IS GREATER THAN THE OTHER.
;	  0288	!
;	  0289	! INPUTS:
;	  0290	!	LENGTH OF THE FIRST STRING
;	  0291	!	POINTER TO THE FIRST STRING
;	  0292	!	LENGTH OF THE SECOND STRING
;	  0293	!	POINTER TO THE SECOND STRING
;	  0294	!	THE FILLER CHARACTER
;	  0295	!
;	  0296	! VALUE:
;	  0297	!    IF THE FIRST IS GTR THE SECOND, 1.  OTHERWISE 0.
;	  0298	!-
;	  0299	    BEGIN
;	  0300	
;	  0301	    LOCAL
;	  0302		RSLT;
;	  0303	
;	  0304	    RSLT = COMPARE();			! 27-APR-78
;	  0305	
;	  0306	    IF .RSLT GTR 0
;	  0307	    THEN
;	  0308		RETURN 1
;	  0309	    ELSE
;	  0310		RETURN 0
;	  0311	
;	  0312	    END;


						.SBTTL	BL$GTR
000000	004767  177436 			BL$GTR::JSR	PC,COMPARE			;					0304
000004	005700 					TST	R0				; RSLT					0306
000006	003403 					BLE	1$
000010	012700  000001 				MOV	#1,R0
000014	000207 					RTS	PC
000016	005000 				1$:	CLR	R0
000020	000207 					RTS	PC				;					0284

; Routine Size:  9 words,	Routine Base:  . + 0336
; Maximum stack depth per invocation:  1 word


;	  0313	
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page  11
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (8)

;	  0314	GLOBAL ROUTINE BL$NEQ =
;	  0315	!+
;	  0316	! FUNCTIONAL DESCRIPTION:
;	  0317	!    RETURNS TRUE IF THE FIRST STRING IS NOT EQL TO THE OTHER.
;	  0318	!
;	  0319	! INPUTS:
;	  0320	!	LENGTH OF THE FIRST STRING
;	  0321	!	POINTER TO THE FIRST STRING
;	  0322	!	LENGTH OF THE SECOND STRING
;	  0323	!	POINTER TO THE SECOND STRING
;	  0324	!	THE FILLER CHARACTER
;	  0325	!
;	  0326	! VALUE:
;	  0327	!    IF THE FIRST IS NEQ THE SECOND, 1.  OTHERWISE 0.
;	  0328	!-
;	  0329	    BEGIN
;	  0330	
;	  0331	    LOCAL
;	  0332		RSLT;
;	  0333	
;	  0334	    RSLT = COMPARE();			! 27-APR-78
;	  0335	
;	  0336	    IF .RSLT NEQ 0
;	  0337	    THEN
;	  0338		RETURN 1
;	  0339	    ELSE
;	  0340		RETURN 0
;	  0341	
;	  0342	    END;


						.SBTTL	BL$NEQ
000000	004767  177414 			BL$NEQ::JSR	PC,COMPARE			;					0334
000004	005700 					TST	R0				; RSLT					0336
000006	001403 					BEQ	1$
000010	012700  000001 				MOV	#1,R0
000014	000207 					RTS	PC
000016	005000 				1$:	CLR	R0
000020	000207 					RTS	PC				;					0314

; Routine Size:  9 words,	Routine Base:  . + 0360
; Maximum stack depth per invocation:  1 word


;	  0343	
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page  12
2-7								25-Jan-1983 16:46:07	NETPKG:<BLIS16>B16CH1.B16.1 (9)

;	  0344	
;	  0345	GLOBAL ROUTINE BL$CMP =
;	  0346	!+
;	  0347	! FUNCTIONAL DESCRIPTION:
;	  0348	!	RETURNS IF THE FIRST STRING IS LESS THAN THE SECOND THEN -1.
;	  0349	!		IF THE FIRST STRING IS GREATER THAN THE SECOND THEN 1.
;	  0350	!		IF THE FIRST STRING IS EQL THE SECOND THEN 0.
;	  0351	!
;	  0352	! INPUTS:
;	  0353	!	LENGTH OF THE FIRST STRING
;	  0354	!	POINTER TO THE FIRST STRING
;	  0355	!	LENGTH OF THE SECOND STRING
;	  0356	!	POINTER TO THE SECOND STRING
;	  0357	!	THE FILLER CHARACTER
;	  0358	!-
;	  0359	
;	  0360	RETURN COMPARE();


						.SBTTL	BL$CMP
000000	004767  177372 			BL$CMP::JSR	PC,COMPARE			;					0360
000004	000207 					RTS	PC				;					0345

; Routine Size:  3 words,	Routine Base:  . + 0402
; Maximum stack depth per invocation:  1 word


;	  0361	
;	  0362	
;	  0363	
;	  0364	
;	  0365	END ELUDOM



;					OTS external references
						.GLOBL	$SAVE5


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





; Size:		132 code + 0 data words
; Run Time:	00:02.7
; Elapsed Time:	00:16.8
; Memory Used:	9 pages
B16CH1		OTS CH$ String Comparisons			25-Jan-1983 16:47:48	TOPS-20 Bliss-16 2A(530)	    Page  13
2-7											

; Compilation Complete