skompilowany kod poniżej z VC++ 2010 kompilatora:Dlaczego kompilator generuje parę instrukcji push/pop?
__declspec(dllexport)
unsigned int __cdecl __mm_getcsr(void) { return _mm_getcsr(); }
i wygenerowany kod był:
push ECX
stmxcsr [ESP]
mov EAX, [ESP]
pop ECX
retn
Dlaczego istnieje instrukcja para push ECX
/pop ECX
?
D'oh ... całkowicie to przegapiłem. :) Wielkie dzięki. – Mehrdad
A jak to wyjaśnia pop? – CodesInChaos
@CodeInChaos: Przywracanie wskaźnika stosu? – Mehrdad