memset.s

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

S
43
字号
# Kernel Library
# memset

.include "f_asm.inc"

.equ BUF,	DES
.equ CHR,	SRC

.text

.global _memset

_memset:
	ENTER
		movl %edi, %edx
		
		movl CHR(%ebp), %eax
		movb %al, %ah
		movl %eax, %ecx
		shll $16, %eax
		movw %cx, %ax		
		movl LEN(%ebp), %ecx
		movl BUF(%ebp), %edi
		
		cld
		
		shrl %ecx
		jnc 1f
		stosb
1:
		shrl %ecx
		jnc 2f
		stosw
2:
		rep
		stosl
		
		movl %edx, %edi		
		movl DES(%ebp), %eax
		
	LEAVE
		ret

⌨️ 快捷键说明

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