strcmp.s

来自「一个操作系统,用C语言实现开发的,我在一个浙江大学的操作系统实验网站找到.大家学」· S 代码 · 共 42 行

S
42
字号
# Kernel Library
# strcmp

.include "f_asm.inc"

.equ STR1,	DES
.equ STR2,	SRC

.text

.global _strcmp

_strcmp:
	ENTER
		pushl %esi
		movl %edi, %edx
		
		movl STR1(%ebp), %esi
		movl STR2(%ebp), %edi
		
		xorl %eax, %eax
		cmpl %esi, %edi
		jz done
		
		cld	
next:
		movb (%esi), %cl
		cmpsb
		jnz diff
		cmpb $0, %cl
		jnz next
		jmp done		
diff:		
		sbbl %eax, %eax
		orb $1, %al
done:
		movl %edx, %edi
		popl %esi
				
	LEAVE
		ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?