Цитата Hector:
потому что в теле цикла pos=i, а зачем его увеличивать в конце, если потом все равно pos получает значение i непонятною »
|
то есть pos=i оставляем,а pos++ убираем?
Цитата Hector:
здесь реализуется вычисление S(Ai + Bi) »
|
щас мозг взорвется...я хочу понять принцип работы этой формулы. Дальше есть следующий код:
Код:
![Выделить весь код](images/misc/selectcode.png)
int my_assembler(int x)
{
int sum=0;
__asm
{
MOV esi,0
MOV ecx,0
//вычисление суммы массивов
cycle_i:
MOV eax,a[esi]
MOV edx,b[esi]
ADD esi,4
//сумма массивов
ADD sum, eax
ADD sum, edx
INC ecx //увеличивает
CMP ecx, 3 //сравнивает
JB cycle_i //для беззнаковых чисел
//модуль
abso: neg sum
JS abso //переход, если установлен бит знака
//умножаем sum на x
MOV eax,sum
MOV ecx,x
IMUL ecx
MOV sum,eax
//вычисляем квадрат x
MOV eax,x
MOV ecx,x
IMUL ecx
//складываем с суммой квадрат x
ADD sum,eax
}
return sum;
}
void main()
{
int i;
system("title Вычисление значения выражения");
for(int i=0; i<3; i++)
{
printf("Vvedite element A: ");
scanf("%d",&a[i]);
}
for(int i=0; i<3; i++)
{
printf("Vvedite element B: ");
scanf("%d",&b[i]);
}
int x=0;
printf("Vvedite chislo X: ");
scanf("%d",&x);
//printf("C++=%i\n",my_c(x));
printf("Otvet=%i\n",my_assembler(x));
system("pause");
}
задание впринципе решить формулу ассемблерной вставкой, но как я щас понял в этом примере всё решено на С? или что делает код на С? не понимаю
![Sad](images/smilies/sad.gif)