.TITLE CMPC - Compare characer strings. .VERSION 20 .ENABLE 7BIT / ++ / CMPC 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 XCMPC / / CMPC compares to strings. Skips if equals. / 0 /For return address. CLA TAD I XCMPC /Get arg1. ISZ XCMPC DCA SP1$ /Save as source 1 pointer. TAD I XCMPC /Get arg2. ISZ XCMPC DCA SP2$ /Save as source 2 pointer. RDF /Get return field. TAD (CDF CIF) DCA R$ 1$: TAD I SP1$ /Get source 1. ISZ SP1$ /Bump pointer. SNA /End of string? JMP PR$ /Yes, check if total match. CIA /No. Make compare. DCA T$ /Save compare. TAD I SP2$ /Get source 2. ISZ SP2$ /Bump pointer. TAD T$ /Compare. SNA /Equals? JMP R$ /No. Return no match. JMP 1$ /Yes. Repeat. PR$: TAD I SP2$ /Possible match. Get source 2. SNA CLA /End of string? ISZ XCMPC /Yes. Match. Bump return. R$: HLT /Return field. JMP I XCMPC /Return. SP1$: 0 /Source 1 pointer. SP2$: 0 /Source 2 pointer. T$: 0 /Tmp storage. Comparator. / $