能力值:
( LV2,RANK:10 )
|
-
-
2 楼
循环比较每个字节是否相同。
或使用串指令 ?
|
能力值:
(RANK:350 )
|
-
-
3 楼
这样是不行的,首先test执行的操作与and相同,只是不保存结果
其次你指令的使用上也有问题
帮你写个吧,我汇编学得不好,随便写的
假设esi和edi已经指向了两个需要比较的字符串,当然你也可以自己改成参数方式
szCMP proc
local dwRET:DWORD
pushad
xor eax,eax
xor ecx,ecx
@continue:
mov cl,[esi]
jecxz @finish
cmp cl,[edi]
sete al
jnz @finish1
inc esi
inc edi
jmp @continue
@finish:
mov cl,[edi]
cmp cl,0
sete al
@finish1:
mov dwRET,eax
popad
mov eax,dwRET
ret
szCMP endp
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
_MemCmp proc uses esi edi,lpBuff1:DWORD,lpBuff2:DWORD,hLen:DWORD
mov esi,[lpBuff1]
mov edi,[lpBuff2]
mov ecx,hLen
cld
repz cmpsb
.if ZERO?
xor eax,eax
.else
or eax,-1
.endif
ret
_MemCmp endp
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
建议:先用高级语言写出来 再反汇编看代码
|
|
|