美文网首页
ARM64汇编学习_2_寄存器、常用指令、堆栈平衡

ARM64汇编学习_2_寄存器、常用指令、堆栈平衡

作者: 一杯开水 | 来源:发表于2019-11-07 00:05 被阅读0次

1. 寄存器;

2. 常用指令;

3. 函数的堆栈;


        PS:学习ARM64汇编时、一定要用IPhone5S及以上的真机调试程序。模拟器为X86汇编。


1. 寄存器;

        1.1 通用寄存器:可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果;通用寄存器的长度取决于机器字长

image

        1.2 程序计数器:程序计数器是计算机处理器中的寄存器,它包含当前正在执行的指令的地址(位置)。当每个指令被获取,程序计数器的存储地址加一。在每个指令被获取之后,程序计数器指向顺序中的下一个指令。当计算机重启或复位时,程序计数器通常恢复到0。

image

        1.3 堆栈指针:堆栈指针总是指向栈顶位置。一般堆栈的栈底不能动,所以数据入栈前要先修改堆栈指针,使它指向新的空余空间然后再把数据存进去,出栈的时候相反。堆栈指针,随时跟踪栈顶地址,按"先进后出"的原则存取数据。

                       栈 :是一种特殊的线性表,是一种只允许在表的一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。表的另一端称为栈底。栈顶的当前位置是动态的,对栈顶当前位置的标记称为栈顶指针。当栈中没有数据元素时,称之为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为退栈或出栈。

image

        1.4 链接寄存器:当调用一个函数时,返回地址被自动保存到链接寄存器,在函数返回时有效。这使得快速进入和返回“叶”函数(不调用其它函数的函数)成为可能。如果函数是分支的一部分(即函数中又调用另一个函数),则链接寄存器必须入栈。

image

        1.5 程序状态寄存器:

image cpsr寄存器结构 cpsr寄存器标志位解释

2. 常用指令;

        2.1 mov:

image

        2.2 add

image

        2.3 sub

image

        2.4 cmp

image

        2.5 b

image

        2.6 bl

image

        2.7 条件域

image

        2.8 内存操作

image

3. 函数的堆栈;

        3.1 函数分类:

            · 叶子函数:不调用其他函数的函数称为叶子函数;

            · 非叶子函数: 调用其他函数的函数称为非叶子函数;

        3.2 叶子函数的堆栈平衡;

        3.3 非叶子函数的堆栈平衡;


(PS : 其中有部分章节是从前人的文章中搬运过来整理而成,这些文章里已经对部分知识点解释的很清楚明了了,我也没有更好的表达方式,所以站在巨人的肩膀上,我只是一个整理者加了部分自己的理解。)

相关文章

  • ARM64 学习

    iOS汇编 真机 arm64汇编,GNU 模拟器 x86, AT&T 汇编 寄存器 指令 堆栈 通用寄存器 64b...

  • ARM64汇编学习_2_寄存器、常用指令、堆栈平衡

    1. 寄存器; 2. 常用指令; 3. 函数的堆栈; PS:学习ARM64汇编时、一定要用IPhone5S及以上的...

  • 4. ARM寄存器

    1. 简书-ARM寄存器讲解2. ARM寄存器解析3. ARM64汇编-寄存器和指令4. 堆栈基础-windows...

  • IOS arm64常用的汇编

    导论 生成汇编文件 寄存器 arm64 汇编条件域 arm64 汇编指令 总结 1. 生成汇编文件 2. 寄存器 ...

  • iOS arm64汇编入门

    想要学习arm64汇编,需要从以下三个方面入手,寄存器、指令和堆栈。 不同的CPU,寄存器的个数和结构不相同。像8...

  • iOS arm64汇编

    想要学习arm64汇编,需要从以下三个方面入手,寄存器、指令和堆栈。 不同的CPU,寄存器的个数和结构不相同。像8...

  • 认识ARM64汇编

    [TOC] 之前说过学习汇编就是学习寄存器和指令,查看代码请连接真机。 寄存器 在arm64汇编中寄存器是64bi...

  • ARM 64 常见汇编指令

    ARM64常用的汇编指令 运算指令 程序跳转指令

  • ARM64汇编

    一般来说学习汇编可以从寄存器、指令、堆栈入手,下面我们慢慢学习: 生成汇编文件: xcrun --sdk ipho...

  • arm64汇编简单笔记

    学汇编最主要的是要搞懂:寄存器,指令和堆栈三个方面。 iPhone5S后,苹果都采用ARM64架构。 本文主要介绍...

网友评论

      本文标题:ARM64汇编学习_2_寄存器、常用指令、堆栈平衡

      本文链接:https://www.haomeiwen.com/subject/khoybctx.html