在过去的程序设计中,分为代码段,数据段和附加段。 代码段是不是在内存中一个连续的空间,而数据段在内存的另外一个连续空间。那么是不是每条指令在需要访问数据的时候必须改变段寄存器的值,这样是不是很慢??为什么这样设计?是不是和intel处理器的 机器码怎么访问内存的 访问代码段然后再...
全文
回复(8) 2004-05-10 16:18 来自版块 - ABC初学者
表情
yekai我说说我的理解,可能因为内存的访问以字节的整数倍为单位,所以寄存器的大小也以字节的整数倍为单位,那时候内存都很小,所以地址总线只有20位,所以用两个寄存器来放地址。(2004-05-14 14:24)
flyhobo哈哈, 你说的事8086的汇编吧,在8086年代程序的确是分为代码段,数据段和附加段,但每个段都有一个段基址寄存器分别为cs,ds,es。所以访问不同的段时并不需要在各个段之间切换,cs专门用来访问代码段,ds访问数据段,es访问附加段。所以不用担心访问不同的段要频繁的改变寄存器...(2004-05-14 13:58)
root60931哈哈, 你说的事8086的汇编吧,在8086年代程序的确是分为代码段,数据段和附加段,但每个段都有一个段基址寄存器分别为cs,ds,es。所以访问不同的段时并不需要在各个段之间切换,cs专门用来访问代码段,ds访问数据段,es访问附加段。所以不用担心访问不同的段要频繁的改变寄存器...(2004-05-13 23:10)
Ymd1023 早期何必管那么多。都过时了。 (2004-05-11 14:13)
wowocock嘿嘿。。。。。。(2004-05-10 20:46)
escape早期何必管那么多。都过时了。(2004-05-10 16:53)
pingjingde 我是问以前的计算机结构 汇编语言程序结构 设计都是那样干的 我想了解早期 机器指令运行的真实情况 现在人们离机器 越来越远了(2004-05-10 16:51)
escape嗬嗬,都是用虚拟内存了,哪有什么连续内存啊? 段寄存器有好几个哟。 先把分给了,有问题可以继续问.(2004-05-10 16:44)

返回顶部