1.一个典型CPU的构造
一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。
简单来说,在CPU中,运算器进行信息的处理;寄存器进行信息的存储;控制器控制各种器件进行工作;内部总线连接各种器件,在它们之间进行数据的传送。
2.寄存器的作用
对于汇编程序员来说,CPU的主要部件就是寄存器。寄存器是CPU中程序员可以用指令读写的器件。所以学习汇编必须了解寄存器的知识。
a)可将寄存器内的数据执行算术及逻辑运算;
b)存于寄存器内的地址可用来指向内存的某个位置,即寻址;
c)可以用来读写数据到电脑的周边设备。
3.寄存器的分类
不同的CPU有不同的寄存器,下面只是对应于8086这类芯片的寄存器的分类
a)数据寄存器
b)指针寄存器
c)变址寄存器
d)控制寄存器
e)段寄存器
4.MCS-51常用寄存器介绍
a)累加器A
累加器A是一个8位的累加器,是CPU中使用最频繁的一个寄存器,也可以写为Acc。
累加器A的作用:
(1)是ALU单元的输入之一,因而也是数据处理源之一。但它又是ALU运算结果的存放单元。
(2)CPU中的数据传送大多都通过累加器A,故累加器A又相当于数据的中转站。由于数据传送大多都通过累加器,故累加器容易产生“堵塞”现象。所以MCS-51单片机增加了一部分可以不经过累加器的传送指令,这样既可以加快数据传送的速度,也可以减少累加器的“阻塞”现象。
b)B寄存器
寄存器B是为执行乘法和除法操作设置的。
在乘法中,ALU的两个输入分别为A、B,运算结果存放在BA寄存器对中。B中放乘积的高8位,A中放乘积的低8位。
在除法中,被除数取自A,除数取自B,商存放在A中,余数存放在B中。
在不执行乘、除法操作的情况下,可把它当做一个普通寄存器使用
c)程序状态字寄存器PSW
它是一个8位可读写的寄存器,位于单片机片内的特殊功能寄存器区。PSW的不同位包含了程序运行状态的不同信息,在程序设计中也会经常与PSW的各个位打交道。
d)程序计数器PC
它是控制部件中最基本的寄存器,是一个独立的计数器,存放着下一条将要从程序存储器中取出的指令的地址。
e)堆栈指针SP
堆栈是从片内RAM中开辟出来的一个区域,其主要是为子程序调用和中断操作而设立的。其功能有两个:保护断点和保护现场。
堆栈指针SP是一个8位特殊功能寄存器,SP的内容只是出堆栈顶部在内部RAM块中的位置。
f)数据指针DPTR
它是16位的SFR
g)端口P0~P3
它们分别是I/O端口P0~P3的锁存器。
h)串行数据缓冲器SBUF
SBUF用于存放欲发送或已接收的数据,它在SFR块中只有一个字节地址,但物理上是由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器,当要发送的数据传送到SBUF中,进的是发送缓冲器;接收时,外部来的数据存入接收缓冲器。
i)定时器/计数器