mov esi,[eax+12] //third argument mov eax,esi cmp eax,'+'
你在这里做的是将一个字符(通常是一个字节)与作为第三个参数的字符串的32位地址进行比较.这显然不会匹配.
适当的比较是:
mov esi,[eax+12] //third argument cmp byte [esi],'+' ; compare the first character of the third argument with '+'