view lib/alib/strncmp.as @ 3141:717ced83b885

coco3: Build SD card device descriptors for CoCo3FPGA Added "CC3FPGAFLAGS = $(AFLAGS) -DCC3FPGA=1 $(FLAGS)" to "level2/coco3/modules/makefile" for flagging Coco3FPGA specific features in modules sources. Added "llcoco3fpga", "ddsd0_coco3fpga", "sd0_coco3fpga", and "sd1_coco3fpga" to the "coco3/modules/makefile" - RBF section, which also now adds all to the "NITROS9/MODULES/RBF" on all disk images for building new Coco3FPGA disks from NitrOS9. Added new descriptor section to the "level2/coco3/modules/makefile" reflecting the new Coco3FPGA SD card descriptors and their flags.
author Bill Pierce <merlinious999@gmail.com>
date Sat, 04 Feb 2017 11:06:28 +0100
parents 03f26e88b809
children
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


 section .text


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