小编the*_*box的帖子

x86汇编 - 为什么[e] bx保留在调用约定中?

我注意到很多调用约定都坚持为被调用者保留[e] bx.

现在,我可以理解为什么他们会保留像[e] sp或[e] bp这样的东西,因为这会弄乱被调用者的堆栈.我也可以理解为什么你可能想要保留[e] si或[e] di,因为如果他们不是特别小心的话可以打破被调用者的字符串指令.

但是[e] bx?究竟是什么对[e] bx如此重要?是什么让[e] bx如此特殊以至于多个调用约定都坚持在整个函数调用中保留它?

是否有某种微妙的错误/陷阱可能会因为[e] bx的混乱而产生?

修改[e] bx对被调用者的影响是否比修改[e] dx或[e] cx更大?

我只是不明白为什么这么多的召唤惯例单独列出[e] bx进行保存.

x86 assembly calling-convention

5
推荐指数
3
解决办法
924
查看次数

标签 统计

assembly ×1

calling-convention ×1

x86 ×1