首页 > 解决方案 > 为什么堆栈上的地址要远 8 个字节?

问题描述

有这个 mov 指令:

        0040064e 89 7d dc        MOV        dword ptr [RBP + local_2c],EDI

EDI 存储来自 main 函数的 argc。我想通过查看 rbp - 0x2c 来检查它的值:

(gdb) x/x $rbp-0x2C
0x7ffffffee1c4: 0x00000000

如您所见,那里什么都没有。问题是 - argc 值是 8 个字节:

(gdb) x/x $rbp-0x2C+0x8
0x7ffffffee1cc: 0x00000002

我的问题是——为什么会这样?

标签: assemblyx86-64disassemblycallstackstack-frame

解决方案


推荐阅读