QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1960|回复: 3

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

[复制链接]
发表于 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等寄存器?
发表于 2004-10-17 21:47:29 | 显示全部楼层
1.没法用,就算是浪费一点吧.
0-9ffff RAM
A0000-fffff 具体要看各个机器,可以通过bios中断具体查询内存分配图.
fffff- 4gb 就基本上是ram了.

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

使用道具 举报

发表于 2004-10-29 21:16:34 | 显示全部楼层
intel X86 使用分段是为了兼容8086,如果使用了分段,那么分段就没有必要了!
回复

使用道具 举报

发表于 2004-10-31 15:19:12 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-17 02:00 , Processed in 0.053122 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表