cxh_nuaa_2001 发表于 2004-9-9 12:14:13

各位高手,小弟请教一些问题。。。

1、据我所知,在计算机复位后,CPU会在 FFFFO:0000 处执行第一条指令。书上说这是BIOS的入口。我想知道,既然这是BIOS的入口地址,那么是不是就是说从这开始有一段地址空间是分配在ROM-BIOS上,而在内存RAM上却留下相应的一段空洞,不能访问RAM上的这一段存储区?如果那位知道的话,麻烦请你告诉我。顺便详细的说一下ROM-BIOS和RAM的地址是怎样分配的?
2、大家都知道,LINUX是支持页式内存管理的,但是却绕过了段式内存管理。我记得有一本书说这也是GCC的一个特性,也就是说GCC不支持分段的内存管理。大家都知道,TURBO C也能编译C程序。但是据我所知,它是支持分段的。我想知道,如果我想写一个象LINXU一样的支持页式内存管理,却绕过INTEL的段式内存管理,能不能用TURBO C写。
3、TURBO C能不能编译要运行保护模式的C程序,也就是说它能不能用到EAX、EBX、……、CR0、CR1……、GDTR、LDTR、TR等寄存器?

sd_2001 发表于 2004-10-17 21:47:29

1.没法用,就算是浪费一点吧.
0-9ffff RAM
A0000-fffff 具体要看各个机器,可以通过bios中断具体查询内存分配图.
fffff- 4gb 就基本上是ram了.

2.不能用turbo c 写, 因为turbo c是16位的.

mpcdd 发表于 2004-10-29 21:16:34

intel X86 使用分段是为了兼容8086,如果使用了分段,那么分段就没有必要了!

suowei1979 发表于 2004-10-31 15:19:12

:)
页: [1]
查看完整版本: 各位高手,小弟请教一些问题。。。