当前位置: 首页 > news >正文

金阊公司网站建设电话河南省住房和建设厅网站首页

金阊公司网站建设电话,河南省住房和建设厅网站首页,株洲手机网站建设,西安视频拍摄制作公司堆栈是一种后进先出#xff08;LIFO#xff09;的队列#xff0c;用于存储函数调用时的临时数据和现场数据。堆栈指针sp#xff08;寄存器2#xff09;是一个普通的RISC-V寄存器#xff0c;按照惯例#xff0c;指向堆栈的顶部。堆栈从高地址向低地址增长#xff0c;即当…堆栈是一种后进先出LIFO的队列用于存储函数调用时的临时数据和现场数据。堆栈指针sp寄存器2是一个普通的RISC-V寄存器按照惯例指向堆栈的顶部。堆栈从高地址向低地址增长即当需要更多的临时空间时堆栈指针sp减小。 函数调用时如果函数参数和局部变量很多寄存器放不下需要开辟堆栈空间存储。中断发生时堆栈空间用于存放当前执行程序的现场数据下一条指令地址、各种缓存数据以便中断结束后恢复现场。开辟和释放堆栈空间的方法是调整堆栈指针sp的值。 函数调用时为了避免函数修改除了a0之外的其他寄存器的值造成主程序的寄存器内容被破坏需要在函数执行前将需要修改的寄存器的值保存到堆栈上然后在函数返回前将它们从堆栈上恢复。具体的步骤是 在堆栈上分配空间来存储一个或多个寄存器的值将寄存器的值存储到堆栈上执行函数使用寄存器从堆栈上恢复寄存器的原始值释放堆栈空间 堆栈通常颠倒存储在存储器中使得堆栈顶部实际上是最低地址并且堆栈向下朝向较低存储器地址增长。 这称为降序堆栈。 一些架构还允许向上的堆栈向更高的内存地址增长。 堆栈指针sp通常指向堆栈上的最顶层元素 这称为全栈。 某些体系结构例如 ARM还允许空堆栈其中 sp 指向堆栈顶部之外的一个字。 RISC-V架构定义了函数传递变量和使用堆栈的标准方式以便不同编译器开发的库可以互操作。 它指定了一个完整的降序堆栈。 RISC-V指定的降序堆栈如下图所示  上图代码示例展示了一个改进的diffofsums函数它在修改t0,t1和s3寄存器之前将它们保存到堆栈上并在返回前将它们从堆栈上恢复。这样可以避免破坏调用者的寄存器内容。 下图展示了在调用代码示例中的diffofsums函数之前期间和之后的堆栈情况。堆栈一开始在0xBEF0F0FC。diffofsums通过将堆栈指针sp减少12来为三个字分配堆栈空间。然后它将t0,t1和s3寄存器中的当前值存储在新分配的空间中。它执行函数的其余部分改变这三个寄存器的值。在函数结束时diffofsums从堆栈上恢复这些寄存器的值释放它的堆栈空间并返回。当函数返回时a0保存了结果但没有其他副作用t0,t1,s3和sp与函数调用前具有相同的值。 一个函数为自己分配的堆栈空间称为它的堆栈帧stack frame。diffofsums的堆栈帧有三个字深。模块化原则告诉我们每个函数只应访问自己的堆栈帧而不是属于其他函数的帧。
http://www.tj-hxxt.cn/news/230749.html

相关文章:

  • txt怎么做网站农产品电商网站的建设需求
  • 一般的网站需要多大的空间邢台视频推广
  • 主机屋免费网站空间做类似淘宝一样的网站
  • 怎样做免费网站的推广wordpress 改logo
  • 站长工具网站备案网络营销试卷
  • 网站改版的目的网站建设企业服务
  • 自适应型网站建设多少钱公司网站开发 建设
  • 钢材销售都在哪个网站做wordpress项目需求
  • 陕西网站建设宣传方案云南购物网站建设
  • 一个ip上绑多个网站wordpress难度指数
  • 博物馆设计网站推荐wordpress增加产品
  • 游戏网站建设的策划书北京工商登记服务平台
  • 做网站jijianjianzhan一般网站模块
  • 宁波网站建设运营织梦网站名称
  • 外贸仿牌网站微信公众号创建流程
  • p2p网站建设制作wordpress需要懂什么
  • 佛山市外贸网站建设价格中建集团的重要事件
  • 网站规划书包括哪些方面wordpress个性化
  • 网站创建知识海康域名网站
  • 崇义网站建设公众号登录入口在哪
  • 网站如何去分析windos 下做网站工具
  • 找i满洲做卖房广告不收费的网站网页设计需要学什么语言
  • 泰安网站开发制作公司规划院网站建设书
  • 网站开发与iso9001关系怎么做网站编程
  • 呼和浩特 的网站建设网站建设优化过程中的优化策略
  • 网站开发方向wordpress活动插件
  • 动力启航做网站校园网站建设素材
  • 世纪兴网站建设wordpress怎么放图片不显示
  • 海口免费自助建站模板淘宝关键词优化推广排名
  • 东莞高端网站建设哪个好wordpress侧栏导航栏