|
主题 : : ffff:0010以后的内存单元存放的什么东西啊? [已解决] |
回复[ 12次 ]
点击[ 601次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-12-11 10:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
8086内存范围不是0-fffff吗?超过的部分我用debug -d可以显示啊,究竟放的什么东西,怎么才能寻址寻到这些内存?? | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-12-11 11:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
|
|
|
|
|
[第2楼]
[ 回复时间:2008-12-11 11:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-12-11 18:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2008-12-11 17:37 |
我也顶一下,我也刚试试了试,不知道为什么?
我以为,会出现环绕:即0000:0000 和ffff:10 这两个开始的128个字节的值一样,可是试了一下,不知道为什么不对?呵呵,请高人指点? | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-12-11 20:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
可能是debug -d命令为了满足自己的虚荣心,也就是命令格式漂亮,对超过寻址范围但是符合语法的段+偏移(即段占4位,偏移占4位)都瞎JB处理了下。 呵呵 不知道对不对 请大虾指点一、二啊 | | |
|
|
|
|
[第5楼]
[ 回复时间:2008-12-11 20:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
|
|
|
|
|
[第6楼]
[ 回复时间:2008-12-14 10:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
|
|
|
|
|
[第7楼]
[ 回复时间:2008-12-15 16:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-12-10 22:02 |
谢谢,,,我刚学,,还不知道debug -d是什么??呵呵,,百度了下,,明白了,,,又多学了点东西,,(*^__^*) 嘻嘻…… | | |
|
|
|
|
[第8楼]
[ 回复时间:2008-12-15 17:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
|
|
|
|
|
[第9楼]
[ 回复时间:2008-12-15 18:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-20 20:14 |
|
|
|
|
|
[第10楼]
[ 回复时间:2008-12-16 10:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:0
注册日期:2008-12-14 16:04 |
8086是16位机,外部地址总线为20,所以只能寻址0~fffffh,因为地址总线只能传输20位
但是我们现在的机子应该都是32位的,外部地址总线有32根,可以传输32位,所以可以显示ffff:ffff之前的地址,因为在地址总线上传输的是绝对地址,ffff:ffff在CPU内经过地址加法器后生成的地址绝对不会到32位,所以可以显示。但为什么不能显示ffff:ffff后面的呢?应该是寄存器只有后16位被用起来。 | | |
|
|
|
|
[第11楼]
[ 回复时间:2008-12-16 12:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
|
|
|
|
|
[第12楼]
[ 回复时间:2008-12-16 12:11 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-11-30 21:20 |
此贴由 贴主 于 [ 2008-12-16 12:11 ] 结贴。 结贴原因:问题已解决 | | |