用户标志位 F0:F0 标志位的状态是由用户根据自己的需要通过软件对其置位和复位。
它可作为用户程序的流向标志。
工作寄存器选择控制位 RSl 和 RS0:8051CPU 有 4 组各 8 个 8 位的工作寄存器,每一
组分别命名为 R0~R7。这两位的值可决定选择哪一组工作寄存器为当前工作寄存器组。使
用时由用户通过软件改变 RSl 和 RS0 的值来进行选择。工作寄存器 R0~R7 的物理地址和
RSl、RS0 之间的关系如表 2—2 所列。
表 2—2 RS1、RS0 对工作寄存器的选择
RS1 RS0 R0~R7 的组号 R0~R7 的物理地址
0 0 第 0 组
第 1 组 0 1
1 0 第 2 组
第 3 组
00H~07H
08H~0FH
10H~17H
1 1 18H~1FH
8051 上电复位后,CPU 自动选择第 0 组为当前工作寄存器组。R0~R7 的物理地址变为
00H~07H。
溢出标志位 OV:当机器在执行带符号数算术运算时,如果运算结果超出了 8 位数所能
表示的范围(—128~+127),则 OV 标志自动置 1;否则 OV=0。
PSW1:为无定义位。
奇偶标志位 P:用于标志运算结果的奇偶性。若累加器 A 中 1 的个数为奇数;则 P=1,
否则 P=0。
2.控制器
控制器是用来控制计算机工作的部件,它包括程序计数器 PC、指令寄存器 IR、指令译
码器 ID、堆栈指示器 SP、数据指针 DPTR、时钟发生器和定时控制逻辑等。
(1)程序计数器 PC
程序计数器 PC 是一个 16 位的专用计数器,PC 中的内容是将要执行的下一条指令的地
址,改变 PC 的内容就可以改变程序的流向。
PC具有自动加 1 功能。当 CPU 顺序地执行指令时,首先根据 PC 所指地址取出指令,
然后 PC 的内容自动加 1,指向下一条指令的地址。如果跳转执行程序,在跳转之前必须将
转向指令的地址装入 PC,然后从该处开始执行,完成了程序的跳转。
在 MCS-51 系列机中,当系统复位后,PC=0000H,CPU 从这一固定人口地址开始执
行程序。
(2)指令寄存器 IR 和指令译码器 ID 的功能是:根据 PC 所指地址,取出指令经指令寄
存器 IR 送指令译码器 ID 进行译码,然后通过定时控制电路产生相应的控制信号,控制 CPU
内部及外部有关器件进行协调动作,完成指令所规定的各种操作。
RAM
栈底
栈顶
7FH
08H
07H
……
图 2—3 堆栈示意图
(3)堆栈指针 SP
在计算机中,当要解决程序调用和中断处理等问题时,通常采用堆栈技术来存放返回地
4