Почему компилятор генерирует пару инструкций push / pop?

Я скомпилировал приведенный ниже код с помощью компилятора VC ++ 2010:

__declspec(dllexport)
unsigned int __cdecl __mm_getcsr(void) { return _mm_getcsr(); }

и сгенерированный код был:

push ECX
    stmxcsr [ESP]
    mov EAX, [ESP]
pop ECX
retn

Почему имеется push ECX / pop Пара инструкций ECX ?

7
задан Mehrdad 14 January 2012 в 15:41
поделиться