Здравствуйте Аноним, Вы писали:
А>; 450 : double *p = tmp.pMO;
А> 0003b 8b 44 24 14 mov eax, DWORD PTR _tmp$[esp+44]
А>; 451 : register int index = 0;
А> 00047 33 c9 xor ecx, ecx
А>$L85342:
А>; 452 : do
А>; 453 : {
А>; 455 : *(p++) *= Number;
А> 00049 dd 45 10 fld QWORD PTR _Number$[ebp]
А> 0004c dc 08 fmul QWORD PTR [eax]
А> 0004e 83 c0 08 add eax, 8
А>; 456 : index++;
А> 00051 41 inc ecx
А> 00052 dd 58 f8 fstp QWORD PTR [eax-8]
А>; 457 : }
А>; 458 : while (index < Vector1.Dimension);
А> 00055 3b 4e 04 cmp ecx, DWORD PTR [esi+4]
А> 00058 7c ef jl SHORT $L85342
А>Все равно сначала add eax,8 а затем fstp c -8 Компилятор VC 6.0 херня
Молодой человек, прежде чем наезжать на компилятор, прочитайте пару руководств по оптимизации для Pentium, в частности про latency операции fmul. Тогда вы поймете, что результат fmul появляется не мгновенно, и что процессор на это время стоит занять полезными интсрукциями. Именно поэтому нужно поместить fstp подальше от fmul.