home *** CD-ROM | disk | FTP | other *** search
-
- # StrCmpNC(r3:PTR TO CHAR,r4:PTR TO CHAR,r5=-1:LONG)
-
- .text
- .global _StrCmpNC
-
- _StrCmpNC:
- subi r3,r3,1
- subi r4,r4,1
- .loop: lbzu r7,1(r3)
- lbzu r6,1(r4)
- cmplwi r7,91
- bgt .next1
- cmplwi r7,65
- blt .next1
- addi r7,r7,32
- .next1:
- cmplwi r6,91
- bgt .next2
- cmplwi r6,65
- blt .next2
- addi r6,r6,32
- .next2:
- cmpw r6,r7
- bne .nosame # strings are different
- mr. r7,r7 # zero (eos) byte?
- beq .same
- subi r5,r5,1
- mr. r5,r5
- bne .loop
-
- .same: li r3,-1
- b .finish
- .nosame: li r3,0
- .finish: blr
-
- .type _StrCmpNC,@function
- .size _StrCmpNC,$-_StrCmpNC
-