美文网首页
CPU、常见寄存器、指令、栈内存

CPU、常见寄存器、指令、栈内存

作者: 买买提不撸串 | 来源:发表于2019-12-03 22:11 被阅读0次

CPU:运算器、控制器、寄存器 , 控制总线、数据总线、地址总线

一个字节Byte有8个bit就是8个二进制位,16进制时一个F四个1111,两个F就是八个1,FF时11111111,两个F就是一个字节;一个int类型占4个字节,一个字节8个bit,4*8=32位, 8个F可以表示一个int类型

64位CPU,64/8=8,8个字节,

CPU通过总线与外界联系p &cTemp打印内存地址 ,command+shift+M 粘贴内存地址查看内存

一个字由两个字节组成

ARM64拥有31个64位的通用寄存器X0到X30   ,W0到W28,SP、PC、CPSR

PC寄存器为指令指针寄存器,它指示CPU当前要读取指令的地址,CPU将PC指向的内存单元的内容看做指令

bl指令叫做转移指令是专门修改PC寄存器的值的,即修改下一步要读取指令的地址

register write pc 0x1011168bc 强行修改pc寄存器的

ARM64中  :XZR零寄存器

                          浮点寄存器 64位:D0~D31  32位:S0~S31

                          向量寄存器  128位:V0-V31

堆栈是内存中的一个数据结构.

内存如同一个仓库,堆栈是仓库中开辟的一个规则有序的后进先出的仓库区,而寄存器就是生产线上的一个容器。堆栈是属于内存区的一部分,而寄存器则是CPU中的一部分。

ARM64下,函数的参数存放在x0到x7(w0到w7)这8个寄存器,如果超过8个会入栈,函数的返回值是放在x0寄存器,函数的局部变量放在栈里面

关于内存读写指令:

Str指令将数据从寄存器中读出来,存到内存中(写内存)

ldr指令从内存中读出来,存到寄存器中

str和ldr的变种寄存器 stp和ldp可以操作2个寄存器.  stur 和ldup也是变种寄存器,一般表示负数

例子:

sub sp,sp,#0x20 //因为是16进制的, 拉伸栈空间32个字节,往低地址拉伸。

stp x0,x1,[sp,#0x10]  //x0,x1是寄存器,sp是栈顶,栈在内存中,stp指令的意思是将寄存器中的东西放到内存中,所以这句话的意思是sp往上加16个字节用来存放x0,x1中的东西

ldp x1,x0,[sp,#0x10]  //将sp往上读16个字节的东西拿出来放到x1,x0寄存器中

add sp,sp,#0x20  //上面减一下,这里加一下,让栈平衡

函数的返回值通常放在x0寄存器里

相关文章

  • CPU、常见寄存器、指令、栈内存

    CPU:运算器、控制器、寄存器 , 控制总线、数据总线、地址总线 一个字节Byte有8个bit就是8个二进制位,1...

  • iOS逆向001--初识汇编<三>指令和寄存器

    一:ARM寄存器 ARM指令主要是对寄存器,栈、内存的操作。寄存器位于CPU中,个数少速度快,ARM指令集中大部分...

  • 我的逆向工程之路 - 汇编基础

    寄存器、内存、和栈 寄存器: 内存: 栈: 实用寄存器 详解: 指令解读 预备知识: { }表示可选项, [ ]...

  • 函数的调用流程

    1.push参数(64位cpu 任性使用寄存器)2.call指令调用(将下一条指令地址入栈)3.保护bp寄存器,将...

  • 汇编语言入门三:是时候上内存了

    上回说到了寄存器和指令,这回说下内存访问。开始之前,先来复习一下。 回顾 寄存器 寄存器是在CPU里面 寄存器的存...

  • C语言汇编基础

    学习汇编之前,除了要掌握常用的汇编指令之外,还需要掌握CPU寄存器(CPU用来存储数据的地方),内存,32位CPU...

  • 汇编指令

    寄存器 pc寄存器(program counter)为指令指针寄存器,它指示了CPU当前要读取指令的地址mov指令...

  • 计算机所有知识的框架

    1、cpu有固定的指令集 2、cpu只能从一级缓存、二级缓存、三级缓存、寄存器、内存中获取指令或者数据执行 3、我...

  • 【Linux入门第3天】Linux入门之计算机与操作系统

    计算机 cpu:运算器,控制器,寄存器,缓存 存储器: 内存 RAM input:下指令,提供数据...

  • 00-汇编语言

    程序的本质 寄存器与内存 编程语言的发展 汇编语言的种类 常见的汇编指令 寄存器 有16个常用寄存器rax、rbx...

网友评论

      本文标题:CPU、常见寄存器、指令、栈内存

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