全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 存储技术 >

指令指针寄存器是什么_作用有哪些

时间:2017-11-13 09:58

人气:

作者:admin

标签: 寄存器 

导读:指令指针寄存器是什么_作用有哪些-指令指针寄存器IP(X86型CPU)相当于ARM型CPU中的程序计数器PC,用于控制程序中指令的执行顺序。正常运行时,IP中含有BIU要取的下一条指令(字节)的...

  什么是指令指针寄存器

  指令指针寄存器IP(X86型CPU)相当于ARM型CPU中的程序计数器PC,用于控制程序中指令的执行顺序。正常运行时,IP中含有BIU要取的下一条指令(字节)的偏移地址,一般情况下,每从内存中存取一次指令码,IP就自动加1,从而保证指令的顺序执行。IP实际上是指令机器码存放内存单元的地址指针,IP的内容可以被转移类指令(如JMP)强迫改写,以改变程序执行的顺序。

  注意!我们编制的程序不能直接访问IP,即不能用指令去取出IP的值或给IP设定值(如不能用mov指令给IP赋值)。

  指令指针寄存器是什么_作用有哪些

  指令指针寄存器的作用

  指针寄存器包括 EBP ESP,低 16 位为 SBP SP。

  BP 为可以直接存取堆栈中的数据,SP 可以访问栈顶。

  EBP 被用做框架指针,例如,一个程序在逆向后的代码中:

  push ebp;

  mov ebp,esp;

  ebp 保存了一个栈,最后 mov 使得 esp 成为该栈的栈顶指针。

  指令指针寄存器记作 EIP ,低 16 位为 IP 。用来存放下次将要执行的指令在代码段的偏移量。

  32位CPU有2个32位通用寄存器EBP和ESP。其低16位对应先前CPU中的SBP和SP,对低16位数据的存取,不影

  响高16位的数据。

  寄存器EBP、ESP、BP和SP称为指针寄存器(PointerRegister),主要用于存放堆栈内存储单元的偏移量,

  用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。

  指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。

  它们主要用于访问堆栈内的存储单元,并且规定:

  BP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据;

  SP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信