السلام عليكم
لماذا عندما الغي التحسينات (optimization ) يشتغل الكود عادي و عندما افعلها لا يشتغل
int add(int a, int b)
{
int rs;
asm("mov 8(%ebp),%eax");
asm("add 12(%ebp),%eax");
asm("mov %eax, -4(%ebp)");
return rs;
}اليس ebp دائما يؤشر على بداية الدالة و ebp+8 هو عنوان اول متغير في stack ؟