我是汇编语言的初学者,并注意到编译器发出的x86代码通常在释放/优化模式下保持帧指针,当它可以使用EBP寄存器时.
EBP
我理解为什么帧指针可能使代码更容易调试,并且如果alloca()在函数内调用则可能是必要的.但是,x86只有很少的寄存器,并使用其中两个寄存器来保存堆栈帧的位置,当一个就足够了,对我来说没有意义.为什么即使在优化/发布版本中省略框架指针也是一个坏主意?
alloca()
performance x86 assembly
我是MASM的新手.我对这些指针寄存器感到困惑.如果你们帮帮我,我真的很感激.
谢谢
x86 assembly callstack cpu-architecture masm32
assembly ×2
x86 ×2
callstack ×1
cpu-architecture ×1
masm32 ×1
performance ×1