strncmp.s

来自「Linux内核源代码 为压缩文件 是<<Linux内核>&gt」· S 代码 · 共 121 行

S
121
字号
/* $Id: strncmp.S,v 1.2 1996/09/09 02:47:20 davem Exp $ * strncmp.S: Hand optimized Sparc assembly of GCC output from GNU libc *            generic strncmp routine. */#include <asm/cprefix.h>	.text	.align 4	.global C_LABEL(__strncmp), C_LABEL(strncmp)C_LABEL(__strncmp):C_LABEL(strncmp):	mov	%o0, %g3	mov	0, %o3	cmp	%o2, 3	ble	7f	 mov	0, %g2	sra	%o2, 2, %o4	ldub	[%g3], %o30:	ldub	[%o1], %g2	add	%g3, 1, %g3	and	%o3, 0xff, %o0	cmp	%o0, 0	be	8f	 add	%o1, 1, %o1	cmp	%o0, %g2	be,a	1f	 ldub	[%g3], %o3	retl	 sub	%o0, %g2, %o01:	ldub	[%o1], %g2	add	%g3,1, %g3	and	%o3, 0xff, %o0	cmp	%o0, 0	be	8f	 add	%o1, 1, %o1	cmp	%o0, %g2	be,a	1f	 ldub	[%g3], %o3	retl	 sub	%o0, %g2, %o01:	ldub	[%o1], %g2	add	%g3, 1, %g3	and	%o3, 0xff, %o0	cmp	%o0, 0	be	8f	 add	%o1, 1, %o1	cmp	%o0, %g2	be,a	1f	 ldub	[%g3], %o3	retl	 sub	%o0, %g2, %o01:	ldub	[%o1], %g2	add	%g3, 1, %g3	and	%o3, 0xff, %o0	cmp	%o0, 0	be	8f	 add	%o1, 1, %o1	cmp	%o0, %g2	be	1f	 add	%o4, -1, %o4	retl	 sub	%o0, %g2, %o01:	cmp	%o4, 0	bg,a	0b	 ldub	[%g3], %o3	b	7f	 and	%o2, 3, %o29:	ldub	[%o1], %g2	add	%g3, 1, %g3	and	%o3, 0xff, %o0	cmp	%o0, 0	be	8f	 add	%o1, 1, %o1	cmp	%o0, %g2	be	7f	 add	%o2, -1, %o28:	retl	 sub	%o0, %g2, %o07:	cmp	%o2, 0	bg,a	9b	 ldub	[%g3], %o3	and	%g2, 0xff, %o0	retl	 sub	%o3, %o0, %o0

⌨️ 快捷键说明

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