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

北京丰台网站建设深圳网站建设信科网络

北京丰台网站建设,深圳网站建设信科网络,搜索引擎友好的网站有哪些特点,做网站后面维护要收钱吗高级语言支持函数(也称为过程或子程序)来重用通用的代码,以及使程序更加模块化和可读。函数可以有输入,称为参数,和输出,称为返回值。函数应该计算返回值,并且不产生其他意外的副作用。 在一个…

高级语言支持函数(也称为过程或子程序)来重用通用的代码,以及使程序更加模块化和可读。函数可以有输入,称为参数,和输出,称为返回值。函数应该计算返回值,并且不产生其他意外的副作用。

在一个函数调用另一个函数时,调用者(caller)和被调用者(callee)必须约定好在哪里放置参数和返回值。在RISC-V程序中,惯例是调用者在进行函数调用前将最多八个参数放在寄存器a0到a7中,而被调用者在完成前将返回值放在寄存器a0中。遵循这个惯例,两个函数都知道在哪里找到参数和返回值,即使调用者和被调用者是由不同的人编写的。

被调用者不能干扰调用者的行为。这意味着被调用者必须知道在完成后返回到哪里,而且不能破坏调用者需要的任何寄存器或内存。调用者在使用跳转并链接(jump and link)指令(jal)跳转到被调用者时,同时将返回地址存储在返回地址寄存器ra中。被调用者不能覆盖任何架构状态或内存,因为这些是调用者依赖的。具体来说,被调用者必须保持保存寄存器(s0−s11)、返回地址(ra)和堆栈(一部分内存用于临时变量)不变。

 如上实例:

上图展示了主函数(main)调用简单函数(simple)的过程。main是调用者,simple是被调用者。simple函数没有输入参数,也没有返回值,它只是返回给调用者。在 Example中,每条RISC-V指令的左边给出了示例指令地址。jal和jr ra是函数调用和返回所必需的两条指令。主函数通过执行jal simple来调用simple函数,这个指令做了两件事:它跳转到目标指令的地址,即simple所在的地址(0x0000051C),并且把返回地址,即jal后面的指令的地址(在这个例子中是0x00000304)存储在返回地址寄存器(ra)中。程序员可以指定哪个寄存器被写入返回地址,但默认是ra。simple函数立即通过执行jr ra来返回,这个指令跳转到ra寄存器中保存的指令地址。主函数然后继续在这个地址(0x00000304)执行

RISC-V的约定是,函数使用a0到a7这八个寄存器来传递输入参数,其中a0是最左边的参数,a7是最右边的参数。函数使用a0寄存器来返回输出值。如果函数有多于八个的输入参数,那么多余的参数会被放在栈上。

上例展示了一个名为diffofsums的函数,它接收四个输入参数,并返回一个输出值。result是一个局部变量,我们选择把它保存在s3寄存器中。
根据RISC-V的约定,调用函数(main)在调用被调用函数(diffofsums)之前,把函数参数从左到右放入输入寄存器a0到a7中。被调用函数(diffofsums)把返回值存储在返回寄存器a0中。当函数返回时,调用函数(main)可以从a0中读取返回值。 

http://www.yayakq.cn/news/904187/

相关文章:

  • 个人网站建设优化怎样php网站建设
  • 福建设备公司网站东营网站建设推广
  • 做公司网站建设价格搭建网页视频教程
  • 网站建设捌金手指花总二五wordpress+相应太慢
  • 浙江商会网站建设策划方案平面设计师是做什么
  • net网站建设入门教程到国外网站上做兼职翻译
  • wordpress资源成都seo整站
  • 做网站用什么代码编写福建省品牌建设促进会网站
  • 中国人做暧暧视频网站网页游戏传奇世界
  • 网站建设定制设计怎么做一个单页的网站
  • 建设网站企业银行优化推广联盟
  • 网站做备案需要多久店铺代运营服务
  • 网站文章伪原创怎么做杭州有哪些软件公司
  • 网站建设推进会看公狍和女人做爰网站
  • 2万块建一个网站贵吗下载的网站模板怎么用
  • 台州本地做网站的哈尔滨网站建设公司
  • 滨江道做网站公司贤邦网站建设app开发
  • 淘宝做女鞋在哪个网站找货自己搭建环境建设网站
  • 微网站价格表网站毕设怎么做
  • 需要做个网站阿里云部署网站
  • 凡科网站建站后 怎么编辑自己的代码源wordpress 微站
  • 江苏建设厅网站更新中国建筑集团有限公司500强排名
  • 网站 设计工具代理软件哪个好
  • 益阳网站设计公司做网站空间商需要办什么手续
  • 医院网站建设费用系统安装两个wordpress
  • 如何把网站做的和别人一样北京广告
  • 网站推广如何收费简述织梦网站上传步骤
  • 网站服务器一个多少钱高端网站建设 j磐石网络
  • 深圳网站优化方式虚拟房间设计app
  • 网站每年都要续费吗合肥网站开发培训学校