Я сделал функцию, которая должна возвращать номер старшей последовательности того же символа в строке.Так что в случае строки 'aabbbcaaaabbccc' это должно быть 4, в случае 'aaaaa' это должно быть 5. Так что для 'aaaaa' эта функция должна возвращать 5, фактически она возвращает 2. Я смотрю на нее долгое время, но яне вижу ошибки.
unsigned long najdlhsia(const char *vstup) {
__asm {
mov eax, 0
mov ecx, 0
mov ebx, vstup
cmp [ebx], 0
je k
mov edx, [ebx]
add ebx, 1
inc eax
inc ecx
c: cmp byte ptr[ebx], 0
je p
cmp [ebx], edx
jne a1
inc ecx
add ebx, 1
jmp c
a1: cmp ecx, eax
jng a2
mov eax, ecx
a2: mov ecx, 1
mov edx, [ebx]
add ebx, 1
jmp c
p: cmp ecx, eax
jng k
mov eax, ecx
k:
}
}
int main()
{
printf("%d", najdlhsia("aaaaa"));
return 0;
}