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

网站制作与管理技术...高端建设网站公司

网站制作与管理技术...,高端建设网站公司,网站备案 网站,做网站是不是太麻烦了说明 C语言等高级语言,根据是否需要返回到触发跳转代码的下一条代码,跳转有两种语句: 不需要返回,例如:if,goto,switch,while等语句。需要返回,例如:函数调…

说明

  • C语言等高级语言,根据是否需要返回到触发跳转代码的下一条代码,跳转有两种语句:
  1. 不需要返回,例如:if,goto,switch,while等语句。
  2. 需要返回,例如:函数调用,系统调用,SMC调用等。
  • A64汇编指令跳转也一样。

只跳转,不需要返回

  1. B指令
  • 跳转到某地址执行,无法返回。
  • 一般是函数内跳转,类似于C语言中while循环,if else等语句导致的跳转。
  • 示例:
int test(int a, int b)
{if (a) {return 0;}return a+b;
}* 对应汇编代码
test:sub sp, sp, #16str w0, [sp, 12] //将实参a保存到栈对应地址str w1, [sp, 8] //将实参b保存到栈对应地址ldr w0, [sp, 12] //从栈中将变量a load到寄存器w0中cmp w0, 0 //对应上面的if 判断 w0(变量a)是否为0beq .L4 // 为0,跳转到标签 .L4mov w0, 0 // 不为0,将w0赋值为0b   .L5 //不为0,跳转到 .L5,对应return 0
.L4:  //对应 a+b;ldr w1, [sp, 12]ldr w0, [sp, 8]add w0, w1, w0
.L5: // 对应 returnadd sp, sp, 16ret
  1. BR指令
  • 跳转到某寄存器保存的地址处运行,无法返回。
br x20 //跳转到通用寄存器x20指向地址运行

跳转后,需要返回

  • 跳转和返回是不同的指令,返回时,需要主动调用返回指令。
  • 指令详细动作如下:
  • 跳转指令,先将下一条指令的地址(即返回后执行的起始地址)保存到通用寄存器 lr (x30)中,再跳转目标地址。
  • 返回指令,跳转到x30寄存器所保存的地址执行。

跳转指令

  1. BL指令
  • 跳转到某地址执行,运行完可以返回。
  • 一般用于不同函数的跳转,类似于C语言中的函数调用,如:
  • 语法
bl 0x100cfa754
  • 示例
int test()
{return 0;
}int main()
{test();return 0;
}* 对应汇编
test:mov     w0, 0ret  // 返回到 bl test 下一条指令执行
main:stp     x29, x30, [sp, -16]!add     x29, sp, 0bl      test  //跳转到 test 函数地址执行mov     w0, 0ldp     x29, x30, [sp], 16ret
  1. BLR指令
  • 跳转到某寄存器保存的地址处运行,运行完可以返回。
br x20 //跳转到通用寄存器x20指向地址运行

返回指令

  1. ret
  • 主动调用后,跳转到x30寄存器所保存的地址执行。
  • 语法
ret
http://www.yayakq.cn/news/579723/

相关文章:

  • 做网站项目后台的网站建站费用多少钱
  • 网站建设需要注意什么哪些保险哪家好
  • 可以网上做单的网站网站翻页代码
  • 如何制作外贸网站 wordpress深圳东门老街附近景点
  • 南昌建网站那家好轻极免费版wordpress主题
  • 计算机应用技术(网站开发)做专业搜索引擎优化
  • 全国建设工程执业资格注册中心网站天元建设集团有限公司衡阳分公司
  • 杭州模板建站wordpress开源吗
  • 提升网站建设中国禹路由网站建设中
  • 赣州做网站的公司有哪家好口碑好网站制作公司哪家好
  • 网站服务器搬家百度代理服务器
  • 网站服务器内部错误是怎么回事做汽配网站
  • 怎么推广自己的网站链接网站怎么做才能赚钱
  • 给公司做网站多钱甘肃省建设厅官方网站造价总站
  • 网站制作费用价格表商城微发布官网
  • 南通网站优化公司滴滴出行app开发公司
  • 创建网站收费wordpress把站
  • 网站结构 seo商标注册网官网查询中国商标网
  • 网站后台地址修改网站建设案例平台
  • 苏州网站seo优化服装公司 网站怎么做
  • 招聘网站建设人员的要求临沂建网站哪家好
  • j2ee做网站影视网站
  • 石大网页设计与网站建设客观题wordpress 首页调用tag
  • 如何建立个人网站做mp3链接的网站
  • 域名注册空间网站wordpress timer
  • 自己做电影下载网站门户网站开发的价格
  • 达浒镇网站建设公司家装设计师个人简介
  • app网站建设教程视频教程wordpress 控制台
  • 网站开发前端设计wordpress添加背景
  • 如何做电影网站推广现在可以做网站么