Tag: 红色区域

在C ++内联asm中使用基指针寄存器

我希望能够在内联asm中使用基指针寄存器( %rbp )。 一个玩具的例子就是这样的: void Foo(int &x) { asm volatile ("pushq %%rbp;" // 'prologue' "movq %%rsp, %%rbp;" // 'prologue' "subq $12, %%rsp;" // make room "movl $5, -12(%%rbp);" // some asm instruction "movq %%rbp, %%rsp;" // 'epilogue' "popq %%rbp;" // 'epilogue' : : : ); x = 5; } int main() { int x; Foo(x); […]