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가 뜹니다..ㅜ

어디가 잘못 된건지 좀 가르쳐 주세요....