Diskussion:Codeoptimierung
Aus Lowlevel
PUSHA/POPA
"Ist es schneller jedes Register einzeln zu pushen, oder besser pusha?" – ich denke schon, dass pusha/popa schneller sind, die Frage ist für mich eher, ob es schneller ist, sieben Register (eax, ebx, ecx, edx, esi, edi, ebp) zu pushen/popen statt acht (also mit esp) mit pusha/popa auf einmal... --XanClic 18:02, 19. Feb. 2010 (CET)
- Stimmt, daran habe ich noch gar nicht gedacht. Ich selbst nehme immer pusha/popa, aber eher aus Faulheit, weil ich nicht jedes Register einzeln hinschreiben will :) --Bjork 18:35, 19. Feb. 2010 (CET)
- Laut AMD braucht ein pusha gerade einmal doppelt solange wie ein einfaches push, pusha ist daher wohl um einiges schneller(das Gleich gilt für pop)--MNemo 18:47, 19. Feb. 2010 (CET)
- Deshalb ist es ja noch "die Frage" und keine Tatsache. ;-) --XanClic 20:42, 19. Feb. 2010 (CET)
Es sind nicht 7 Register, sondern 8 Register die auf den Stack (PUSHA) gebracht bzw. vom Stack (POPA) geholt werden.
Siehe: http://www.coding-wiki.de/wiki/index.php?title=ASM/PUSHA --ScollPi 18:41, 19. Feb. 2010 (CET)