小编Cha*_*lle的帖子

x86-64 GNU汇编

在调查崩溃时,我遇到了以下代码片段,并立即发现该mov指令实际上应该是movq为了获得正确的64位寄存器操作.

#elif defined(__x86_64__)
    unsigned long rbp;
    __asm__ volatile ("mov %%rbp, %0" : "=r" (rbp));
    sp = (void **) rbp;
#else
Run Code Online (Sandbox Code Playgroud)

除此之外,我还发现文档声称rbpx86-64 的寄存器是通用的,不包含当前帧的地址.我还发现了声称rbp包含当前帧地址的文档.有人可以澄清吗?

assembly gnu x86-64

2
推荐指数
1
解决办法
1737
查看次数

标签 统计

assembly ×1

gnu ×1

x86-64 ×1