iOS汇编基础(二)寄存器

article/2025/1/11 9:55:24
以arm64为例

 xcode调试汇编

1. xcode 查看运行时的汇编代码
debug -> debug workflow -> always show disassembly
2. Xcode改变pc值
register write pc 0x1005d6928

3. 单步运行一步汇编代码:ni
4. 读取某个寄存器
(lldb) register read x0x0 = 0x0000000000000000
(lldb) 

5. 进入某个汇编函数
按住control+Xcode的下箭头键
6. 新建汇编文件或内嵌汇编代码
新建:command+N 然后选择assembly file
内嵌:
int main(int argc, char * argv[]) {asm("mov w0,#0x0\n""adds w0,w0,#0x1\n");return 0;
}

一 通用寄存器

  • ARM64拥有有31个64位的通用寄存器 x0 到 x30,这些寄存器通常用来存放一般性的数据,称为通用寄存器(有时也有特定用途)
  • 那么w0 到 w28 这些是32位的. 因为64位CPU可以兼容32位.所以可以只使用64位寄存器的低32位.
  • 比如 w0 就是 x0的低32位!
Xcode查看寄存器:

  • 通常,CPU会先将内存中的数据存储到通用寄存器中,然后再对通用寄存器中的数据进行运算。
  • 假设内存中有块红色内存空间的值是3,现在想把它的值加1,并将结果存储到蓝色内存空间

   CPU首先会将红色内存空间的值放到X0寄存器中:mov X0,红色内存空间
  然后让X0寄存器与1相加:add X0,1
  最后将值赋值给内存空间:mov 蓝色内存空间,X0


二 pc寄存器(program co


http://chatgpt.dhexx.cn/article/RWgL8XaG.shtml

相关文章

Unity简单操作: DoTween的onCom..回调函数里面执行错误 不返回哪条函数出错的解决方案,与iOS平台为什么需要勾选安全模式

目录 DoTween的onCom..回调函数里面执行错误 不返回哪条函数出错的解决方案 当然 在iOS平台 测试好了的话 需要勾选它,不然iOS机制原因 会导致onComxx回调 没有执行! DoTween的onCom..回调函数里面执行错误 不返回哪条函数出错的解决方案 如下图&…

iOS汇编基础(一)

一 高级语言运行过程 二 汇编语言的特点 可以直接访问、控制各种硬件设备,比如存储器、CPU等,能最大限度地发挥硬件的功能能够不受编译器的限制,对生成的二进制代码进行完全的控制目标代码简短,占用内存少,执行速度快汇编指令是机器指令的助记符,同机器指令一一对应。每一…

STM32cubIDE 黑色主题_主题 | 喵咪旅行日志 VX可爱系列主题 BySasa

今天带来一款Sasa小宝贝儿投稿的可爱系列VX主题,应该也算是可爱系列里偏向简单的了。 鉴于前几次留言总是碰到隔着网线就不需要情商的DS。在前边先申明清楚吧,审美各有差异,不喜欢不用就好了。如果没有素质去diss投稿者作品,那就别…

tp框架怎么连接mysql_tp框架知识 之(链接数据库和操作数据)

框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下。 一、链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 我这里是这样的文件路径 (2)打开这个config.php文…

thinkphp6开发cms项目之安装tp框架

1.安装thinkphp6框架: composer create-project topthink/think tp需要安装的扩展: composer require topthink/think-multi-app //多应用 composer require topthink/think-view //视图 composer require topthink/think-captcha //验证码2.如果运行ph…

我的服务器开发之路-安装thinkphp

http://www.thinkphp.cn/down/framework.html 下载thinkphp 我这边下载的是thinkphp5.0.3核心版 然后,打开xftp 4,将下载的thinkphp5.0.3的压缩包解压到tp503目录,并上传到/data/www/web目录 然后,打开浏览器,输入 域…

tp框架与mysql_TP框架对数据库的基本操作

数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一、链接数据库 (1)找到…

php tp框架,TP框架

tp:thinkphp框架,它也是一个轻量级的框架,它有中文社区,中文的帮助文档。它是国人开发的框架。 Thinkphp框架最初是由于企业级网站的开发和web网站的开发诞生的,最初诞生在2006年,它叫fsc,2007年正式更名为thinkphp,它…

TP5框架

第一次写博客 因为自己的技术是在有点差,所以想提升一下自己的技术,所有尝试写下博客,这次是关于TP5框架的, 开发PHP肯定要环境,手搭PHP不是不行,只是切换版本的时候特别麻烦,所以我下载了一个集成环境,用的是PHPstudy,小伙伴们可以自行去下载 ###我下载的是TP5.0完整版本,压…

Oracle轻量级客户端下载,Oracle轻量级客户端使用,Oracle轻量级客户端配置,本地同时安装服务器端和客户端,并实现plsql developer连接

Oracle轻量级客户端,不需要安装,绿色版,可以用于本地或者远程数据库连接,包含了基本的sqlplus,数据泵等功能。 官方解释如下:https://www.oracle.com/technetwork/database/database-technologies/instant…

使用ThinkPhp6框架搭建的管理系统

项目介绍 一款 PHP 语言基于 ThinkPhp6.x、Layui、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件&am…

php 命令安装tp5,tp5.1框架的下载与安装方法步骤(图文)

大家可以都知道啊,tp框架5.1之前的版本都是可以在thinkphp的官网进行下载压缩包来安装框架的,那么在从tp5.1开始啊,就取消了下载压缩包安装的方法,那么我们如何进行下载呢? tp5.1的手册中开始就有提到tp5.1框架有两种安…

TP5.0框架上手准备

活到老学到老,祝上手顺利 1:首先需要安装并调试 方法一:在官网:[地址](http://www.thinkphp.cn),下载完整版的TP框架放在对应的www目录下; 方法二:利用composer进行安装,下载安装composer后,在DOS窗口切换到对应目录下输入&#x…

tp6企业级开发框架

项目介绍 一款 PHP 语言基于 ThinkPhp6.x、Layui、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件&am…

K8S云原生环境渗透学习

转载至​​​​​​K8S云原生环境渗透学习 - 先知社区 K8S云原生环境渗透学习 前言 ​ Kubernetes,简称k8s,是当前主流的容器调度平台,被称为云原生时代的操作系统。在实际项目也经常发现厂商部署了使用k8s进行管理的云原生架构环境&#x…

day3----部署duboo微服务值部署zk和Jenkins(3)

部署zk集群 Zookeeper是Dubbo微服务集群的注册中心 它的高可用机制和k8s的etcd集群一致 由java编写,所以需要jdk环境主机名角色iphdss7-11.host.comk8s代理节点1,zk110.4.7.11hdss7-12.host.comk8s代理节点2,zk210.4.7.12hdss7-21.host.comk…

项目系统配置软件

(一)配置阿里镜像源################################################################################### 打开虚拟机跟随下面的连接操作即可将linux部署到阿里https://developer.aliyun.com/mirror/centos?spma2c6h.13651102.0.0.3e221b11h7vSuM (二)为linux安装jdk(windo…

一份Git的全总结

文章目录 励志一、Git学习路线二、Git安装三、理论基础(1)Git的发展(2)Git 是什么?(3)三种状态(4)Git 保证完整性(5)Git工作流程图(6&…

java工程师-面试知识点总结

目录 [x] 一、Java基础(语言、集合框架、OOP、设计模式等)[x] 二、Java高级(JavaEE、框架、服务器、工具等)[x] 三、多线程和并发[x] 四、Java虚拟机[x] 五、数据库(Sql、MySQL、Redis等)[x] 六、算法与数据结构[x] 七、计算机网络[x] 八、操作系统(OS基础、Linux等)[x] 九、其…

RSA的公钥和私钥

阮一峰的网络日志 http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密? 我查了好多资料还是不懂。头晕了 rsa的加密…