嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器B、累加器A和程序状态字PSW)

嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器、累加器和程序状态字)

  • 累加器A
  • 寄存器B
  • 程序状态字PSW

累加器A

累加器A是ACC(Accumulator)的缩写,累加器A是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可得到运算结果。
如果没有像累加器这样的寄存器,那么在每次计算(加法,乘法,移位等等)后就必须要把结果写回到内存,也许马上就得读回来。然而存取内存存的速度比从算术逻辑单元到有直接路径的累加器存取慢。

个人理解:累加器就是用来存放操作数或者结果的寄存器,主要是为了提高CPU计算速度

寄存器B

寄存器B称为辅助寄存器,它是为乘法和除法指令而设置的。在乘法运算时,累加器A和寄存器B在乘法运算前存放乘数和被乘数,运算完,通过寄存器B和累加器A存放结果。除法运算前,累加器A和寄存器B存入被除数和除数,运算完用于存放商和余数。

利用汇编语言编写程序时候需要注意一个问题:寄存器B仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址。

程序状态字PSW

程序状态字PSW(Program Status Word),是指在电脑中,一段包含被操作系统和潜在硬件使用的程序状态信息的内存或硬件区域。
一般用一个专门的寄存器来指示处理器状态,主要用于反映处理器的状态及某些计算结果以及控制指令的执行。

地址位 标志位 含义
7 CY 进位标志,如果操作结果有进位或者借位,CY由硬件置1,否则置0
6 AC 辅助进位标志,如果操作结果的低4位数向高4位数产生进位或者借位,AC由硬件置1,否则置0
5 F0 用户标志位,由用户置位或者复位,用户自行定义的一个状态标记,可用软件改变F0来控制程序流向
4 RS1 工作寄存器指针,用于改变选择CPU当前工作的寄存器组,可以使用用户程序改变RS1和RS0的组合来改变当前内部RAM工作寄存器区
3 RS0
2 OV 溢出标志位,由硬件自动形成,累加器的运算结果超出了8位数所能表示的范围,则OV自动置1,否则清0
1 - 保留位,为定义
1 P 奇偶标志位,该位可追踪累加器A中含“1”数目的奇偶性,若A中“1”个数位为奇数置1 ,否则为0,可用于串行数据通讯,保证数据传输的可靠性

在前面我们提到内部RAM分为三个部分:数据缓冲区、位寻址区和工作寄存器区,而在工作寄存器中又分为四个区,如图所示嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器B、累加器A和程序状态字PSW)_第1张图片

而我们上面提到的RS0和RS1就是用来控制工作寄存器区域的,控制方式如下
嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器B、累加器A和程序状态字PSW)_第2张图片

--------------------本文由作者从网络上整理,欢迎转载----------------------

最后再附上一条链接,是作者在寻找资料时发现的一个神仙PPT,大家了解单片机可以从这个PPT开始,里面有关于单片机一些系统全面的知识

单片机581716-课件

你可能感兴趣的:(嵌入式开发学习)