. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
基础知识
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
问几个问题,关于内存地址
[已解决]
回复[
6
次 ] 点击[
467
次 ]
zhhaogen
[帖 主]
[ 发表时间:2010-07-20 11:05 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:2
注册日期:2010-07-20 10:16
1.cpu是16位的,也就是说最大能表示FFFFH(4位8进制),物理地址是20位的,也就是说能传输FFFFFH(5位8进制),如果段地址为FFFFH,偏移地址为FFFFH的话,物理地址=FFFFH*10H+FFFFH=10FFEFH明显大于FFFFFH,这不是会出错吗?
2.物理地址是指内存或硬盘吗?物理地址最大范围是1M(0-FFFFFH),而内存条肯定是不止1M的
zhhaogen
[第
1
楼]
[ 回复时间:2010-07-23 20:22 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:2
注册日期:2010-07-20 10:16
是我问题太简单了?还是太难了?三天了都没人回答
007vivi
[第
2
楼]
[ 回复时间:2010-07-27 09:57 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:1
信誉值:0
注册日期:2008-11-09 15:22
1.段地址不可能是FFFFH,应该是低4位以0结尾的.
2.物理地址就是内存地址,段地址可能出现重叠.表示的范围就很大了.
xinfeiyang
[第
3
楼]
[ 回复时间:2010-07-27 20:37 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:0
注册日期:2010-07-27 20:05
你好撒!
我也是刚学习这本书了!
但是对于你的提问我有点疑惑了!
1、首先段地址是10H的倍数,所以你给出的段地址是错误的,不可能有这种段地址
2、物理地址的计算方法是正确的,但是这仅仅只是它的一种计算方法,我们可能列举的是一个比较特殊的实例,计算的物理地址比实际的机器物理地址要大,但是也没有关系啊,证明了cpu可以访问所有的物理地址,这样很好啊?
3、物理地址就是内存的地址,O(∩_∩)O~,其实对于内存的访问是根据不同型号的计算机处理器cpu来的吧
比如说我们的计算机cpu基本都是32位吧,那么它的最大寻址能力就可以达到2G了
完全可以访问到所有的内存空间吧
不知道我说的对不对
不对的地方希望可以指出,一起学习一起进步了!
xinfeiyang
[第
4
楼]
[ 回复时间:2010-07-27 20:38 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:0
注册日期:2010-07-27 20:05
32位应该是4G,呵呵!
xiilin
[第
5
楼]
[ 回复时间:2010-07-27 23:04 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:7
信誉值:0
注册日期:2010-02-06 21:41
1.段地址是0xFFFF,偏移地址是0xFFFF的话,对应的地址是FFFFF0+FFFF=10FFEF,为了访问0x100000到0x10FFEF的地址,增加了第21根地址线A20,当A20地址线关闭时,遇到0x100000以上的地址就从0开始重新计算。因此到了80386之后,如果想进入保护模式,必须打开A20地址线。
2.物理地址指的是内存单元的编号,跟硬盘无关,物理内存如果大于这个地址空间也是没用的,浪费掉了。而保护模式下地址空间有4GB,即使你的内存不够这么大,也是可以使用0xFFFFFFFF这个地址的,这由操作系统实现。
zhhaogen
[第
6
楼]
[ 回复时间:2010-08-15 11:22 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:2
注册日期:2010-07-20 10:16
此贴由 贴主 于 [ 2010-08-15 11:22 ] 结贴。 结贴原因:问题已解决
得分情况: 2楼(007vivi):1分 3楼(xinfeiyang):1分 4楼(xinfeiyang):1分 5楼(xiilin):7分
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved