PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ASM Stack-boundaries


Tiamat
2010-10-03, 14:07:01
Hi,
ich beschäftige mich zur Zeit wieder mit Assemblerprogrammierung.
Vor kurzem bin ich auf was gestoßen, was ich vorher nicht kannte.
und zwar Stack-Boundaries.

Der Stack kann also entweder 2*n byte ausgerichtet sein. Bei x86 habe ich gesehen, GCC kompiliert ohne Angabe default mit 4byte Ausrichtung, für double/float wird 8 empfohlen und bei größere Strukturen soll der Stack mit 16byte ausgerichtet werden. Hat man weitere Parameter, die das Boundary nicht ausfüllen, soll man mit 0 padden. Ok schön und gut, aber wozu ist das eigentlich gut?

Gruß
Tiamat

Trap
2010-10-03, 16:30:32
Unaligned loads/stores sind potentiell langsamer.

Steht im Detail erklärt in http://www.intel.com/Assets/PDF/manual/248966.pdf und/oder http://support.amd.com/us/Processor_TechDocs/40546-PUB-Optguide_3-11_5-21-09.pdf

Tiamat
2010-10-03, 17:12:42
Super, danke.