单片机常用寄存器组织

8个通用寄存器

8个通用寄存器可以分为4个数据寄存器(AX,BX,CX,DX)和4个地址寄存器(SI,DI,SP,BP)

数据寄存器

数据寄存都能存储数据,但是往往还有一些其他的用法

AX(累加器):除了存储数据,乘法,除法只能在AX中完成

BX(基址寄存器):除了存储数据,经常还用作地址寄存器

CX(计数寄存器):除了存储数据,经常还用作循环计数,在循环中,默认CX的内容为循环次数

DX(数据寄存器):除了存储数据,在执行I/O端口指令时,DX表示端口地址

地址寄存器

地址寄存器提供的都是偏移地址,得到实际物理地址需要偏移地址与段地址进行混合运算,地址寄存器除了存储地址外,还具有一些其他特殊用途

SI(变址寄存器):在字符串操作中,SI提供源操作数的段内偏移地址

DI(变址寄存器):在字符串操作中,DI提供目的操作数的段内偏移地址

SP(堆栈指针寄存器):用于保存堆栈段的段内偏移地址,段地址由段寄存器SS提供

BP(基址指针寄存器):用于指定段内偏移地址,将BP用作地址寄存器时,一般情况下默认段地址是SS

4个段寄存器

CS(代码段寄存器):用于存放当前执行程序的段地址,IP为指令指针

DS(数据段寄存器):用于存放当前数据段的段地址

ES(附加段寄存器):用于存放当前附加数据段的段地址

SS(堆栈段寄存器):用于存放当前堆栈段的段地址

2个控制寄存器

IP(指令指针寄存器):也叫程序计数器(PC),保存的是下一条需要即将要执行指令的段内偏移地址,改变IP的值就改变了程序的流程。

PSW(程序状态字寄存器):16位寄存器,一共9个标志,其中6个标志用于反映ALU(算数逻辑运算单元)上一次的运算结果,其中3为用于控制CPU操作

结果状态标志位

(1)CF(进位标志):加减运算时,最高位(D7或者D15)有无进(借)位的标志,有置1

(2)PF(奇偶标志):操作结果中的低8位中含有1的个数,奇置1,偶置0

(3)AF(辅助进位标志):在加减运算中,D3位有无进(借)位的标志,有置1,无置0,BCD码运算常用

(4)ZF(零标志位):运算结果是否为0,为0置1,不为0置0

(5)SF(符号标志位):操作结果的符号,它等同于操作的最高位D7或D15,正置0,负置1

(6)OF(溢出标志位):有符号数运算时是否溢出,溢出置0,无溢出置1

控制CPU操作标志位

(7)DF(方向标志):在字符串操作中,DF为0时,变址寄存器(SI,DI)的内容自动递增,DF为0时自动变址寄存器自动递减,常用于字符串复制

(8)IF(中断允许标志):当IF置1时,CPU能够响应可屏蔽中断请求,当IF置0时,CPU不能响应中断请求

(9)TF(陷阱标志):当TF置1时,CPU处于单步调试执行方式,即每执行一条指令就自动执行一次类型中断。常用于代码调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值