首页 > 开发 > C++ > 正文

CSAPP中对于寄存器的定义解释为什么和国内教科书中的不一致?

2017-09-11 21:19:09  来源: 网友分享

请问一下这里%eax不是累加寄存器吗?为什么这里右边写的是返回值?这是什么意思?还有被调用者保存和调用者保存是什么意思?,这里cl,dl,sil,dil中指的第几个参数又是神马意思呢?

解决方案

返回值、调用者说的是函数调用约定(calling convention)。

函数调用约定规定了函数如何返回传参,如何返回结果。

你的书上说的是某一种特定的函数调用约定,也就是特定的一种寄存器使用的方式。

bl,cl这些就是一个16位的寄存器的低8位,例如cx的另一半是ch,h和l分别是high和low的意思。