在过去的程序设计中,分为代码段,数据段和附加段。 代码段是不是在内存中一个连续的空间,而数据段在内存的另外一个连续空间。那么是不是每条指令在需要访问数据的时候必须改变段寄存器的值,这样是不是很慢??为什么这样设计? 是不是和intel处理器的 机器码怎么访问内存的 访问代码...
全文
回复(3) 2004-05-10 16:17 来自版块 - 内核编程
表情
wowocockCPU中有对程序员不可见的段描述符影射寄存器,所有的描述符都存放在影射寄存器中,根本不用访问内存段,而直接由EIP访问代码段,即可,在保护模式下,所有段都是0~4G的FLAT模式,所以更无所谓了,以前所谓的DOS下访问4GB空间,就是利用缓冲积存器的原理,进入保护模式,设置4GB...(2004-05-10 17:42)
pingjingde 我是问以前的计算机结构 在看汇编语言的时候对这一点很迷惑(2004-05-10 16:48)
virmin==引用== 80x86(80386及其以后的各代CPU)可以在三种模式下运转:实模式,保护模式,V86模式。实模式就是古老的MS-DOS的运行环境。Win95只利用了两种模式:保护模式和V86模式。 ==end== 你说的要分段的应该是实模式下的intel cpu寻址...(2004-05-10 16:47)

返回顶部