
# OStrCmp(r3:PTR TO CHAR,r4:PTR TO CHAR,r5=-1:LONG)

	.text
	.global	_OStrCmp

_OStrCmp:
	subi	r3,r3,1
	subi	r4,r4,1
.loop:	lbzu	r0,1(r3)
	lbzu	r6,1(r4)
	cmpw	r6,r0
	bne	.nosame		# strings are different
	mr.	r0,r0		# zero (eos) byte?
	beq	.same
	subi	r5,r5,1
	mr.	r5,r5
	bne	.loop

.same:	li	r3,0
	blr
.nosame:	cmpw	r6,r0
	bgt	.greater
	li	r3,-1
	blr
.greater:	li	r3,1
	blr

	.type	_OStrCmp,@function
	.size	_OStrCmp,$-_OStrCmp
