.TITLE LOCC - Locate character. .VERSION 20 .ENABLE 7BIT / ++ / LOCC Y2.0 / / (c) 1988, 1989 by Johnny Billquist / / History: / / 88/12/29 15:15 BQT X1.0. Initial coding. / 89/01/04 15:35 BQT X1.1. Split into PRSLIB. / 89/12/27 05:00 BQT Y2.0. Made from STRLIB. / / -- / .FSECT XLOCC / / FUNCTION: RETURNS POSITION OF SPECIFIED CHARACTER WITHIN A STRING TERMINATED / BY A NULL. / / USAGE: / TAD CHAR CHARACTER TO LOCATE. / JMS XLOCC / STRPTR POINTER TO STRING. / ERROR ERROR RETURN. CHAR NOT FOUND. / NORMAL SUCCESSFUL RETURN. AC POINTS AT CHAR. / 0 /For return address. CIA /Make compare of search char. DCA CHR$ /Save search char. TAD I XLOCC /Get arg1. ISZ XLOCC DCA PTR$ /Save as pointer. RDF /Get return field. TAD (CDF CIF) DCA R$ JMS LOC2$ /Locate char. JMP R$ /Not found. Return. ISZ XLOCC /Found. Bump return. TAD PTR$ /Get pointer. R$: HLT /Return field. JMP I XLOCC /Return. / LOC2$: 0 /Do actual locate... 1$: TAD I PTR$ /Get char. SNA /End of string? JMP I LOC2$ /Yes. Return. TAD CHR$ /Compare. SNA /Equals? JMP 2$ /Yes. ISZ PTR$ /No. Bump pointer. JMP 1$ /Repeat. 2$: ISZ LOC2$ /Equals. Bump return. JMP I LOC2$ /Return. CHR$: 0 /Compare char. PTR$: 0 /Pointer. / $