回 帖 发 新 帖 刷新版面

主题:问些乱78糟的小问题


存储器是内存么?
8086的1MB存储空间分成了两个512KB的存储体,
那他怎么分成4个段的?
是在偶数存储体上分4段又在奇数存储体上分4段?
他不是一分成两个512KB的存储体了么?

物理地址怎么要在段基址上*10H的,不明白了

而且他怎么也有代码段,数据段,堆栈段,附加段。CPU编程结构里面也有这4个段的吧?为什么有的段要重叠?

回复列表 (共2个回复)

沙发

存储器是内存
在教科书上,你可以这么认为


8086的1MB存储空间分成了两个512KB的存储体,
那他怎么分成4个段的?
8086把存储器分为多个段,每个段最大64KB
注意:是四个段寄存器,不是四个段
两者不一样

物理地址怎么要在段基址上*10H的,不明白了
你再次仔细看一看教科书
段地址乘以10H,意思是:比如段地址:0100H,乘以10H后,变为01000H
为什么要这么做?
教科书上有一条:8086物理地址为20bit,是由前16位的段地址和后十六位的偏移地址相加而成
比如:段地址(16位):0100,偏移地址(16位) 0200,则物理地址(20位):01000+0200=01200

板凳

而且他怎么也有代码段,数据段,堆栈段,附加段。CPU编程结构里面也有这4个段的吧?为什么有的段要重叠?


兄弟,不是段,是段寄存器,两者不一样
对,8086有四个段寄存器,80286及其后继机型有6个段寄存器
这个你以后就明白了
你必须学到寻址方式+伪操作知识才能彻底明白

我来回复

您尚未登录,请登录后再回复。点此登录或注册