|
主题 : : 现在的cpu和8086的区别到底是什么? [待解决] |
回复[ 6次 ]
点击[ 731次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-11-28 11:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-13 09:19 |
现在我们的cpu都是32位的,地址总线也是32位的 8086是16位的,地址总线是20位的,为什么我用 debug -d c000:0000 3ffff 也就是王老师说的rom段,还存在呢?现在不是32位寻址吗?怎么还是20位的寻址。刚学汇编请多指教。谢谢。 | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-11-28 12:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
|
|
|
|
|
[第2楼]
[ 回复时间:2008-11-28 14:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-13 09:19 |
谢谢mess,我看了两遍,理解了 其实debug 运行的环境是在实模式下也就是8086,我现在不明白的是难道我们现在的内存还真有一段空间是存“各类rom地址空间”(c0000-fffff),好像现在都在BIOS中,电脑自检的时候能用到是吧。还是内存的这段空间(c0000-fffff)就是给实模式8086用的?保护模式不用?希望帮我解答,再次谢谢 | | |
|
|
|
|
[第3楼]
[ 回复时间:2008-11-28 15:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
其实debug 运行的环境是在实模式下也就是8086
-------------
这个结论不对吧。
我现在不明白的是难道我们现在的内存还真有一段空间是存“各类rom地址空间”(c0000-fffff)
-----------------
万变不离其宗。 | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-11-28 18:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-13 09:19 |
1.debug 也是在cmd 下的吧。根据附录的说法,应该是。在这之前几天我看第二章debug时,我对当前寄存器修改(好像是debug -a )结果退出程序后寄存器没变,当时我就想debug 应该是在虚拟环境中运行的,所以现在我想来应该是实模式了。呵呵,我不敢确定。
2.至于还真有一段空间是存“各类rom地址空间”(c0000-fffff),我仔细想了一下,有实模式也就是8086,是不是就给他用的,保护模式不用,因为只有他是20位地址呀!现在不可能在用20寻址了吧!现在的各类rom应该都固化在bios中。开机自检,还包括内存,显存。不知道是不是,呵呵。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2008-12-01 15:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-09-11 11:34 |
1,cmd,command是什么,你可以上网查一下.
2,debug是一个dos系统下的软件.我们用command后,内部调用了一个虚拟dos软件.我们所作的东西都是在这个虚拟dos环境下进行的
3.你的第二个问题.内存空间分配情况是由于8086cpu的20跟地址线原因,寻址能力有限.因此如此分配.这个和保护模式没有关系. | | |
|
|
|
|
[第6楼]
[ 回复时间:2008-12-01 16:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-13 09:19 |
谢谢 justlikeit_361 ,您对第二个问题的回答,我没看明白,我的意思是说,是不是在开机的时候就在内存中加载20位的“各类rom地址空间”这段20位的空间保护模式不用,就是给实模式8086用的。然后,保护模式在用正常的32位来利用内存。 请教我。谢谢大家。 | | |