diff lib/alib/strncmp.a @ 2474:7d70b7e1cb21

Moved net and alib files into here
author boisy
date Tue, 30 Mar 2010 02:44:42 +0000
parents
children aaba193af04f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/alib/strncmp.a	Tue Mar 30 02:44:42 2010 +0000
@@ -0,0 +1,47 @@
+*************************************
+
+* STRNCMP: compare 2 null terminated strings
+*          maximum number of bytes to compare in D
+*
+* OTHER MODULES NEEDED: COMPARE
+
+* ENTRY: X=start of 1st string
+*        Y=start of 2nd string
+*        D=number of bytes to compare
+*        CASEMTCH:(a global variable in COMPARE)
+*                 0=match for case
+*                -1=ignore case differences
+
+* EXIT: CC zero set  if equal (beq)
+*          carry + zero clear if 1>2 (bhi)
+*          carry set if 1<2 (blo)
+
+ nam Compare 2 Strings
+ ttl Assembler Library Module
+
+
+ psect STRNCMP,0,0,0,0,0
+
+
+STRNCMP:
+ pshs d,x,y,u
+
+ tfr y,u U=string2
+ tfr d,y use Y for counter
+ leay 1,y comp for initial dec.
+
+loop
+ leay -1,y count down
+ beq exit no miss-matches
+ lda ,x+ get 2 to compare
+ ldb ,u+
+ lbsr COMPARE go compare chars.
+ beq loop chars match, do more
+
+* exit with flags set. Do a beq, bhi or blo to correct
+* routines....
+
+exit
+ puls d,x,y,u,pc
+
+ endsect