Здравствуйте, Андрей Тарасевич, Вы писали:
АТ>Здравствуйте, Minstrell, Вы писали:
M>>Оптимизатор "оптимизирует", проверено дизассемблирование релиза:
АТ>А взглянуть на дизассемблированный код можно?
.text:00401210 _wmain proc near ; CODE XREF: ___tmainCRTStartup+10Ap
.text:00401210
.text:00401210 var_458 = dword ptr -458h
.text:00401210 var_454 = qword ptr -454h
.text:00401210 var_44C = qword ptr -44Ch
.text:00401210 var_43C = qword ptr -43Ch
.text:00401210 var_434 = qword ptr -434h
.text:00401210 var_42C = qword ptr -42Ch
.text:00401210 var_424 = qword ptr -424h
.text:00401210 var_41C = qword ptr -41Ch
.text:00401210 var_414 = qword ptr -414h
.text:00401210 var_40C = qword ptr -40Ch
.text:00401210 var_404 = qword ptr -404h
.text:00401210 var_3FC = qword ptr -3FCh
.text:00401210 var_3F4 = qword ptr -3F4h
.text:00401210 var_3EC = qword ptr -3ECh
.text:00401210 var_3E4 = qword ptr -3E4h
.text:00401210 var_3DC = qword ptr -3DCh
.text:00401210 var_3D4 = qword ptr -3D4h
.text:00401210 var_3CC = qword ptr -3CCh
.text:00401210 var_3C4 = qword ptr -3C4h
.text:00401210 var_3BC = dword ptr -3BCh
.text:00401210 var_3B8 = dword ptr -3B8h
.text:00401210 var_3B4 = dword ptr -3B4h
.text:00401210 var_3B0 = dword ptr -3B0h
.text:00401210 var_3AC = qword ptr -3ACh
.text:00401210 var_3A4 = qword ptr -3A4h
.text:00401210 var_39C = qword ptr -39Ch
.text:00401210 var_394 = qword ptr -394h
.text:00401210 var_38C = qword ptr -38Ch
.text:00401210 var_384 = qword ptr -384h
.text:00401210 var_37C = qword ptr -37Ch
.text:00401210 var_374 = qword ptr -374h
.text:00401210 var_36C = qword ptr -36Ch
.text:00401210 var_364 = qword ptr -364h
.text:00401210 var_35C = qword ptr -35Ch
.text:00401210 var_354 = qword ptr -354h
.text:00401210 var_34C = qword ptr -34Ch
.text:00401210 var_344 = qword ptr -344h
.text:00401210 var_33C = qword ptr -33Ch
.text:00401210 var_334 = qword ptr -334h
.text:00401210 var_32C = qword ptr -32Ch
.text:00401210 var_324 = qword ptr -324h
.text:00401210 var_31C = qword ptr -31Ch
.text:00401210 var_314 = qword ptr -314h
.text:00401210 var_30C = qword ptr -30Ch
.text:00401210 var_304 = qword ptr -304h
.text:00401210 var_2FC = qword ptr -2FCh
.text:00401210 var_2F4 = qword ptr -2F4h
.text:00401210 var_2EC = qword ptr -2ECh
.text:00401210 var_2E4 = qword ptr -2E4h
.text:00401210 var_2DC = qword ptr -2DCh
.text:00401210 var_2D4 = qword ptr -2D4h
.text:00401210 var_2CC = qword ptr -2CCh
.text:00401210 var_2C4 = qword ptr -2C4h
.text:00401210 var_2BC = qword ptr -2BCh
.text:00401210 var_2B4 = qword ptr -2B4h
.text:00401210 var_2AC = qword ptr -2ACh
.text:00401210 var_2A4 = qword ptr -2A4h
.text:00401210 var_29C = qword ptr -29Ch
.text:00401210 var_294 = qword ptr -294h
.text:00401210 var_28C = qword ptr -28Ch
.text:00401210 var_284 = qword ptr -284h
.text:00401210 var_27C = qword ptr -27Ch
.text:00401210 var_274 = qword ptr -274h
.text:00401210 var_26C = qword ptr -26Ch
.text:00401210 var_264 = qword ptr -264h
.text:00401210 var_25C = qword ptr -25Ch
.text:00401210 var_254 = qword ptr -254h
.text:00401210 var_24C = qword ptr -24Ch
.text:00401210 var_244 = qword ptr -244h
.text:00401210 var_23C = qword ptr -23Ch
.text:00401210 var_234 = qword ptr -234h
.text:00401210 var_22C = qword ptr -22Ch
.text:00401210 var_224 = qword ptr -224h
.text:00401210 var_21C = qword ptr -21Ch
.text:00401210 var_214 = qword ptr -214h
.text:00401210 var_20C = qword ptr -20Ch
.text:00401210 var_204 = qword ptr -204h
.text:00401210 var_1FC = qword ptr -1FCh
.text:00401210 var_1F4 = qword ptr -1F4h
.text:00401210 var_1EC = qword ptr -1ECh
.text:00401210 var_1E4 = qword ptr -1E4h
.text:00401210 var_1DC = qword ptr -1DCh
.text:00401210 var_1D4 = qword ptr -1D4h
.text:00401210 var_1CC = qword ptr -1CCh
.text:00401210 var_1C4 = qword ptr -1C4h
.text:00401210 var_1BC = qword ptr -1BCh
.text:00401210 var_1B4 = qword ptr -1B4h
.text:00401210 var_1AC = qword ptr -1ACh
.text:00401210 var_1A0 = dword ptr -1A0h
.text:00401210 var_194 = dword ptr -194h
.text:00401210 var_114 = dword ptr -114h
.text:00401210 var_94 = dword ptr -94h
.text:00401210 var_1C = dword ptr -1Ch
.text:00401210 var_C = dword ptr -0Ch
.text:00401210 var_4 = dword ptr -4
.text:00401210
.text:00401210 push ebp
.text:00401211 mov ebp, esp
.text:00401213 and esp, 0FFFFFFF8h
.text:00401216 push 0FFFFFFFFh
.text:00401218 push offset byte_4029CB
.text:0040121D mov eax, large fs:0
.text:00401223 push eax
.text:00401224 sub esp, 450h
.text:0040122A push ebx
.text:0040122B push esi
.text:0040122C push edi
.text:0040122D mov eax, dword_404000
.text:00401232 xor eax, esp
.text:00401234 push eax
.text:00401235 lea eax, [esp+46Ch+var_C]
.text:0040123C mov large fs:0, eax
.text:00401242 lea eax, [esp+46Ch+var_458]
.text:00401246 push eax
.text:00401247 lea ecx, [esp+470h+var_1A0]
.text:0040124E push ecx
.text:0040124F call sub_401DA0
.text:00401254 mov [esp+46Ch+var_4], 0
.text:0040125F mov edx, ds:?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z ; std::endl(std::basic_ostream<char,std::char_traits<char>> &)
.text:00401265 mov eax, ds:?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A ; std::basic_ostream<char,std::char_traits<char>> std::cout
.text:0040126A push edx
.text:0040126B push ecx
.text:0040126C push offset aStart? ; "Start?"
.text:00401271 push eax
.text:00401272 call sub_401E70
.text:00401277 add esp, 0Ch
.text:0040127A mov ecx, eax
.text:0040127C call ds:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z ; std::basic_ostream<char,std::char_traits<char>>::operator<<(std::basic_ostream<char,std::char_traits<char>> & (*)(std::basic_ostream<char,std::char_traits<char>> &))
.text:00401282 mov ebx, ds:getchar
.text:00401288 call ebx ; getchar
.text:0040128A fld1
.text:0040128C fst [esp+470h+var_2AC]
.text:00401293 fst [esp+470h+var_2D4]
.text:0040129A fst [esp+470h+var_2FC]
.text:004012A1 fst [esp+470h+var_324]
.text:004012A8 fldz
.text:004012AA fst [esp+470h+var_30C]
.text:004012B1 fst [esp+470h+var_314]
.text:004012B8 fst [esp+470h+var_31C]
.text:004012BF fst [esp+470h+var_2EC]
.text:004012C6 fst [esp+470h+var_2F4]
.text:004012CD fst [esp+470h+var_304]
.text:004012D4 fst [esp+470h+var_2CC]
.text:004012DB fst [esp+470h+var_2DC]
.text:004012E2 fst [esp+470h+var_2E4]
.text:004012E9 fst [esp+470h+var_2B4]
.text:004012F0 fst [esp+470h+var_20C]
.text:004012F7 fst [esp+470h+var_214]
.text:004012FE fst [esp+470h+var_1EC]
.text:00401305 fst [esp+470h+var_1F4]
.text:0040130C fst [esp+470h+var_1CC]
.text:00401313 fst [esp+470h+var_1DC]
.text:0040131A fst [esp+470h+var_1E4]
.text:00401321 fst [esp+470h+var_1B4]
.text:00401328 fst [esp+470h+var_1BC]
.text:0040132F fstp [esp+470h+var_1C4]
.text:00401336 fst [esp+470h+var_2C4]
.text:0040133D fst [esp+470h+var_2BC]
.text:00401344 fst [esp+470h+var_1AC]
.text:0040134B fstp [esp+470h+var_1D4]
.text:00401352 fld ds:dbl_403150
.text:00401358 call _CIsin
.text:0040135D fstp [esp+470h+var_3AC]
.text:00401364 fld ds:dbl_403150
.text:0040136A call _CIcos
.text:0040136F fst [esp+470h+var_1FC]
.text:00401376 fstp [esp+470h+var_224]
.text:0040137D fld [esp+470h+var_3AC]
.text:00401384 fld st
.text:00401386 fchs
.text:00401388 fstp [esp+470h+var_204]
.text:0040138F fstp [esp+470h+var_21C]
.text:00401396 fld1
.text:00401398 fst [esp+470h+var_22C]
.text:0040139F fst [esp+470h+var_254]
.text:004013A6 fst [esp+470h+var_2A4]
.text:004013AD fldz
.text:004013AF fst [esp+470h+var_28C]
.text:004013B6 fst [esp+470h+var_294]
.text:004013BD fst [esp+470h+var_29C]
.text:004013C4 fst [esp+470h+var_26C]
.text:004013CB fst [esp+470h+var_274]
.text:004013D2 fst [esp+470h+var_284]
.text:004013D9 fst [esp+470h+var_24C]
.text:004013E0 fst [esp+470h+var_25C]
.text:004013E7 fst [esp+470h+var_264]
.text:004013EE fst [esp+470h+var_234]
.text:004013F5 fst [esp+470h+var_23C]
.text:004013FC fst [esp+470h+var_244]
.text:00401403 fld ds:dbl_403140
.text:00401409 fstp [esp+470h+var_27C]
.text:00401410 fxch st(1)
.text:00401412 fst [esp+470h+var_3C4]
.text:00401419 fstp [esp+470h+var_3EC]
.text:00401420 fst [esp+470h+var_424]
.text:00401424 fst [esp+470h+var_42C]
.text:00401428 fst [esp+470h+var_404]
.text:0040142C fst [esp+470h+var_40C]
.text:00401430 fst [esp+470h+var_3E4]
.text:00401437 fst [esp+470h+var_3F4]
.text:0040143B fst [esp+470h+var_3FC]
.text:0040143F fst [esp+470h+var_3CC]
.text:00401446 fst [esp+470h+var_3D4]
.text:0040144D fstp [esp+470h+var_3DC]
.text:00401454 fld ds:dbl_403148
.text:0040145A call _CIsin
.text:0040145F fstp [esp+470h+var_3AC]
.text:00401466 fld ds:dbl_403148
.text:0040146C call _CIcos
.text:00401471 fst [esp+470h+var_414]
.text:00401475 fstp [esp+470h+var_43C]
.text:00401479 lea ecx, [esp+470h+var_43C]
.text:0040147D fld [esp+470h+var_3AC]
.text:00401484 lea eax, [esp+470h+var_114]
.text:0040148B fld st
.text:0040148D lea edx, [esp+470h+var_3A4]
.text:00401494 fchs
.text:00401496 fstp [esp+470h+var_41C]
.text:0040149A fstp [esp+470h+var_434]
.text:0040149E fld1
.text:004014A0 fst [esp+470h+var_32C]
.text:004014A7 fst [esp+470h+var_354]
.text:004014AE fst [esp+470h+var_37C]
.text:004014B5 fstp [esp+470h+var_3A4]
.text:004014BC fldz
.text:004014BE fst [esp+470h+var_38C]
.text:004014C5 fst [esp+470h+var_394]
.text:004014CC fst [esp+470h+var_39C]
.text:004014D3 fst [esp+470h+var_36C]
.text:004014DA fst [esp+470h+var_374]
.text:004014E1 fst [esp+470h+var_384]
.text:004014E8 fst [esp+470h+var_34C]
.text:004014EF fst [esp+470h+var_35C]
.text:004014F6 fst [esp+470h+var_364]
.text:004014FD fld ds:dbl_403140
.text:00401503 fst [esp+470h+var_344]
.text:0040150A fstp [esp+470h+var_33C]
.text:00401511 fstp [esp+470h+var_334]
.text:00401518 call sub_401000
.text:0040151D mov edx, eax
.text:0040151F lea ecx, [esp+470h+var_2A4]
.text:00401526 lea eax, [esp+470h+var_3A4]
.text:0040152D call sub_401000
.text:00401532 mov edx, eax
.text:00401534 lea ecx, [esp+470h+var_224]
.text:0040153B lea eax, [esp+470h+var_194]
.text:00401542 call sub_401000
.text:00401547 mov edx, eax
.text:00401549 lea ecx, [esp+470h+var_324]
.text:00401550 lea eax, [esp+470h+var_94]
.text:00401557 call sub_401000
.text:0040155C mov ecx, 20h
.text:00401561 mov esi, eax
.text:00401563 lea edi, [esp+470h+var_43C]
.text:00401567 rep movsd
.text:00401569 rdtsc
.text:0040156B mov [esp+470h+var_3BC], eax
.text:00401572 lea eax, [esp+470h+var_3BC]
.text:00401579 add eax, 4
.text:0040157C mov [eax], edx
.text:0040157E mov esi, [esp+470h+var_1A0] ; Подготовка к циклу
.text:00401585 fld [esp+470h+var_3C4]
.text:0040158C lea eax, [esi+30h]
.text:0040158F fld [esp+470h+var_3CC]
.text:00401596 mov ecx, 186A0h
.text:0040159B fld [esp+470h+var_3D4]
.text:004015A2 fld [esp+470h+var_3DC]
.text:004015A9 fld [esp+470h+var_3E4]
.text:004015B0
.text:004015B0 loc_4015B0: ; Начало итерации цикла
.text:004015B0 fld qword ptr [eax-30h] ; Первая строка матрицы
.text:004015B3 fmul [esp+470h+var_43C]
.text:004015B7 fld qword ptr [eax-28h]
.text:004015BA fmul [esp+470h+var_41C]
.text:004015BE faddp st(1), st
.text:004015C0 fld qword ptr [eax-20h]
.text:004015C3 fmul [esp+470h+var_3FC]
.text:004015C7 faddp st(1), st
.text:004015C9 fld qword ptr [eax-18h]
.text:004015CC fmul st, st(3)
.text:004015CE faddp st(1), st
.text:004015D0 fstp qword ptr [esp+14h]
.text:004015D4 fld qword ptr [eax-30h] ; Вторая строка матрицы
.text:004015D7 fmul [esp+470h+var_434]
.text:004015DB fld qword ptr [eax-28h]
.text:004015DE fmul [esp+470h+var_414]
.text:004015E2 faddp st(1), st
.text:004015E4 fld qword ptr [eax-20h]
.text:004015E7 fmul [esp+470h+var_3F4]
.text:004015EB faddp st(1), st
.text:004015ED fld qword ptr [eax-18h]
.text:004015F0 fmul st, st(4)
.text:004015F2 faddp st(1), st
.text:004015F4 fstp [esp+470h+var_454]
.text:004015F8 fld qword ptr [eax-30h] ; Третья строка матрицы
.text:004015FB fmul [esp+470h+var_42C]
.text:004015FF fld qword ptr [eax-28h]
.text:00401602 fmul [esp+470h+var_40C]
.text:00401606 faddp st(1), st
.text:00401608 fld qword ptr [eax-20h]
.text:0040160B fmul [esp+470h+var_3EC]
.text:00401612 faddp st(1), st
.text:00401614 fld qword ptr [eax-18h]
.text:00401617 fmul st, st(5)
.text:00401619 faddp st(1), st
.text:0040161B fstp [esp+470h+var_44C]
.text:0040161F fld qword ptr [eax-30h] ; Четвертая строка
.text:00401622 fmul [esp+470h+var_424]
.text:00401626 fld qword ptr [eax-28h]
.text:00401629 fmul [esp+470h+var_404]
.text:0040162D faddp st(1), st
.text:0040162F fld qword ptr [eax-20h]
.text:00401632 fmul st, st(2)
.text:00401634 faddp st(1), st
.text:00401636 fld qword ptr [eax-18h]
.text:00401639 fmul st, st(6)
.text:0040163B faddp st(1), st
.text:0040163D fld qword ptr [esp+14h]
.text:00401641 fstp qword ptr [eax-30h]
.text:00401644 fld [esp+470h+var_454] ; А дальше-то что?
.text:00401648 fstp qword ptr [eax-28h]
.text:0040164B fld [esp+470h+var_44C]
.text:0040164F fstp qword ptr [eax-20h]
.text:00401652 fstp qword ptr [eax-18h]
.text:00401655 fld qword ptr [eax-10h]
.text:00401658 fmul [esp+470h+var_43C]
.text:0040165C fld qword ptr [eax-8]
.text:0040165F fmul [esp+470h+var_41C]
.text:00401663 faddp st(1), st
.text:00401665 fld qword ptr [eax]
.text:00401667 fmul [esp+470h+var_3FC]
.text:0040166B faddp st(1), st
.text:0040166D fld qword ptr [eax+8]
.text:00401670 fmul st, st(3)
.text:00401672 faddp st(1), st
.text:00401674 fstp qword ptr [esp+14h]
.text:00401678 fld qword ptr [eax-10h]
.text:0040167B fmul [esp+470h+var_434]
.text:0040167F fld qword ptr [eax-8]
.text:00401682 fmul [esp+470h+var_414]
.text:00401686 faddp st(1), st
.text:00401688 fld qword ptr [eax]
.text:0040168A fmul [esp+470h+var_3F4]
.text:0040168E faddp st(1), st
.text:00401690 fld qword ptr [eax+8]
.text:00401693 fmul st, st(4)
.text:00401695 faddp st(1), st
.text:00401697 fstp [esp+470h+var_454]
.text:0040169B fld qword ptr [eax-8]
.text:0040169E fmul [esp+470h+var_40C]
.text:004016A2 fld qword ptr [eax-10h]
.text:004016A5 fmul [esp+470h+var_42C]
.text:004016A9 faddp st(1), st
.text:004016AB fld qword ptr [eax]
.text:004016AD fmul [esp+470h+var_3EC]
.text:004016B4 faddp st(1), st
.text:004016B6 fld qword ptr [eax+8]
.text:004016B9 fmul st, st(5)
.text:004016BB faddp st(1), st
.text:004016BD fstp [esp+470h+var_44C]
.text:004016C1 fld qword ptr [eax-8]
.text:004016C4 fmul [esp+470h+var_404]
.text:004016C8 fld qword ptr [eax-10h]
.text:004016CB fmul [esp+470h+var_424]
.text:004016CF faddp st(1), st
.text:004016D1 fld qword ptr [eax]
.text:004016D3 fmul st, st(2)
.text:004016D5 faddp st(1), st
.text:004016D7 fld qword ptr [eax+8]
.text:004016DA fmul st, st(6)
.text:004016DC faddp st(1), st
.text:004016DE fld qword ptr [esp+14h]
.text:004016E2 fstp qword ptr [eax-10h]
.text:004016E5 fld [esp+470h+var_454]
.text:004016E9 fstp qword ptr [eax-8]
.text:004016EC fld [esp+470h+var_44C]
.text:004016F0 fstp qword ptr [eax]
.text:004016F2 fstp qword ptr [eax+8]
.text:004016F5 fld qword ptr [eax+10h]
.text:004016F8 fmul [esp+470h+var_43C]
.text:004016FC fld qword ptr [eax+18h]
.text:004016FF fmul [esp+470h+var_41C]
.text:00401703 faddp st(1), st
.text:00401705 fld qword ptr [eax+20h]
.text:00401708 fmul [esp+470h+var_3FC]
.text:0040170C faddp st(1), st
.text:0040170E fld qword ptr [eax+28h]
.text:00401711 fmul st, st(3)
.text:00401713 faddp st(1), st
.text:00401715 fstp qword ptr [esp+14h]
.text:00401719 fld qword ptr [eax+10h]
.text:0040171C fmul [esp+470h+var_434]
.text:00401720 fld qword ptr [eax+18h]
.text:00401723 fmul [esp+470h+var_414]
.text:00401727 faddp st(1), st
.text:00401729 fld qword ptr [eax+20h]
.text:0040172C fmul [esp+470h+var_3F4]
.text:00401730 faddp st(1), st
.text:00401732 fld qword ptr [eax+28h]
.text:00401735 fmul st, st(4)
.text:00401737 faddp st(1), st
.text:00401739 fstp [esp+470h+var_454]
.text:0040173D fld qword ptr [eax+10h]
.text:00401740 fmul [esp+470h+var_42C]
.text:00401744 fld qword ptr [eax+18h]
.text:00401747 fmul [esp+470h+var_40C]
.text:0040174B faddp st(1), st
.text:0040174D fld qword ptr [eax+20h]
.text:00401750 fmul [esp+470h+var_3EC]
.text:00401757 faddp st(1), st
.text:00401759 fld qword ptr [eax+28h]
.text:0040175C fmul st, st(5)
.text:0040175E faddp st(1), st
.text:00401760 fstp [esp+470h+var_44C]
.text:00401764 fld qword ptr [eax+10h]
.text:00401767 fmul [esp+470h+var_424]
.text:0040176B fld qword ptr [eax+18h]
.text:0040176E fmul [esp+470h+var_404]
.text:00401772 faddp st(1), st
.text:00401774 fld qword ptr [eax+20h]
.text:00401777 fmul st, st(2)
.text:00401779 faddp st(1), st
.text:0040177B fld qword ptr [eax+28h]
.text:0040177E fmul st, st(6)
.text:00401780 faddp st(1), st
.text:00401782 fld qword ptr [esp+14h]
.text:00401786 fstp qword ptr [eax+10h]
.text:00401789 fld [esp+470h+var_454]
.text:0040178D fstp qword ptr [eax+18h]
.text:00401790 fld [esp+470h+var_44C]
.text:00401794 fstp qword ptr [eax+20h]
.text:00401797 fstp qword ptr [eax+28h]
.text:0040179A fld qword ptr [eax+30h]
.text:0040179D fmul [esp+470h+var_43C]
.text:004017A1 fld qword ptr [eax+38h]
.text:004017A4 fmul [esp+470h+var_41C]
.text:004017A8 faddp st(1), st
.text:004017AA fld qword ptr [eax+40h]
.text:004017AD fmul [esp+470h+var_3FC]
.text:004017B1 faddp st(1), st
.text:004017B3 fld qword ptr [eax+48h]
.text:004017B6 fmul st, st(3)
.text:004017B8 faddp st(1), st
.text:004017BA fstp qword ptr [esp+14h]
.text:004017BE fld qword ptr [eax+30h]
.text:004017C1 fmul [esp+470h+var_434]
.text:004017C5 fld qword ptr [eax+38h]
.text:004017C8 fmul [esp+470h+var_414]
.text:004017CC faddp st(1), st
.text:004017CE fld qword ptr [eax+40h]
.text:004017D1 fmul [esp+470h+var_3F4]
.text:004017D5 faddp st(1), st
.text:004017D7 fld qword ptr [eax+48h]
.text:004017DA fmul st, st(4)
.text:004017DC faddp st(1), st
.text:004017DE fstp [esp+470h+var_454]
.text:004017E2 fld qword ptr [eax+38h]
.text:004017E5 fmul [esp+470h+var_40C]
.text:004017E9 fld qword ptr [eax+30h]
.text:004017EC fmul [esp+470h+var_42C]
.text:004017F0 faddp st(1), st
.text:004017F2 fld qword ptr [eax+40h]
.text:004017F5 fmul [esp+470h+var_3EC]
.text:004017FC faddp st(1), st
.text:004017FE fld qword ptr [eax+48h]
.text:00401801 fmul st, st(5)
.text:00401803 faddp st(1), st
.text:00401805 fstp [esp+470h+var_44C]
.text:00401809 fld qword ptr [eax+38h]
.text:0040180C fmul [esp+470h+var_404]
.text:00401810 fld qword ptr [eax+30h]
.text:00401813 fmul [esp+470h+var_424]
.text:00401817 faddp st(1), st
.text:00401819 fld qword ptr [eax+40h]
.text:0040181C fmul st, st(2)
.text:0040181E faddp st(1), st
.text:00401820 fld qword ptr [eax+48h]
.text:00401823 fmul st, st(6)
.text:00401825 faddp st(1), st
.text:00401827 fld qword ptr [esp+14h]
.text:0040182B fstp qword ptr [eax+30h]
.text:0040182E fld [esp+470h+var_454]
.text:00401832 fstp qword ptr [eax+38h]
.text:00401835 fld [esp+470h+var_44C]
.text:00401839 fstp qword ptr [eax+40h]
.text:0040183C fstp qword ptr [eax+48h]
.text:0040183F fld qword ptr [eax+50h]
.text:00401842 fmul [esp+470h+var_43C]
.text:00401846 fld qword ptr [eax+58h]
.text:00401849 fmul [esp+470h+var_41C]
.text:0040184D faddp st(1), st
.text:0040184F fld qword ptr [eax+60h]
.text:00401852 fmul [esp+470h+var_3FC]
.text:00401856 faddp st(1), st
.text:00401858 fld qword ptr [eax+68h]
.text:0040185B fmul st, st(3)
.text:0040185D faddp st(1), st
.text:0040185F fstp qword ptr [esp+14h]
.text:00401863 fld qword ptr [eax+50h]
.text:00401866 fmul [esp+470h+var_434]
.text:0040186A fld qword ptr [eax+58h]
.text:0040186D fmul [esp+470h+var_414]
.text:00401871 faddp st(1), st
.text:00401873 fld qword ptr [eax+60h]
.text:00401876 fmul [esp+470h+var_3F4]
.text:0040187A faddp st(1), st
.text:0040187C fld qword ptr [eax+68h]
.text:0040187F fmul st, st(4)
.text:00401881 faddp st(1), st
.text:00401883 fstp [esp+470h+var_454]
.text:00401887 fld qword ptr [eax+50h]
.text:0040188A fmul [esp+470h+var_42C]
.text:0040188E fld qword ptr [eax+58h]
.text:00401891 fmul [esp+470h+var_40C]
.text:00401895 faddp st(1), st
.text:00401897 fld qword ptr [eax+60h]
.text:0040189A fmul [esp+470h+var_3EC]
.text:004018A1 faddp st(1), st
.text:004018A3 fld qword ptr [eax+68h]
.text:004018A6 fmul st, st(5)
.text:004018A8 faddp st(1), st
.text:004018AA fstp [esp+470h+var_44C]
.text:004018AE fld qword ptr [eax+50h]
.text:004018B1 fmul [esp+470h+var_424]
.text:004018B5 fld qword ptr [eax+58h]
.text:004018B8 fmul [esp+470h+var_404]
.text:004018BC faddp st(1), st
.text:004018BE fld qword ptr [eax+60h]
.text:004018C1 fmul st, st(2)
.text:004018C3 faddp st(1), st
.text:004018C5 fld qword ptr [eax+68h]
.text:004018C8 fmul st, st(6)
.text:004018CA faddp st(1), st
.text:004018CC fld qword ptr [esp+14h]
.text:004018D0 fstp qword ptr [eax+50h]
.text:004018D3 fld [esp+470h+var_454]
.text:004018D7 fstp qword ptr [eax+58h]
.text:004018DA fld [esp+470h+var_44C]
.text:004018DE fstp qword ptr [eax+60h]
.text:004018E1 fstp qword ptr [eax+68h]
.text:004018E4 fld qword ptr [eax+70h]
.text:004018E7 fmul [esp+470h+var_43C]
.text:004018EB fld qword ptr [eax+78h]
.text:004018EE fmul [esp+470h+var_41C]
.text:004018F2 faddp st(1), st
.text:004018F4 fld qword ptr [eax+80h]
.text:004018FA fmul [esp+470h+var_3FC]
.text:004018FE faddp st(1), st
.text:00401900 fld qword ptr [eax+88h]
.text:00401906 fmul st, st(3)
.text:00401908 faddp st(1), st
.text:0040190A fstp qword ptr [esp+14h]
.text:0040190E fld qword ptr [eax+70h]
.text:00401911 fmul [esp+470h+var_434]
.text:00401915 fld qword ptr [eax+78h]
.text:00401918 fmul [esp+470h+var_414]
.text:0040191C faddp st(1), st
.text:0040191E fld qword ptr [eax+80h]
.text:00401924 fmul [esp+470h+var_3F4]
.text:00401928 faddp st(1), st
.text:0040192A fld qword ptr [eax+88h]
.text:00401930 fmul st, st(4)
.text:00401932 faddp st(1), st
.text:00401934 fstp [esp+470h+var_454]
.text:00401938 fld qword ptr [eax+78h]
.text:0040193B fmul [esp+470h+var_40C]
.text:0040193F fld qword ptr [eax+70h]
.text:00401942 fmul [esp+470h+var_42C]
.text:00401946 faddp st(1), st
.text:00401948 fld qword ptr [eax+80h]
.text:0040194E fmul [esp+470h+var_3EC]
.text:00401955 faddp st(1), st
.text:00401957 fld qword ptr [eax+88h]
.text:0040195D fmul st, st(5)
.text:0040195F faddp st(1), st
.text:00401961 fstp [esp+470h+var_44C]
.text:00401965 fld qword ptr [eax+78h]
.text:00401968 fmul [esp+470h+var_404]
.text:0040196C fld qword ptr [eax+70h]
.text:0040196F fmul [esp+470h+var_424]
.text:00401973 faddp st(1), st
.text:00401975 fld qword ptr [eax+80h]
.text:0040197B fmul st, st(2)
.text:0040197D faddp st(1), st
.text:0040197F fld qword ptr [eax+88h]
.text:00401985 fmul st, st(6)
.text:00401987 faddp st(1), st
.text:00401989 fld qword ptr [esp+14h]
.text:0040198D fstp qword ptr [eax+70h]
.text:00401990 fld [esp+470h+var_454]
.text:00401994 fstp qword ptr [eax+78h]
.text:00401997 fld [esp+470h+var_44C]
.text:0040199B fstp qword ptr [eax+80h]
.text:004019A1 fstp qword ptr [eax+88h]
.text:004019A7 fld qword ptr [eax+90h]
.text:004019AD fmul [esp+470h+var_43C]
.text:004019B1 fld qword ptr [eax+98h]
.text:004019B7 fmul [esp+470h+var_41C]
.text:004019BB faddp st(1), st
.text:004019BD fld qword ptr [eax+0A0h]
.text:004019C3 fmul [esp+470h+var_3FC]
.text:004019C7 faddp st(1), st
.text:004019C9 fld qword ptr [eax+0A8h]
.text:004019CF fmul st, st(3)
.text:004019D1 faddp st(1), st
.text:004019D3 fstp qword ptr [esp+14h]
.text:004019D7 fld qword ptr [eax+90h]
.text:004019DD fmul [esp+470h+var_434]
.text:004019E1 fld qword ptr [eax+98h]
.text:004019E7 fmul [esp+470h+var_414]
.text:004019EB faddp st(1), st
.text:004019ED fld qword ptr [eax+0A0h]
.text:004019F3 fmul [esp+470h+var_3F4]
.text:004019F7 faddp st(1), st
.text:004019F9 fld qword ptr [eax+0A8h]
.text:004019FF fmul st, st(4)
.text:00401A01 faddp st(1), st
.text:00401A03 fstp [esp+470h+var_454]
.text:00401A07 fld qword ptr [eax+90h]
.text:00401A0D fmul [esp+470h+var_42C]
.text:00401A11 fld qword ptr [eax+98h]
.text:00401A17 fmul [esp+470h+var_40C]
.text:00401A1B faddp st(1), st
.text:00401A1D fld qword ptr [eax+0A0h]
.text:00401A23 fmul [esp+470h+var_3EC]
.text:00401A2A faddp st(1), st
.text:00401A2C fld qword ptr [eax+0A8h]
.text:00401A32 fmul st, st(5)
.text:00401A34 faddp st(1), st
.text:00401A36 fstp [esp+470h+var_44C]
.text:00401A3A fld qword ptr [eax+90h]
.text:00401A40 fmul [esp+470h+var_424]
.text:00401A44 fld qword ptr [eax+98h]
.text:00401A4A fmul [esp+470h+var_404]
.text:00401A4E faddp st(1), st
.text:00401A50 fld qword ptr [eax+0A0h]
.text:00401A56 fmul st, st(2)
.text:00401A58 faddp st(1), st
.text:00401A5A fld qword ptr [eax+0A8h]
.text:00401A60 fmul st, st(6)
.text:00401A62 faddp st(1), st
.text:00401A64 fld qword ptr [esp+14h]
.text:00401A68 fstp qword ptr [eax+90h]
.text:00401A6E fld [esp+470h+var_454]
.text:00401A72 fstp qword ptr [eax+98h]
.text:00401A78 fld [esp+470h+var_44C]
.text:00401A7C fstp qword ptr [eax+0A0h]
.text:00401A82 fstp qword ptr [eax+0A8h]
.text:00401A88 fld qword ptr [eax+0B0h]
.text:00401A8E fmul [esp+470h+var_43C]
.text:00401A92 fld qword ptr [eax+0B8h]
.text:00401A98 fmul [esp+470h+var_41C]
.text:00401A9C faddp st(1), st
.text:00401A9E fld qword ptr [eax+0C0h]
.text:00401AA4 fmul [esp+470h+var_3FC]
.text:00401AA8 faddp st(1), st
.text:00401AAA fld qword ptr [eax+0C8h]
.text:00401AB0 fmul st, st(3)
.text:00401AB2 faddp st(1), st
.text:00401AB4 fstp qword ptr [esp+14h]
.text:00401AB8 fld qword ptr [eax+0B0h]
.text:00401ABE fmul [esp+470h+var_434]
.text:00401AC2 fld qword ptr [eax+0B8h]
.text:00401AC8 fmul [esp+470h+var_414]
.text:00401ACC faddp st(1), st
.text:00401ACE fld qword ptr [eax+0C0h]
.text:00401AD4 fmul [esp+470h+var_3F4]
.text:00401AD8 faddp st(1), st
.text:00401ADA fld qword ptr [eax+0C8h]
.text:00401AE0 fmul st, st(4)
.text:00401AE2 faddp st(1), st
.text:00401AE4 fstp [esp+470h+var_454]
.text:00401AE8 fld qword ptr [eax+0B8h]
.text:00401AEE fmul [esp+470h+var_40C]
.text:00401AF2 fld qword ptr [eax+0B0h]
.text:00401AF8 fmul [esp+470h+var_42C]
.text:00401AFC faddp st(1), st
.text:00401AFE fld qword ptr [eax+0C0h]
.text:00401B04 fmul [esp+470h+var_3EC]
.text:00401B0B faddp st(1), st
.text:00401B0D fld qword ptr [eax+0C8h]
.text:00401B13 fmul st, st(5)
.text:00401B15 faddp st(1), st
.text:00401B17 fstp [esp+470h+var_44C]
.text:00401B1B fld qword ptr [eax+0B8h]
.text:00401B21 fmul [esp+470h+var_404]
.text:00401B25 fld qword ptr [eax+0B0h]
.text:00401B2B fmul [esp+470h+var_424]
.text:00401B2F faddp st(1), st
.text:00401B31 fld qword ptr [eax+0C0h]
.text:00401B37 fmul st, st(2)
.text:00401B39 faddp st(1), st
.text:00401B3B fld qword ptr [eax+0C8h]
.text:00401B41 fmul st, st(6)
.text:00401B43 faddp st(1), st
.text:00401B45 fld qword ptr [esp+14h]
.text:00401B49 fstp qword ptr [eax+0B0h]
.text:00401B4F fld [esp+470h+var_454]
.text:00401B53 fstp qword ptr [eax+0B8h]
.text:00401B59 fld [esp+470h+var_44C]
.text:00401B5D fstp qword ptr [eax+0C0h]
.text:00401B63 fstp qword ptr [eax+0C8h]
.text:00401B69 fld qword ptr [eax+0D0h]
.text:00401B6F fmul [esp+470h+var_43C]
.text:00401B73 fld qword ptr [eax+0D8h]
.text:00401B79 fmul [esp+470h+var_41C]
.text:00401B7D faddp st(1), st
.text:00401B7F fld qword ptr [eax+0E0h]
.text:00401B85 fmul [esp+470h+var_3FC]
.text:00401B89 faddp st(1), st
.text:00401B8B fld qword ptr [eax+0E8h]
.text:00401B91 fmul st, st(3)
.text:00401B93 faddp st(1), st
.text:00401B95 fstp qword ptr [esp+14h]
.text:00401B99 fld qword ptr [eax+0D0h]
.text:00401B9F fmul [esp+470h+var_434]
.text:00401BA3 fld qword ptr [eax+0D8h]
.text:00401BA9 fmul [esp+470h+var_414]
.text:00401BAD faddp st(1), st
.text:00401BAF fld qword ptr [eax+0E0h]
.text:00401BB5 fmul [esp+470h+var_3F4]
.text:00401BB9 faddp st(1), st
.text:00401BBB fld qword ptr [eax+0E8h]
.text:00401BC1 fmul st, st(4)
.text:00401BC3 faddp st(1), st
.text:00401BC5 fstp [esp+470h+var_454]
.text:00401BC9 fld qword ptr [eax+0D0h]
.text:00401BCF fmul [esp+470h+var_42C]
.text:00401BD3 fld qword ptr [eax+0D8h]
.text:00401BD9 fmul [esp+470h+var_40C]
.text:00401BDD faddp st(1), st
.text:00401BDF fld qword ptr [eax+0E0h]
.text:00401BE5 fmul [esp+470h+var_3EC]
.text:00401BEC faddp st(1), st
.text:00401BEE fld qword ptr [eax+0E8h]
.text:00401BF4 fmul st, st(5)
.text:00401BF6 faddp st(1), st
.text:00401BF8 fstp [esp+470h+var_44C]
.text:00401BFC fld qword ptr [eax+0D0h]
.text:00401C02 fmul [esp+470h+var_424]
.text:00401C06 fld qword ptr [eax+0D8h]
.text:00401C0C fmul [esp+470h+var_404]
.text:00401C10 faddp st(1), st
.text:00401C12 fld qword ptr [eax+0E0h]
.text:00401C18 fmul st, st(2)
.text:00401C1A faddp st(1), st
.text:00401C1C fld qword ptr [eax+0E8h]
.text:00401C22 fmul st, st(6)
.text:00401C24 faddp st(1), st
.text:00401C26 fld qword ptr [esp+14h]
.text:00401C2A fstp qword ptr [eax+0D0h]
.text:00401C30 fld [esp+470h+var_454]
.text:00401C34 fstp qword ptr [eax+0D8h]
.text:00401C3A fld [esp+470h+var_44C]
.text:00401C3E fstp qword ptr [eax+0E0h]
.text:00401C44 fstp qword ptr [eax+0E8h]
.text:00401C4A fld qword ptr [eax+0F0h]
.text:00401C50 add eax, 140h
.text:00401C55 sub ecx, 1
.text:00401C58 fmul [esp+470h+var_43C]
.text:00401C5C fld qword ptr [eax-48h]
.text:00401C5F fmul [esp+470h+var_41C]
.text:00401C63 faddp st(1), st
.text:00401C65 fld qword ptr [eax-40h]
.text:00401C68 fmul [esp+470h+var_3FC]
.text:00401C6C faddp st(1), st
.text:00401C6E fld qword ptr [eax-38h]
.text:00401C71 fmul st, st(3)
.text:00401C73 faddp st(1), st
.text:00401C75 fstp qword ptr [esp+14h]
.text:00401C79 fld qword ptr [eax-50h]
.text:00401C7C fmul [esp+470h+var_434]
.text:00401C80 fld qword ptr [eax-48h]
.text:00401C83 fmul [esp+470h+var_414]
.text:00401C87 faddp st(1), st
.text:00401C89 fld qword ptr [eax-40h]
.text:00401C8C fmul [esp+470h+var_3F4]
.text:00401C90 faddp st(1), st
.text:00401C92 fld qword ptr [eax-38h]
.text:00401C95 fmul st, st(4)
.text:00401C97 faddp st(1), st
.text:00401C99 fstp [esp+470h+var_454]
.text:00401C9D fld qword ptr [eax-48h]
.text:00401CA0 fmul [esp+470h+var_40C]
.text:00401CA4 fld qword ptr [eax-50h]
.text:00401CA7 fmul [esp+470h+var_42C]
.text:00401CAB faddp st(1), st
.text:00401CAD fld qword ptr [eax-40h]
.text:00401CB0 fmul [esp+470h+var_3EC]
.text:00401CB7 faddp st(1), st
.text:00401CB9 fld qword ptr [eax-38h]
.text:00401CBC fmul st, st(5)
.text:00401CBE faddp st(1), st
.text:00401CC0 fstp [esp+470h+var_44C]
.text:00401CC4 fld qword ptr [eax-48h]
.text:00401CC7 fmul [esp+470h+var_404]
.text:00401CCB fld qword ptr [eax-50h]
.text:00401CCE fmul [esp+470h+var_424]
.text:00401CD2 faddp st(1), st
.text:00401CD4 fld qword ptr [eax-40h]
.text:00401CD7 fmul st, st(2)
.text:00401CD9 faddp st(1), st
.text:00401CDB fld qword ptr [eax-38h]
.text:00401CDE fmul st, st(6)
.text:00401CE0 faddp st(1), st
.text:00401CE2 fld qword ptr [esp+14h]
.text:00401CE6 fstp qword ptr [eax-50h]
.text:00401CE9 fld [esp+470h+var_454]
.text:00401CED fstp qword ptr [eax-48h]
.text:00401CF0 fld [esp+470h+var_44C]
.text:00401CF4 fstp qword ptr [eax-40h]
.text:00401CF7 fstp qword ptr [eax-38h]
.text:00401CFA jnz loc_4015B0 ; Проверка на конец цикла
.text:00401D00 fstp st(4)
.text:00401D02 fstp st(2)
.text:00401D04 fstp st
.text:00401D06 fstp st
.text:00401D08 fstp st
.text:00401D0A rdtsc
.text:00401D0C mov [esp+470h+var_3B4], eax
.text:00401D13 lea eax, [esp+470h+var_3B4]
.text:00401D1A add eax, 4
.text:00401D1D mov [eax], edx
.text:00401D1F mov ecx, ds:?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z ; std::endl(std::basic_ostream<char,std::char_traits<char>> &)
.text:00401D25 mov edx, [esp+470h+var_3B4]
.text:00401D2C sub edx, [esp+470h+var_3BC]
.text:00401D33 mov eax, [esp+470h+var_3B0]
.text:00401D3A sbb eax, [esp+470h+var_3B8]
.text:00401D41 push ecx
.text:00401D42 push 0
.text:00401D44 push 0F4240h
.text:00401D49 push eax
.text:00401D4A push edx
.text:00401D4B call __aulldiv
.text:00401D50 push edx
.text:00401D51 push eax
.text:00401D52 push ecx
.text:00401D53 mov ecx, ds:?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A ; std::basic_ostream<char,std::char_traits<char>> std::cout
.text:00401D59 push offset aTactsPerVector ; "Tacts per vector: "
.text:00401D5E push ecx
.text:00401D5F call sub_401E70
.text:00401D64 add esp, 0Ch
.text:00401D67 mov ecx, eax
.text:00401D69 call ds:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z ; std::basic_ostream<char,std::char_traits<char>>::operator<<(unsigned __int64)
.text:00401D6F mov ecx, eax
.text:00401D71 call ds:??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z ; std::basic_ostream<char,std::char_traits<char>>::operator<<(std::basic_ostream<char,std::char_traits<char>> & (*)(std::basic_ostream<char,std::char_traits<char>> &))
.text:00401D77 call ebx ; getchar
.text:00401D79 test esi, esi
.text:00401D7B jz short loc_401D86
.text:00401D7D push esi
.text:00401D7E call ??3@YAXPAX@Z ; operator delete(void *)
.text:00401D83 add esp, 4
.text:00401D86
.text:00401D86 loc_401D86: ; CODE XREF: _wmain+B6Bj
.text:00401D86 xor eax, eax
.text:00401D88 mov ecx, [esp+47Ch+var_1C]
.text:00401D8F mov large fs:0, ecx
.text:00401D96 pop ecx
.text:00401D97 pop edi
.text:00401D98 pop esi
.text:00401D99 pop ebx
.text:00401D9A mov esp, ebp
.text:00401D9C pop ebp
.text:00401D9D retn
.text:00401D9D _wmain endp
... c доп. мусором. Прокомментил, что мог. В цикле ТОЛЬКО умножение вектора на матрицу! Компилер сгенерировал кода в несколько раз больше, чем должен был. Работает это тоже медленнее в 10 раз...
PS про SSE2 знаю, но сейчас вот только под x87.