中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-29 15:46
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 关于DOS可寻址内存大小? 查看 800 回复 1
楼 主 关于DOS可寻址内存大小? 发表于 2006-01-05 18:35 ·  中国 广东 广州 白云区 电信
荣誉版主
★★★
积分 718
发帖 313
注册 2005-09-26 00:00
20年会员
UID 42844
性别 男
状态 离线
在CSDN中看到有这么一个贴子:

在实模式下能够访问的最大内存地址是FFFF:FFFF,其对应的物理地址是:
FFFF * 16 + FFFF + 1
=FFFF0 + FFFF + 1
=FFFF0 + 10000
=10FFF0
=1087K 零 1008个字节
=1M 零 63K 零 1008个字节
也就是说,在实模式下,能访问1M多的内存空间,为什么说只能访问1M的空间呢?是不是还有其它的限制?


我也想了解下,请教大家。
2 发表于 2006-01-06 12:14 ·  中国 广东 中山 电信
高级用户
★★★
积分 972
发帖 420
注册 2004-05-16 00:00
22年会员
UID 24467
性别 男
状态 离线
1M=FFFFF(8086的20条地址线全用上了)
FFFF:FFFF=1M+FFFF-F
286开始地址线不止20条(286/24/16M,386/32/4G), 有了A20Gate
A20Gate是disable时,1M以上空间会绕回去从头开始(和8086表现一样)
A20Gate是enable时,这64K-16bytes可以访问(对这个大小很熟悉?叫HMA)

[ Last edited by darkradx on 2006-1-6 at 12:49 ]
平生进退如飙风
论坛跳转: