当前位置:首页 » 密码管理 » 8086分段访问内存

8086分段访问内存

发布时间: 2022-03-13 21:14:29

‘壹’ 用段寄存器访问内存的细节(汇编入门)

是。。
地址等于CS*10H+IP=1234

‘贰’ 8086/8088系统中,存储器为什么要分段,一个段的最大和最小各为多少字节

8086/8088系统中,存储器分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。一个段最大为64KB,最小为16B。

存储器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。

由于存储器的个数和容量都有限,不可能把所有中间结果都存储在存储器中,所以,要对存储器进行适当的调度。根据指令的要求,管理安排适当的寄存器,避免操作数过多的传送操作。

8086/8088CPU可直接寻址1MB的存储器空间,直接寻址需要20位地址码,而所有内部寄存器都是16位的,只能直接寻址6KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB,最短16B。这些逻辑段在整个存储空间中可浮动。

(2)8086分段访问内存扩展阅读:

8086/8088CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES、由它们给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址组合形成20位物理地址,段内偏移地址可以存放在寄存器中,也可以存放在存储器中。

程序较小时,代码段、数据段、堆栈段可放在一个段内,即包含在64KB之内,而当程序或数据量较大时,超过了64KB,那么可以定义多个代码段或数据段、堆栈段、附加段。

‘叁’ 8088/8086 CPU 是如何实现内存的分段管理的这种管理机制的优劣有哪些

用段寄存器和偏移地址寄存器,搭配在一起,合成 20 位的地址号码。

缺点,是添乱。

没有优点。

到了 386 CPU 问世的时候,就不分段了。

或者说,全部内存,就分成一个段。

分段管理,就是个笑柄。

其它品牌的 CPU,都没有用这么笨的方法。

‘肆’ 8086给各寄存器,内存分配的地址范围是什么

CPU的物理地址不变,而逻辑地址分配是随机的,每次载入系统时都不一样,可以在DOS里查看。对于有16根数据线,20根地址线的8086CPU,将逻辑地址用段基地址和偏移地址表示。段寄存器中的段基地址可以定义任何64KB存储器的起始地址,偏移量用来在64KB存储器中任选一单元,每一个段的长度为64KB,地址范围为(起始地址~起始地址+FFFFH),起始地址为段基地址×10H。

‘伍’ 8086内存分段时对段基址有何规定,段基址与段寄存器之间是什么关系,怎么形成20位物理地址

8086内存分段时对段基址有何规定,段基址与段寄存器之间是什么关系,
--什么是《段基址》?

怎么形成20位物理地址
--段地址左移四位,再加上偏移地址。

‘陆’ 8086系统中的存储器为什么要采用分段结构有什么好处

8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,就是由段基址和偏移地址两部分构成。

这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。

各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

(6)8086分段访问内存扩展阅读

把段的起始单元的物理地址除以16的结果称为段地址,它为16位,写成十六进制是4位:XXXXH。显然,段地址决定了段在lMB空间中的位置。段内各存储单元相对段的起始单元都有一个距离,称为段内偏移量。

在对内存进行操作时,段地址先确定下来,然后给出不同的段内偏移量,就可以实现段内的寻址。段地址也是可以改变的,即段在1MB空间中的位置是可变的,因而可实现1MB的全范围寻址。

由于采用了分段结构,因此可以把每一个存储单元看成是具有两种类型的地址:物理地址和逻辑地址。物理地址就是实际地址,它具有20位的地址值,它惟一地标识1MB存储空间的某一存储单元。CPU与存储器之间的信息交换都是使用这个物理地址。

逻辑地址是编程时所使用的地址,它由段地址和段内偏移量组成。逻辑地址和物理地址的关系为:物理地址=段地址16+段内偏移量。由逻辑地址形成物理地址是由总线接口部件中的电路实现的。

‘柒’ 8086cpu把1MB 的内存空间分成几个逻辑段

8086cpu把1MB 的内存空间分成一个段,范围就是64K。

段和段,可以重叠,甚至可以完全重合,即共用同一个64K。那么,就是可以随便分,多少段都行。如果不重叠,最多就是分成16个段,因为:16 × 64K = 1M。

8086把1MB的存储空间分为若干个逻辑段,每段最多可含64KB长的连续存储单元。每个段由软件赋给一个起始地址,这个地址低四位为零。

(7)8086分段访问内存扩展阅读

8086类型的CPU地址总线宽度为20,寻址能力相当于2的20次方,数据总线为16,一次性传递数据2B,读取1k数据需要512次。8086把1MB的存储空间分为若干个逻辑段,每段最多可含64KB长的连续存储单元。每个段由软件赋给一个起始地址,这个地址低四位为零。

8086CPU最大可访问1MB的存储空间。8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。

微机原理中提到在计算机硬件中传递的高低电平的2进制信号,1根是2的1次方,2根是2的2次方,以此类推20根就是2的20次方,也就是2^10*2^10--2的10次方乘以2的10次方,也就是1024*1024=1MB。这样才可以在8086工作在任何状态下都可以保证数据通道不会阻塞。

‘捌’ 8086cpu使用的存储器为什么要分段怎么样分段

8086里面提供了一个叫做地址加法器的东西,它可以将你要访问的地址从16位加工成20位的地址。以这个20位地址为起点CPU可以向后访问64KB的内存,如果需要访问更多地址,则可以用地址加法器生成一个更大的起点地址(段基址),再从此起点向后又可以访问64KB内存。以此类推,就完成了对所有内存地址的访问。20根地址线外面接了1M的内存。如果不采用这种分段方式CPU只能寻址00000H到0FFFFH的内存地址,这才64KB,剩下的960KB浪费了,岂不是太可惜了?

‘玖’ 8086内存分段理解问题.谢谢

8086是16位CPU,CPU内部寄存器都是16位。那么地址也是由CPU里面的寄存器提供的,故只能提供16位地址,可寻址64K空间。而8086觉得64K空间不够用,引脚地址线非要弄成20条,寻址1M空间。但CPU里面地址只能是16位提供16位地址,里面的16位地址和外面的20根地址线矛盾怎么解决呢?只好多加了那几个段寄存器,和一些如DI的指针寄存器。每次形成地址时,根据不同的指令,系统会自动选取一个段寄存器(16位)左移四位后再加上一个对应的指针寄存器(在BIU里的地址加法器中完成),形成实际的物理地址20位输出,可寻址1M空间。你看四个段左移四位后形成20位的实际物理地址的段基址,再加上各自的指针64K的范围,四个段每个都是64K。
总结:8086采用这种段加偏移技术,可以解决内部寄存器16位,但可提供20位地址的问题,将外寻址空间扩大到1M。我们在程序最初将CS DS SS ES给初值后,那这四个段在1M空间中的起始位置就确定了,由于每段对应的指针(如DI)是16位,故每段大小是64K。当然CS,DS还可以再重给初值对段重新定义,CS,DS可以相同几个段重叠(如果放得下的话),也可以分开。大致是这样,不知你明白了没?

‘拾’ 简述8086cpu的内存分配,分为几个部分

在8086中,ROM占据着空间顶端的64KB,物理地址范围为

0xF0000~0xFFFFF,里面固化了开机要执行的命令
DRAM占据着低640KB,地址范围为0x00000-0x9ffff,中间一部分还分给其他设备
8086在加电或者复位后,CS=0XFFFF,IP=0X0000,这样访问的内存就是0xFFFF0,这里通常是一个跳转指令,一个典型的例子如下:
jmp 0xf000:0xe05b
这样,CPU就从目的地址重新取指令来执行在一声声哀嚎声中,数学老师带着一摞试卷走了进来。

好像是因为冬天天冷,体育老师冻感冒了。

所以变成了两节数学课,顺便考个试。

数学老师名叫欧岛,一个很富有数学气息的名字,常年带着一个黑框眼睛。

卷子陆续分发。

作为一个学渣,苏牧无奈的拿出了数学参考资料,想碰碰运气看能不能找到原题。

“叮!查看了数学题目,数学积分+1,当前积分1/100,等级:一级”

突然,从脑海中冒出来的声音,将他吓了一大跳,差点没从凳子上滑落下来。

一旁的同桌颜小珂忍住没有笑场。

欧岛则是狠狠的瞪了苏牧一眼。

“???…”

苏牧瞪大了眼睛,有些不可置信。

“这是什么鬼东西?这是系统??居然真的有系统这种东西?”

苏牧继续翻动,又出现了同样的声响。

“叮!您查看了数学题目,数学积分+1,当前积分2/100,等级:一级”

他只是瞟了一眼,居然就增加了积分?

苏牧觉得自己的脑子清明了些。

这些陌生的数学题目,似乎看起来也熟悉了几分。

他越发的激动起来。

这些都是真正出现在他眼前的变化!

苏牧翻书的动作越来越快,积分也越来越多,直到欧岛走过来站到了他的面前,才反应过来迅速收了回去。

这个时候,他的积分已经达到了81/100。

他并没有慌张,而是继续将试卷上的题目查看了一遍。

终于,系统迎来了新的提示音。

“叮,您的数学积分已经足够,等级:二级,当前积分0/1000!”

这一瞬间,苏牧仿佛像醍醐灌顶一般,曾经那些陌生的数学题,仿佛变成了多年的好友!

他居然!

看懂了!

看懂了!!

居然看懂了!!

苏牧的内心顿时内流满面,颇有苦尽甘来的感觉。

仿佛是要检验自己的成果,苏牧的心思完全沉寂在了试卷之中,这是一个学渣对于知识的渴望。

时间一点一滴的过去,就连苏牧自己都没有发现。

可惜的是,虽然他的数学已经达到了二级,但还是有些题目没办法运算出来。

“叮…..”

这一次不是系统的提示音,而是下课的铃声。

苏牧真的是头一次感受到了时间过的如此之快。

曾经漫长的两个小时,现在居然还让他有些意犹未尽。

这就是学霸的感觉吗?他默默的想到。

这张试卷,苏牧觉得自己应该是103分。

因为不会的题目他都空着。

而那些简单一点的题目,苏牧有一种迷之自信。

他得出的答案,一定是正确答案!

……

“我要好好学习了。”

强忍住内心的激动,苏牧摆正了

热点内容
访问法概念 发布:2025-05-12 07:27:14 浏览:405
遗传算法例子 发布:2025-05-12 07:27:11 浏览:265
matlab语言编程 发布:2025-05-12 07:05:16 浏览:482
解压油画棒 发布:2025-05-12 06:56:56 浏览:716
如何安装语言编译器 发布:2025-05-12 06:55:05 浏览:300
c语言程序设计题目 发布:2025-05-12 06:46:46 浏览:712
虚拟机上传文件 发布:2025-05-12 06:41:52 浏览:572
编程模特 发布:2025-05-12 06:41:51 浏览:271
seo快速排名算法 发布:2025-05-12 06:17:30 浏览:983
怎么学习算法 发布:2025-05-12 06:17:25 浏览:681