|
|
1
2
RSI和RDI是 呼叫者已保存 在大多数调用约定中,这意味着函数可以随意使用它们而无需保存它们(因为调用者已经这样做了,如果它关心的话)。出于同样的原因,你不必在使用它们之前推送它们,在使用之后弹出它们,其他函数也不必这样做,所以你不能依赖这些寄存器来保留它们的值。 每次都需要重新加载它们。
|
|
|
2
0
经过一番挖掘,我发现原因是像rsi这样的寄存器是易变的,可能会随着时间的推移而丢失值,这就是为什么每次调用都必须重新设置每个寄存器。
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |