程序计数器(PC,Program counter),用于存放指令的地址。为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称,为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。


指令寄存器(IR,Instruction Register),用来保存当前正在执行的一条指令。是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR,Data Register)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。


通用寄存器(GR,General register)通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。


16位cpu通用寄存器共有8个:AX(累加器(Accumulator Register)),BX(基地址寄存器(Base Register)),CX(计数寄存器(Count Register)),DX(数据寄存器(Data Register)),BP(基址指针寄存器(Base Pointer)),SP(堆栈指针寄存器(Stack Pointer)),SI(源变址寄存器 (Source Index)),DI(目的变址寄存器(Destination Index)).八个寄存器都可以作为普通的数据寄存器使用。

  1. 寄存器AX通常称为累加器(Accumulator);用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作,它们的使用频率很高;

  2. 寄存器BX称为基地址寄存器(Base Register):它可作为存储器指针来使用;

  3. 寄存器CX称为计数寄存器(Count Register):在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数;

  4. 寄存器DX称为数据寄存器(Data Register):在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。

  5. 指针寄存器 EBP, ESP,(Pointer Register),指针寄存器主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。寄存器BP称为基址指针寄存器(Base Pointer);寄存器SP称为堆栈指针寄存器(Stack Pointer)。

  6. 变址寄存器 ESI, EDI , 变址寄存器主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。

  7. 寄存器SI称为源变址寄存器 (Source Index);

  8. 寄存器DI称为目的变址寄存器(Destination Index)。
    16位cpu通用寄存器共有 8 个: AX, BX, CX, DX, BP, SP, SI, DI.
    32位cpu通用寄存器共有 8 个: EAX, EBX , ECX, EDX, EBP, ESP, ESI, EDI


程序状态字PSW(PSW,Program Status Word)包括的状态位有进位标志位(CF)、结果为零标志位(ZF)、符号标志位(SF)、溢出标志位(OF)、陷阱标志位(TF)、中断使能(中断屏蔽)标志位(IF)、虚拟中断标志位(VIF)、虚拟中断待决标志位(VIP)、I0特权级别(IOPL)。


状态寄存器又名条件码寄存器(SR,Status register),它是计算机系统的核心部件——运算器的一部分,状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位(CF位)、有无溢出(OF位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等;另一类是存放控制信息(PSW:程序状态字寄存器),如允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。

简单解释程序计数器、指令寄存器、通用寄存器、状态寄存器、程序状态字相关推荐

  1. CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)

    在CPU中至少要有六类寄存器:指令寄存器(IR).程序计数器(PC).地址寄存器(AR).数据寄存器(DR).累加寄存器(AC).程序状态字寄存器(PSW).这些寄存器用来暂存一个计算机字,其数目可以 ...

  2. 2021-07-08操作系统知识:程序计数器(pc)、指令寄存器(IR)、通用寄存器(GR)、状态寄存器(SR)、程序状态字PSW

    操作系统知识:程序计数器(pc).指令寄存器(IR).通用寄存器(GR).状态寄存器(SR).程序状态字PSW 快乐的一只小喵喵 2019-10-28 16:43:01 14046 收藏 96 分类专 ...

  3. 操作系统知识:程序计数器(pc)、指令寄存器(IR)、通用寄存器(GR)、状态寄存器(SR)、程序状态字PSW

    程序计数器(PC,Program counter),用于存放指令的地址.为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址.当执行一条指令时,首先需 ...

  4. ARM通用寄存器及状态寄存器详解

    关注.星标公众号,直达精彩内容 素材来源:https://blog.csdn.net/qq_34430371/article/details/125820927 整理:技术让梦想更伟大 | 李肖遥 笔 ...

  5. ARM AArch32和AArch64通用寄存器、状态寄存器

    ARM AArch32和AArch64通用寄存器.状态寄存器 文章目录 ARM AArch32和AArch64通用寄存器.状态寄存器 1. ARM CPU Mode 1.1 ARM32 CPU Mod ...

  6. 【嵌入式开发】ARM 处理器工作模式 及 修改方法 ( 处理器模式 | 设置处理器模式 | 程序状态字寄存器 CPSR SPSR | 模式设置代码编写 | 设置 svc 模式 )

    一. 处理器工作模式相关介绍 1. 处理器模式简介 (1) 处理器工作模式分类 (2) 处理器不同工作模式区别 (3) Linux 系统运行的模式 (4) 特权模式 说明 (5) 异常模式 (6) 系 ...

  7. iOS底层(三)-状态寄存器

    003-状态寄存器    CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同).这种寄存器在ARM中,被称为状态寄存器就是CPSR(current program sta ...

  8. pic c语言 位标志,PIC单片机状态寄存器中的C(进位/借位位标志)

    查阅PIC单片机芯片手册,关于进位/借位位的说明为: C:进位/借位位. 1 = 结果的最高位发生了进位 0 = 结果的最高位未发生进位 同时有一条标注:借位的极性是相反的. 通过以上说明,可以将C的 ...

  9. ARM状态寄存器-PSR

    ARM程序状态寄存器Program State Register CPSR SPSR 结构解析 ARM程序状态寄存器Program State Register 在ARM模式中, 有16个数据寄存器和 ...

最新文章

  1. python经典小游戏-又一个python小游戏,叫什么不知道了。。。
  2. 【杂谈】有三AI秋季划增加生成对抗网络小组,你准备好大GAN一场了吗
  3. 【ARM】ARM汇编程序设计(六) stm和ldm
  4. new sap.ui.core.Item() - how is it initialized
  5. ios android 交互 区别,很多人不承认:iOS的返回交互,对比Android就是反人类。
  6. 深入浅出 Java Concurrency (6): 锁机制 part 1[转]
  7. 先验、后验、似然、置信的理解
  8. 二级考试c语言100题,国家计算机二级考试 C语言上机100题
  9. ds6708 symbol 驱动_Symbol DS6708条码扫描器
  10. 如何关闭勒索病毒端口
  11. 照片视频制作软件哪个好?自动生成酷炫效果,3步快速搞定!
  12. 2018年全国多校算法寒假训练营练习比赛(第三场)---I---题(皮克公式)
  13. 2020-21《全球软件质量报告》解读
  14. suffix tree学习
  15. 数据库mongodb效率测试
  16. Microchip具有SDI和SQI接口串行SRAM存储器23LC512
  17. JS手写面试题 --- 数组扁平化
  18. idea 回退merge_idea Git版本回退
  19. python 模拟器多开任务并行
  20. 一款简单的语音播报app

热门文章

  1. Python 应用领域及学习重点
  2. Bogo游戏陪玩开发系统特性搭建及源码
  3. 关于char str[20]=““ 和 char str[20]=“ “
  4. Flask Cookies
  5. 目前踩坑TeamViewer的两个bug
  6. 前端八股文(Vue部分) -不断更新
  7. 怎么用百度之百度语法,通过一定的语法搜索可以准确的搜索到关键东西。
  8. 黑猫互联云计算机,黑猫评测 篇二十六:解决联想轻薄本痛点,3TB性价比NAS方案,联想个人云存储A1评测...
  9. 扫雷——如何实现点击“0”打开一大片“雷区”
  10. 07/09~07/12恒润实习总结1