内存提问

mh_z 2003-08-21 11:22:51
有谁能详细的解释一下X86下ROM,RAM的地址分配问题,如:比如我的机子上插
有256M RAM。ROM是多大,怎样检测到各内存大小?
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
spbabyba 2003-08-26
  • 打赏
  • 举报
回复
rom可以拿下来,用烧写器自动检测.
ramBIOS程序里面有检测.
hswxf 2003-08-24
  • 打赏
  • 举报
回复
楼主:
存储器是统一编址的,在系统看来不会区分的,你只能通过机器的各自结构来分析
不同的机器它的ROM与RAM的大小定义是有差别的,不能从通用的一个定义上给出
可以区分的是从功能上,在实模式(或RING0)上的RAM与ROM不好分,但可以通过间接方式对如BIOS的大小进行检测但不准确
Areslee 2003-08-22
  • 打赏
  • 举报
回复
最可靠的办法是按地址读写所有内存,到不能正常读写时就是内存的最高端了
Alecksun 2003-08-22
  • 打赏
  • 举报
回复
INT 15h, AX=E801h
返回
CF 进位标志 不进位表示没有错误
AX 扩展1 1到16M内存的容量,以KB为单位,最大数量0x3C00 = 15M
BX 扩展2 16MB到4GB之间的内存容量,以64K为单位
CX 配置1 1到16M内存的容量,以KB为单位,最大数量0x3C00 = 15M
DX 配置2 16MB到4GB之间的内存容量,以64K为单位
无法确定"扩展"和"配置"之间的不同到底在哪里,事实上它们的值是相同的。
asmzyd 2003-08-22
  • 打赏
  • 举报
回复
我承认也许我在扯淡:
请看<pc技术内幕>:
关于适配卡的ROM表头的介绍.
andywolf 2003-08-22
  • 打赏
  • 举报
回复
同意楼上的办法,RAM大小比较好检测,也可以直接从BIOS里面取出来!Rom则是映射在高端Mem里面的,BIOS就写在Rom里面的,它就映射在FFFC0000~FFFFFFFF,对应1mb的内存地址为:000C0000~000FFFFFh!(256k)这个其它的要看资料了
W32API 2003-08-21
  • 打赏
  • 举报
回复
想自己写 BIOS 里面的开机自检程序啊!!??~~~~~~~~~~~~~~~~~~~~
紫郢剑侠 2003-08-21
  • 打赏
  • 举报
回复
ROM容量与RAM容量之间没有多大关系.
开机自检信息里有.

21,457

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧