# Address of string cannot be nil.
	.section	.text
	.intel_syntax
	.global	zstr_eq
	.type	zstr_eq, @function
zstr_eq:
	push	%ebx			# Preserve EBX
	mov	%ecx, [%esp + 12]	# Second string (str2)
	mov	%ebx, [%esp + 8]	# First string (str1)
	mov	%eax, 0			# Default to false
zstr_eq.loop:
	mov	%dl, [%ebx]
	cmp	%dl, [%ecx]
	jne	zstr_eq.exit		# *str1 <> *str2
	add	%ecx, 1			# str2 = str2 + 1
	add	%ebx, 1			# str1 = str1 + 1
	cmp	%dl, 0
	jne	zstr_eq.loop		# *str1 <> nil
	mov	%eax, 1			# Set to true
zstr_eq.exit:
	pop	%ebx			# Restore EBX
	ret
