Тут смотрю код дизассемблированный. И не догоняю, там явно одна лишняя вообще ни чего не делающая инструкция.
сначала mov ptr , eax
потом mov eax,ptr ;/// Еах же не разу не изменилась после первой инструкции.
23: A[] a = new A[10]; // A структура
01960889 B9 FA 14 71 01 mov ecx,17114FAh
0196088E BA 0A 00 00 00 mov edx,0Ah
01960893 E8 94 29 DA FF call CORINFO_HELP_NEWARR_1_VC (0170322Ch)
01960898 89 45 B0 mov dword ptr [ebp-50h],eax ; ЧТО ЭТО
0196089B 8B 45 B0 mov eax,dword ptr [ebp-50h] ; <b>ЗАЧЕМ???</b> eax же не изменится
0196089E 89 45 C0 mov dword ptr [ebp-40h],eax