📄 bcmp.s
字号:
! bcmp() Author: Kees J. Bot
! 2 Jan 1994
.sect .text; .sect .rom; .sect .data; .sect .bss
! int bcmp(const void *s1, const void *s2, size_t n)
! Compare two chunks of memory.
! This is a BSD routine that escaped from the kernel. Don't use.
! (Alas it is not without some use, it reports the number of bytes
! after the bytes that are equal. So it can't be simply replaced.)
!
.sect .text
.define _bcmp
.align 16
_bcmp:
push ebp
mov ebp, esp
push 16(ebp)
push 12(ebp)
push 8(ebp)
call _memcmp ! Let memcmp do the work
test eax, eax
jz equal
sub edx, 8(ebp) ! Memcmp was nice enough to leave "esi" in edx
dec edx ! Number of bytes that are equal
mov eax, 16(ebp)
sub eax, edx ! Number of bytes that are unequal
equal: leave
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -