strcmp.s

来自「KPIT GNU Tools is a set of GNU developme」· S 代码 · 共 61 行

S
61
字号
#include "setarch.h"#include "defines.h"#if defined (__H8300SX__)	.global _strcmp_strcmp:	mov.l	er0,er2loop:	mov.b	@er2+,r0l	beq	eos	sub.b	@er1+,r0l	beq	loop	exts.l	#2,er0	rtseos:	sub.b	@er1,r0l	exts.l	#2,er0	rts#else	.section .text	.align 2	.global _strcmp_strcmp:	MOVP	A0P,A2P	MOVP	A1P,A3P.L5:	mov.b	@A2P+,A1L	beq	.L3	mov.b	@A3P+,A0L	cmp.b	A0L,A1L	beq	.L5#ifdef __NORMAL_MODE__	sub	#1,A3P#else	subs	#1,A3P#endif.L3:	mov.b	@(-1,A2P),A0L	mov.b	@A3P,A1L	sub.b	A1L,A0L	; We have to sign extend the result to 32bits just in case	; we are using 32bit integers.#ifdef __H8300H__	exts.w	r0	exts.l	er0#else#ifdef __H8300S__	exts.w	r0	exts.l	er0#else	bld	#7,r0l	subx	r0h,r0h	subx	r1l,r1l	subx	r1h,r1h#endif#endif	rts	.end#endif

⌨️ 快捷键说明

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