标识符 | 名称 | 地址 | 功能 |
---|---|---|---|
Acc | 累加器 | 0E0H | 大部分单操作数指令的操作取自累加器。 很多双操作数指令的一个操作数取自累加器。 加、减、乘、除算术运算指令的运算结果都存放在累加器A或AB寄存器对中。 指令系统中用A作为累加器的助记符。 |
B | B寄存器 | 0F0H | 乘法指令的两个操作数分别取自A 和B 其结果存放在AB寄存器对中。 除法指令中,被除数取自A,除数取自B,商数存放于A,余数存放于B。 在其它指令中,B寄存器可作为RAM中的一个单元来使用。 |
PSW | 程序状态字 | 0D0H | 程序状态字是一个8位寄存器,它包含了程序状态信息。 组成:Cy Ac FO RS1 RS0 OV - P Cy(PSW.7)进位标志: 在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。 在布尔处理机中它被认为是位累加器;其重要性相当于一般中央处理机中的累加器A 。 Ac(PSW.6)辅助进位标志符: 当进行加法或减法操作而产生由低4位数(十进制的一个数引向高4位数进位或借位时,Ac将被硬件置位,否则就被清零。 Ac被用于十进制调整。 FO(PSW.5)标志O: 是用户定义的一个状态标记,可以用软件来使它置位或清零,也可以用软件测试FO以控制程序的流向。 RS1,RS0(PWS.4,PSW.3)寄存器区选择控制位1和0: 可以用软件来置位或清零以确定工作寄存器区。 RS1 RS0 0 0 —— 区 0(00H~07H) 0 1 —— 区 1(08H~0FH) 1 0 —— 区 2(10H~17H) 1 1 —— 区 3(18H~1FH) OV(PSW.2)溢出标志: 溢出标志常用于用ADD和SUBB指令对带符号数作加减运算时,OV= 1表示加减运算的结果超出了目的寄存器A所能表示的带符号数(2的补码)的范围。 无符号数乘法指令MUL的执行结果也会影响溢出标志。若置于累加器A和寄存器B的两个数的乘积超过255时,OV=1, 否则OV=0。此积的高8位放在B 内,低 8位放在 A内。因此, OV= 0意味着只要从 A中取得乘积即可;否则要从 BA寄存器对中取得乘积。 除法指令DIV也会影响溢出标志。当除数为0时,OV= 1,否则OV=0。 PSW.1未使用 P(PSW.0)奇偶标志: 每个指令周期都由硬件来置位或清0,以表示累加器A中1的位数的奇偶数。若1的位数为奇数,则P置位,否则清0。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常用奇偶校验的办法来检验数据传输的可靠性。在发送端可根据P的值对数据的奇偶位置位或清零。若通信协议中规定采用奇校验的办法,则P=0时,应对数据(假定由A取得)的奇偶位置位;否则就清0。 |
SP | 堆栈指针 | 81H | 栈指针SP是一个8位专用寄存器。它指示出堆栈顶部在内部RAM中的位置。系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。考虑到08H~lFH单元分属于工作寄存器区 1~3,若程序设计中要用到这些区,则最好把SP值改置为 1FH或更大的值。SP的初始值越小,堆栈深度就可以越深。堆栈指针的值可由软件改变,因此堆伐在内部 RAM中的位置比较灵活。 除用软件直接改变SP值外,在执行PUSH,POP指令,各种子程序调用,中断响应,子程序返回(RET)和中断返回(RETI)等指令时,SP值将自动增量或减量。 |
DPTR | 数据指针 | 83H和82H | 数据指针DPTR是一个16位专用寄存器,其高位字节寄存器用DPH表示;低位字节寄存器用 DPL 表示。 既可以作为一个 16位寄存器 DPTR来处理,也可以作为两个独立的8位寄存器DPH和DPL来处理。 DPTR主要用来存放16位地址,当对 64KB外部数据存储器空间寻址时,可作为间址寄存器用。 在访问程序存储器时,DPTR可用作基址寄存器,有一条采用基址个变址寻址方式的指令MOVX A,@A + DPTR,常用于读取存放在程序存储器内的表格常数。 |
P0 | P0口 | 80H | P0口锁存器 |
P1 | P1口 | 90H | P1口锁存器 |
P2 | P2口 | 0A0H | P2口锁存器 |
P3 | P3口 | 0B0H | P3口锁存器 |
IP | 中断优先级控制寄存器 | 0B8H | |
IE | 中断允许寄存器 | 0A8H | |
TMOD | 定时器/计数器方式控制寄存器 | 89H | |
TCON | 定时器/计数器寄存器 | 88H | |
TH0 | 定时器/计数器0(高位字节) | 8CH | |
TL0 | 定时器/计数器0(低位字节) | 8AH | |
TH1 | 定时器/计数器1(高位字节) | 8DH | |
TL1 | 定时器/计数器1(低位字节) | 8BH | |
SCON | 串行控制寄存器 | 98H | |
SBUF | 串行数据缓冲器 | 99H | 用于存放欲发送或已接收的数据,它实际上由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。当要发送的数据传送到SBUF时,进的是发送缓冲器。当要从SBUF读数据时,则取自接收缓冲器,取走的是刚接收到的数据。 |
PCON | 电源控制寄存器 | 97H |