《深入理解计算机系统》中寄存器保存的一个不理解的问题?

 

问题描述:

在书中有这么一句话:

根据惯例,寄存器eax,edx,ecx被划分为调用者保存(caller save)寄存器。当过程P调用Q时,Q可以覆盖这些寄存器,而不会破坏P所需要的数据。

我感到有些奇怪,Q覆盖了这些调用者保存寄存器之后,那怎么恢复值?难道在覆盖调用者保存寄存器之前被压入了调用者的栈帧里面?


 

第 1 个答案:

caller save的意思是保存这个值的责任在caller (P), 如果P需要则应该自己保存到栈上。


看网络上很多HTML模板中都有3d轮播的样式,只不过是用jscss写的,挺复杂的,不知道在bootstrap中如何实现这种效果