memchr.s

来自「MINIX2.0操作系统源码,是Linux的前身,世界上最小的32位操作系统」· S 代码 · 共 29 行

S
29
字号
!	memchr()					Author: Kees J. Bot
!								27 Jan 1994
.sect .text; .sect .rom; .sect .data; .sect .bss

! void *memchr(const void *s, int c, size_t n)
!	Look for a character in a chunk of memory.
!
.sect .text
.define _memchr
_memchr:
	push	bp
	mov	bp, sp
	push	di
	mov	di, 4(bp)	! di = string
	movb	al, 6(bp)	! The character to look for
	mov	cx, 8(bp)	! Length
	cmpb	cl, #1		! 'Z' bit must be clear if cx = 0
	cld
  repne	scasb
	jne	failure
	lea	ax, -1(di)	! Found
	pop	di
	pop	bp
	ret
failure:xor	ax, ax
	pop	di
	pop	bp
	ret

⌨️ 快捷键说明

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