当前位置:首页 » 存储配置 » 段寄存器用来存放存储器的

段寄存器用来存放存储器的

发布时间: 2022-08-19 00:53:58

‘壹’ 段寄存器里到底储存的是什么东西高手来

由于在8086cpu中的数据线是20位的,但是寄存其实16位的,数据线可以访问2的20次方字节的数据也就是1M的数据,但是寄存器才16位所以只能够用两个寄存其来存放地址,两个寄存器都是16位的,一个称为段寄存器 一个称为偏移寄存器,讲其中的段寄存器乘上16来加上段寄存器的内容
打个比方内存等于一条街有地址从0号到100号,如果你家是56号,那么段地址就是50号+偏移地址6号,就是你的家了,但是在处理器中要段寄存器是16位的,但是实际上段地址是20位的,只有将段地址除16或得16位的数据存入段寄存器,用的时候再乘上16,在加上偏移地址

‘贰’ 8086cpu中段寄存器是用来存放存储器的段基址还是存储器的逻辑地址

你问的是8086架构的CPU吧,看的很眼熟,很多年都没接触了。8086中有4个16位的段寄存器:CS、DS、SS、ES,分别用于存放可执行代码的代码段、数据段、堆栈段和其他段的基地址。
其中,段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。
段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。
段寄存器DS指向数据段,ES指向附加段,在存取操作数时,二者之一和一个偏移量合并就可得到存储单元的物理地址。通常,缺省的数据段寄存器是DS。

‘叁’ 为什么要设置段寄存器8086/8088有几个段寄存器

操作系统在加载程序时,给每个段寄存器都有规定的缺省值。因此,如果你的程序承认这个缺省值是不需要在程序中对段寄存器赋值的(当然赋了也没关系)。

一共有4个段地址寄存器,
CS(code segment register)16位代码段寄存器
DS(data segment register)16位数据段寄存器
SS(stack segment register)16位堆栈段寄存器
ES(extra segment register )16为附加段寄存器

‘肆’ 段寄存器 作用

1,
代码段寄存器cs:存放当前正在运行的程序代码所在段的段基值,表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由ip提供。
2,
数据段寄存器ds:指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基值。
3,
堆栈段寄存器ss:指出当前堆栈的底部地址,即存放堆栈段的段基值。
4,
附加段寄存器es:指出当前程序使用附加数据段的段基址,该段是串操作指令中目的串所在的段。
段寄存器里放的是地址还是数据还是其他的东西?
是放的段基值,通俗说就是段的起始点(具体地址是段基值+偏移),这个数值是地址不是数据。

‘伍’ 什么是段寄存器

寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。用途:1.可将寄存器内的数据执行算术及逻辑运算。2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH&AL=AX:累加寄存器,常用于运算;BH&BL=BX:基址寄存器,常用于地址索引;CH&CL=CX:计数寄存器,常用于计数;DH&DL=DX:数据寄存器,常用于数据传递。为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。 所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。除了前面所提的寄存器外,还有一些特殊功能的寄存器:IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。还有一个标志寄存器FR(Flag Register),有九个有意义的标志(

OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0.

DF: 方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。

‘陆’ 什么是段寄存器标志寄存器

段寄存器
段寄存器是因为对内存的分段管理而设置的。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

‘柒’ “段寄存器”有什么作用

“段寄存器”的作用有:

1、在保护模式下,段寄存器其实就是段选择器,为获取段描述符表的某个项目,起到索引的作用等等;

2、在实模式下,段寄存器起到的是寻址的作用,指示着某一数据段的基址。

“段寄存器”的分类有:

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

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

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

热点内容
万科海上传奇二期 发布:2024-11-01 14:22:52 浏览:59
u盘文件夹是空的 发布:2024-11-01 14:19:57 浏览:402
python包含字符串 发布:2024-11-01 14:19:17 浏览:479
c语言的精华 发布:2024-11-01 14:19:02 浏览:588
steam截图文件夹 发布:2024-11-01 14:18:59 浏览:613
ipad怎么往安卓传照片 发布:2024-11-01 14:18:19 浏览:508
我的电脑没有文件夹选项 发布:2024-11-01 14:13:55 浏览:546
vb创建数据库表 发布:2024-11-01 14:11:55 浏览:872
sql联合表 发布:2024-11-01 14:03:25 浏览:962
linux编程gcc 发布:2024-11-01 14:02:41 浏览:705