中国开发网: 论坛: 程序员情感CBD: 贴子 228894
GoodHope
怎么内嵌的编译器都不支持REPNE了?
function StrLen(Str: PChar): Integer; register;
asm
cld
push edi
mov edx, Str
mov edi, edx
xor eax, eax
mov ecx, 0FFFFFFFFH
DB 0F2H //repne
scasb
dec edi
mov Result, edi
sub Result, edx
pop edi
end;

或者这样:
function StrLen(Str: PChar): Integer; register;
label
rescan;
asm
mov ecx, edi
mov edx, Str
mov edi, Str
xor eax, eax
rescan:
scasb
jnz rescan
dec edi
mov Result, edi
sub Result, edx
mov edi, ecx
end;

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录