① 8086系统中存储器采用什么结构用什么信号来选中存储体
8086采用的是分段式存贮结构
8086的地址线为20位,最大寻址空间为2~20=1 MB。8086内部的寄存器都是16位,对地址的运算也是16位,而16位的最大寻址范围为2~16=64
由此可以知道其需要4个段地址来寻址
4个段地址的寄存器分别是:
代码段寄存器:CS(Code Segment);
数据段寄存器:DS(Data Segment);
堆栈段寄存器:ss(stack Segment);
附加段寄存器:ES(Extra Segment)。
他是通过m/io信号的电平高低来决定是进行读存贮器(m信号)和输入输出(io信号)的
② 在8086系统中有几个可寻址空间各有多大用什么控制信号来区分
寄存器是16位的,例如AX,BX,SI,DI都是16位的,它们能表示的地址码所以只有16位的。2的16次方等于64K,这是我们作为程序编写者能通过寄存器直接访问的内存空间。而8086/8088CPU提供的地址总线有20位,2的20次方等于1M,这是CPU它自己能访问的最大内存空间。
这就有个矛盾了:CPU能访问1M内存,而寄存器却只能表示64K内存大小。所以就引入段地址和偏移地址的概念。把这1M 的内存空间分成64K大小的一段段,指定哪一段,然后再在这个段的开始加上“偏移地址”,这不就可以访问1M内存的任意空间了?
段地址怎么得到的问题:
比如在汇编数据段某处声明了某个字符变量 STR
MOV DX,SEG STR
通过SEG 语句则可把STR所在段地址取出来,送给DX.
一上内容希望对你有帮助!
③ 8086/8088如何进行奇偶存储体的选择
8086系统中1M字节的存储器地址空间实际上分成两个512K字节的存储体—— “偶存储体”和“奇存储体”,偶存储体同8086的低8位数据总线D0~D7相连,奇存储体同 8086的高8位数据线D8~D15相连,地址总线的A1~A19同两个存储体中的地址线A0~A18 相连,最低位地址线A0和“总线高允许”BHE*用来分别选择偶存储体和奇存储体。这种连 接方法称为“奇偶分体”。
32位windows操作系统一样可以在实模式下运行,你开的一个dos窗口就是一个实模式
不过他可以模拟多个实模式
16位寄存器都还在,为什么不支持?
奇偶分体吧LZ说的。
④ 8086存储器组织
(1)是不对的 A0是地址线的最后一位 A0=0是偶地址 A0=1是奇地址
8086的引脚上AD0就是A0和D0 分时复用的 意思是一个引脚有两个功能 依靠时间来区别
⑤ 汇编8259A中奇地址和偶地址问题,加分
对8259A初始化写ICW1~4时是按照先后顺序来写的,8259A的8位数据线接到8086的低八位数据线。由于8086的存储器采用分体式结构,低8位数据线对应于8086存储器中的偶地址库,所以8259A的奇地址和偶地址都在8086存储器的偶地址库,即都是偶数。 初始时A=0时,对应8259A的偶地址,此时写ICW1;然后让A置位A=1,对应于8259A的奇地址,写ICW2~4。我们容易陷入的误区是以为8259A的奇地址和偶地址是按照它在8086存储器的地址的奇偶性来区分,其实它是以A的值来区分,A=0定义为偶地址,A=1定义为奇地址。如果是8088 CPU的话,存储器地址是连续的,则不会有这个误会。