view lib/alib/strncmp.a @ 2765:0bd16cca86b7

Updated rules.mak for all the os9 format's to format the entire disk. People were having some issues with the disk images not being formatted to their full capacity and preventing some functions from working.
author drencor-xeen
date Thu, 17 Jan 2013 11:03:26 -0600
parents 7d70b7e1cb21
children aaba193af04f
line wrap: on
line source

*************************************

* 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