*TITLES1CPCH -- COMPARE CHARACTERS 00000030 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** *A AUTHOR HANS HOOGSTRAAT 00000040 *A DESIGNER HANS HOOGSTRAAT 00000050 *A LANGUAGE S/370 ASSEMBLER F 00000060 *A SYSTEM IBM (SEE CRAY) 00000060 *A WRITTEN 00000070 * REVISED 00000080 *A 00000090 *A 00000100 *A I = S1CPCH (A, STCHR1, B, STCHR2, NOCHAR) 00000105 *A I = FUNCTION RESULT I400000110 *A A = ADDRESS OF CHARACTER (A) FOR COMPARISON A400000220 *A STCHR1 = STARTING CHARACTER OF (A) FOR COMPARISON I400000240 *A B = ADDRESS OF CHARACTER (B) FOR COMPARISON A400000241 *A STCHR2 = STARTING CHARACTER OF (B) FOR COMPARISON I400000242 *A NOCHAR = NUMBER OF CHARACTERS TO COMPARE I400000243 *A 00000244 *A 00000245 *A S1CPCH COMPARES THE (NOCHAR) CHARACTERS FROM (A), STARTING AT 00000250 *A THE (STCHR1)TH CHARACTER, TO (B), STARTING AT THE (STCHR2)TH 00000260 *A CHARACTER, AND RETURNS: 00000270 *A IF A < B, I = -1 00000275 *A IF A = B, I = 0 00000280 *A IF A > B, I = 1 00000290 *A 00000300 *A MAXIMUM CHARACTER STRING LENGTH IS LIMITED TO 255 CHARACTERS. 00000310 *A 00000320 S1CPCH CSECT 00000325 COPY S1REG 00000420 * 00000430 BASE EQU R10 00000440 * 00000450 STM R14,R12,12(R13) 00000460 BALR BASE,0 00000470 USING *,BASE 00000480 * 00000490 L R2,4(R1) GET ADDRESS OF A(STCHAR) 00000500 L R2,0(R2) 00000510 LA R4,1 00000520 SR R2,R4 00000530 A R2,0(R1) 00000540 * 00000550 L R3,12(R1) GET ADDRESS OF B(STCHAR) 00000560 L R3,0(R3) 00000570 SR R3,R4 00000580 A R3,8(R1) 00000590 * 00000600 L R5,16(R1) GET NO OF CHARACTERS 00000610 L R5,0(R5) 00000620 SR R5,R4 00000630 STC R5,COMP+1 00000640 * 00000650 COMP CLC 0(0,R3),0(R2) 00000660 * 00000670 LA R0,0 00000680 BE RETURN 00000690 LA R0,1 00000700 BL RETURN 00000710 LNR R0,R0 00000720 * 00000730 RETURN LM R2,R12,28(R13) 00000740 BR R14 00000750 LTORG 00000760 END 00000770