strrchr.s

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

S
40
字号
# Kernel Library
# strrchr

.include "f_asm.inc"

.equ STR,	DES
.equ CHR,	SRC

.text

.global _strrchr

_strrchr:
	ENTER
		pushl %esi
		
		movl STR(%ebp), %esi
		movl CHR(%ebp), %ecx
				
		xorl %edx, %edx
		cld
next:				
		lodsb
		cmpb %cl, %al
		jnz ignore
		movl %esi, %edx
ignore:
		cmpb $0, %al
		jnz next
		
		movl %edx, %eax
		orl %eax, %eax
		jz done
		decl %eax
done:
		popl %esi
		
	LEAVE
		ret

⌨️ 快捷键说明

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