char *strr(char*a,char*b)
{
int cnt =0, c1=0, c2=0;
_asm
{
mov edi, a
mov esi, b
re:
add edi, cnt
cmp byte ptr [edi], byte ptr [esi]
jne up
inc edi
inc esi
up :
inc cnt
mov esi, 0
jmp re
}
return (a+cnt);
}
cmp byte ptr [edi], byte ptr [esi]에서부터 error C2415: improper operand type가 뜹니다..ㅜ
어디가 잘못 된건지 좀 가르쳐 주세요....
cmp의 2개의 operand가 모두 메모리 참조라서 그런 듯 합니다
제가 알기로 IBM PC assembly는 저런 명령 자체가 없어요.
적어도 한쪽은 레지스터거나 즉시값 이거나 메모리 주소 자체여야함.