Я пытаюсь получить сумму массива, используя x87, но вывод отображается как 0. Насколько я понимаю, сумма в конце должна быть в EAX. Что можно сделать, чтобы это исправить?
int main() {
float price[ ] = { 22.1, 34.44, 567.33, 2.45 };
float sum= 0;
__asm {
xor edx, edx //counter
mov ebx, 4 //num elements in array
lea ecx, price //address of first element in array
fldz
L1 :
fld dword ptr[ecx + edx * 4]
fadd
dec ebx
jz done
inc edx
jmp L1
done :
mov sum, eax
}
cout << "sum= " << sum;
return 0
}