~_OO_~ 发表于 2013-8-7 18:04:44

关于8086CPU内存地址空间分配

《汇编语言》第二版24页图1.9提到,8086PC机内存地址(00000H-FFFFFH)分配基本情况:00000H-9FFFFH为主存储器地址空间(RAM)。( 其中 00000H-FFFFFH 可寻址16X16X16X16X16Byte=2^20B=1MB)
00000H-9FFFFH 可寻址10X16X16X16X16Byte=10X2^16B=10X2^6KB=640KB,此处主存储器RAM代表的应该是通常所说的内存条,那么是不是可以理解为8086PC最大可以支持容量为640K的“内存条”?在网上搜索提到寻址还和操作系统有关,那假如是裸机呢?(不知道汇编程序是否可以在裸机运行,相关的编译器是怎么解决的?)完全搞糊涂了,希望哪位大神给以详细解答,先谢过了。:lol::lol::lol:

Crazy迷恋. 发表于 2013-8-7 21:31:23

一个内存地址单元就是一个byte。有多少个就是多少个字节。楼主不要太纠结。我们学的是8086汇编语言也就是说8086是一款CPU,那么只要这个CPU支持这些指令集。那么都能跑。

~_OO_~ 发表于 2013-8-8 08:44:40

Crazy迷恋. 发表于 2013-8-7 21:31 static/image/common/back.gif
一个内存地址单元就是一个byte。有多少个就是多少个字节。楼主不要太纠结。我们学的是8086汇编语言也就是说 ...

一个内存地址单元就是1Byte,这个知道,那上面的理解“ 最大支持640KB的’内存条‘”,这种观点是否有漏洞之类的呢???{:5_94:}

福禄娃娃 发表于 2013-8-8 13:31:21

当年8086时代,根本没有那么大的内存条,理论上支持1M的内存,实际上当时最多也只有640KB的内存。
裸机就是没有任何操作系统,没人替你管理硬件了,编译器肯定要运行在操作系统之上的。

ck329054222 发表于 2013-8-8 14:42:21

理论上的1M不都是ram,还包括显存之类的外设

tsembrace 发表于 2013-8-8 14:56:50

内存条是主板插槽上的ram,属于扩展ram
除此之外,还有主板本身的ram/rom,还有显卡,网卡,声卡。。。
你那个理解大差不差吧,如果要精确一些的话,对于8086就是:(640KB-其他器件上的ram总和);

~_OO_~ 发表于 2013-8-8 16:24:39

福禄娃娃 发表于 2013-8-8 13:31 static/image/common/back.gif
当年8086时代,根本没有那么大的内存条,理论上支持1M的内存,实际上当时最多也只有640KB的内存。
裸机就是 ...

谢谢啊:lol:
页: [1]
查看完整版本: 关于8086CPU内存地址空间分配