⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memset.s

📁 linux-2.6.15.6
💻 S
字号:
/* memset.S */#include <asm/linkage.h>#if defined(__H8300H__) 	.h8300h#endif#if defined(__H8300S__) 	.h8300s#endif	.text.global	SYMBOL_NAME(memset);;void *memset(*ptr, int c, size_t count);; ptr = er0;; c   = er1(r1l);; count = er2SYMBOL_NAME_LABEL(memset)	btst	#0,r0l	beq	2f	;; odd address1:	mov.b	r1l,@er0	adds	#1,er0	dec.l	#1,er2	beq	6f	;; even address2:	mov.l	er2,er3	cmp.l	#4,er2	blo	4f	;; count>=4 -> count/4#if defined(__H8300H__)	shlr.l	er2	shlr.l	er2#endif#if defined(__H8300S__)	shlr.l	#2,er2#endif	;; byte -> long	mov.b	r1l,r1h	mov.w	r1,e13:	mov.l	er1,@er0	adds	#4,er0	dec.l	#1,er2	bne	3b4:	;; count % 4	and.b	#3,r3l	beq	6f5:	mov.b	r1l,@er0	adds	#1,er0	dec.b	r3l	bne	5b6:	rts

⌨️ 快捷键说明

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