欢迎光临,我们是一家专注中小型企业营销推广服务的公司!

咨询热线:400 9868 577
淮南兰乔电子商务有限公司
新闻中心News
淮南兰乔电子商务有限公司

汇编(五)

作者:蓮花仙者 | 点击: | 来源:蓮花仙者
2404
2025
在上一篇文章中,我们已经探讨了内存读写指令和栈的操作。接下来,让我们通过一个Demo来进一步了解这些概念。首先,我们需要新建一个项目(单视图的空项目),可以通过快捷键CMD+SHIFT+N来实现。请确保选择真机进行调试,因为模拟器的汇编指令可能会有所不同。然后,我们通过CMD+N新建一个文件,选择AssemblyFile(也可以选择Empty文件,并将后缀名改为.s)。接着,我们在新建的汇编文件中编写一些汇编代码。然后,我们需要回到main.m文件中进行设置。运行这个程序后,你会发现它进入了...

在上一篇文章中,我们已经探讨了内存读写指令和栈的操作。接下来,让我们通过一个demo来进一步了解这些概念。

首先,我们需要新建一个项目(单视图的空项目),可以通过快捷键CMD + SHIFT + N来实现。请确保选择真机进行调试,因为模拟器的汇编指令可能会有所不同。

然后,我们通过CMD + N新建一个文件,选择Assembly File(也可以选择Empty文件,并将后缀名改为.s)。

接着,我们在新建的汇编文件中编写一些汇编代码。

点创DOidea网上书店

一套专业的网上书店程序,可以作为新华书店及大中型书店网上销售的首选,满足在线支付及汇款确认机制。功能简介:图书分类、查询、排行、最新、特价、关注排行、销售排行,新闻系统、汇款确认机制、求购书籍、在线咨询、热门图书定义、全站广告后台管理、后台采用WEBEDIT编辑器、集成"支付宝"在线支付等...v3.5版特殊功能说明(前台):1.自带5种风格主题。2.友好的页面提示(对网站全部

下载

然后,我们需要回到main.m文件中进行设置。

运行这个程序后,你会发现它进入了死循环。为什么会这样呢?让我们通过接下来的两条指令和一个寄存器来解答这个问题。

blret是我们需要关注的两条指令。bl 标号会将下一条指令的地址存入lr(即x30)寄存器,然后跳转到标号处执行指令。ret指令默认使用lrx30)寄存器中的值,通过底层指令提示CPU将其作为下一条指令的地址。x30寄存器存储的是函数的返回地址。当ret指令执行时,它会寻找x30寄存器中保存的地址值。

通过以上步骤和解释,我们可以更好地理解为什么程序会进入死循环,并掌握如何使用blret指令以及x30寄存器来控制程序的流程。

相关推荐
我要咨询做网站
成功案例
建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 400 9868 577
    info#ilanqiao.cn
Hi,Are you ready?
准备好开始了吗?
那就与我们取得联系吧

咨询送礼现在提交,将获得兰乔电子商务策划专家免费为您制作
价值5880元《全网营销方案+优化视频教程》一份!
下单送礼感恩七周年,新老用户下单即送创业型空间+域名等大礼
24小时免费咨询热线400 9868 577
合作意向表
您需要的服务
您最关注的地方
预算

直接咨询