Dear All, In class, we observed that gcc compiled accesses to local variables (allocated on the stack) via offsets to ESP, rather than via offsets to EBP (as, e.g., in the Tiny Guide, Fig. 8, and in many tutorials on disassembly). This way has, in fact, become default since gcc 4.6 for Intel platforms, possibly as a matter of conversion with the 64-bit ABI, https://gcc.gnu.org/gcc-4.6/changes.html : "The default setting (when not optimizing for size) for 32-bit GNU/Linux and Darwin x86 targets has been changed to -fomit-frame-pointer. The default can be reverted to -fno-omit-frame-pointer by configuring GCC with the --enable-frame-pointer configure option." To see what options your GCC compiler has been built with, do "gcc -v". Read about these options: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html https://gcc.gnu.org/onlinedocs/gcc/Invoking-GCC.html#Invoking-GCC You will find a discussion here: http://stackoverflow.com/questions/6099919/why-does-gcc-drop-the-frame-pointer-on-64-bit My version of gcc is 4.6.1. It produces the older-style EBP-relative when used with -Os (optimize for size). Thank you, --Sergey