首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何理解易失性和非易失性寄存器?

如何理解易失性和非易失性寄存器?
EN

Stack Overflow用户
提问于 2015-08-14 04:11:40
回答 2查看 10.3K关注 0票数 10

通过调用集合,CPU寄存器可以划分为易失性和非易失性,单词volatile的含义是如何表示分类的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-14 04:28:02

来自http://www.techopedia.com/definition/8591/non-volatile-register

易失性寄存器的内容可能在子例程调用中发生变化。

非易失性寄存器是一种寄存器的类型,其内容必须在子程序调用中保留。每当非易失性寄存器的值被例程更改时,必须在更改寄存器之前将旧值保存在堆栈中,并且在返回之前必须还原该值。寄存器类似于变量,只是寄存器的数量是固定的。每个寄存器都是CPU中保存单个值的唯一位置。寄存器是实现数学函数(如加法、乘法、减法等)的唯一场所。寄存器通常保存引用内存的指针。在内存和寄存器之间移动值是一个常见的现象。

票数 11
EN

Stack Overflow用户

发布于 2017-04-09 04:14:44

换句话说,易失性寄存器是调用者保存的寄存器,而不是被叫保存的寄存器。请参阅https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019#callercallee-saved-registers

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32002157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档