Спроси товарища что он этим кодом хотел сказать.
и какой потайной смысл несёт в себе cdq
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
int main()
{
int x=0;
int z=20;
__asm__(
"m1:\n"
"incl %0\n"
"movl $8,%%eax\n"
"mull %0\n"
"addl $25,%%eax\n"
"movl %%eax,%%edi\n"
"movl $20000,%%eax\n"
"cdq\n"
"cmpl %1, %%eax\n"
"jc m1\n"
: "=m"(x)
: "m"(x), "m"(z)
);
printf("%d\n", x);
return 0;
}
не факт что правильно по логике
вообще x можно затолкать в %ecx (он собственно для этого и существует) но у меня что-то не получилось