什么是段寄存器标志寄存器

什么是段寄存器标志寄存器,第1张

寄存器

段寄存器是因为对内存的分段管理而设置的。16位CPU有四个段寄存器,所以,其程序可同时访问四个不同含义的段。

段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。

段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,则其缺省的段寄存器也是SS,并且用BP可访问整个堆栈,不仅仅是只访问栈顶。

段寄存器DS指向数据段,ES指向附加段,在存取 *** 作数时,二者之一和一个偏移量合并就可得到存储单元的物理地址。该偏移量可以是具体数值、符号地址和指针寄存器的值等之一,具体情况将由指令的寻址方式来决定。

通常,缺省的数据段寄存器是DS,只有一个例外,即:在进行串 *** 作时,其目的地址的段寄存器规定为ES。当然,在一般指令中,我们还可以用强置前缀的方法来改变 *** 作数的段寄存器。

“可选用的段寄存器”即是可以用强置说明这些段寄存器的值来作为其 *** 作数地址的段地址。

段寄存器:

在8086系统中,访问存储器的地址码由段地址和段内偏移地址两部分组成。段寄存器用来存放各分段的逻辑基值,并指示当前正在使用的4个逻辑段,包括代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS和附加段数据寄存器ES。

1,

代码段寄存器CS:存放当前正在运行的程序代码所在段的段基值,表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供。

2,

数据段寄存器DS:指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基值。

3,

堆栈段寄存器SS:指出当前堆栈的底部地址,即存放堆栈段的段基值。

4,

附加段寄存器ES:指出当前程序使用附加数据段的段基址,该段是串 *** 作指令中目的串所在的段。

标志寄存器

标志寄存器,又称程序状态寄存器(它的内容是Program

Status

Word,PSW)这是一个存放条件码标志,控制标志和系统标志的寄存器

ZF

是否为0

PF

判断奇偶校验

如果1的个数为偶数,PF=1

如果1的个数为奇数,PF为0

SF

判断

正负

负数

1

非负

0

CF

进位

借位标志

针对无符号数

借位标志

OF

运算结果是否溢出

针对有符号数

DF

方向标志位

DF=0

每次 *** 作后

si,di递增

DF=1

每次 *** 作后

si,di递减

IF

可屏蔽中断标志位

IF

=1

处理可屏蔽中断

IF-0

不处理可屏蔽中断

TF

Trap

Flag

追踪标志TF;

当TF被设置位1时,CPU进入单步模式,所谓单步模式就是CPU在每执行一步指令后都产生一个单步中断。

8086/8088中没有专门用来置位和清零TF的命令,需要用其他办法

标志

值为1标记

值为0标记

OF

OV

NV

SF

NG

PL

ZF

ZR

NZ

PF

PE

PO

CF

CY

NC

DF

DN

UP

IF

EI

DI

AF

AC

NA

就是psw,在8086/8088中共有6个状态标志位,分别为CF(进位标志)、AF(辅助进位标志)、SF(符号标志位)、PF(奇偶标志位)、ZF(零标志)、OF(溢出标志)其具体功能我就不一一说明了,需要的话可以自己去查一下!

以上就是关于什么是段寄存器标志寄存器全部的内容,包括:什么是段寄存器标志寄存器、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9338720.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存