![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 17:25 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 请问在DOS下怎样访问32位的地址空间 |
| 可打印版本 1,513 / 12 |
| 第1楼 luyd | 发表于 2003-04-28 00:00 |
| 初级用户 发帖 2 积分 109 | |
|
请问在DOS下怎样访问32位的地址空间 不弟我最近做一个PCI卡,BIOS把它映射到Baseaddress为40400000的空间
请问在DOS下我怎样才能访问(读写)到这块内存啊,我用的用BC31,我该怎么做,大侠救命! |
|
| 第2楼 如是大师 | 发表于 2003-04-28 00:00 |
| 元老会员 发帖 3,351 积分 9,654 来自 湖北 | |
|
不太懂,看wengier吧,帮你顶一下。
|
|
| 第3楼 Wengier | 发表于 2003-04-29 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
这个嘛,最好用汇编寻址,用BC可能不太方便,不过我也没用过。
|
|
| 第4楼 Dark-Destroy | 发表于 2003-04-29 00:00 |
| 元老会员 发帖 3,551 积分 8,312 | |
|
問一下,汇编是指什麼??
|
|
| 第5楼 luyd | 发表于 2003-04-29 00:00 |
| 初级用户 发帖 2 积分 109 | |
|
多谢各位前辈,请快快教我几招,我都快急疯了。
|
|
| 第6楼 ATLaS | 发表于 2003-07-09 00:00 |
| 初级用户 发帖 29 积分 169 | |
|
real mode下是无法访问该地址空间的。bc31下好像应该也有一个32-bit dpmi host或类似的东西,从而使程序运行在32-bit保护模式下,这样内存地址的映射就是flat模式的。直接定义一个far指针,指向该地址,就可以访问了。在watcom c+dos4g/w下做过,但bc下就不清楚了。
|
|
| 第7楼 Dark-Destroy | 发表于 2003-07-10 00:00 |
| 元老会员 发帖 3,551 积分 8,312 | |
|
用djgpp也可以呢~
djgpp有cwsdpmi呢~ |
|
| 第8楼 feng | 发表于 2003-09-10 00:00 |
| 初级用户 发帖 5 积分 117 | |
|
我也遇到一个一模一样的问题,不知道你的问题解决了没有,如果解决了可不可以告诉我一下,如果没解决可以切磋一下,我的邮箱是[email protected]
|
|
| 第9楼 ldy810 | 发表于 2005-10-07 22:05 |
| 新手上路 发帖 6 积分 13 | |
|
你可以先关掉GATE A20,然后调用1M以少内存,不过做多也只能访问4G
|
|
| 第10楼 taowentao | 发表于 2005-10-08 16:03 |
| 高级用户 发帖 111 积分 739 来自 辽宁沈阳 | |
|
它的线性地址是40400000 >> 12 + 0000 = 40400,在1M以内,实模式完全可以访问。
|
|
| 第11楼 jhbin_1999 | 发表于 2005-10-09 22:36 |
| 初级用户 发帖 4 积分 117 | |
|
我也遇到同样的问题,想和你交流一下,email:[email protected]
qq:55512153 |
|
| 第12楼 killiori | 发表于 2005-10-15 21:20 |
| 新手上路 发帖 15 积分 15 来自 湖北襄樊 | |
|
1 char far *p = (char far *) 0x40400000L
|
|
| 第13楼 killiori | 发表于 2005-10-15 21:22 |
| 新手上路 发帖 15 积分 15 来自 湖北襄樊 | |
|
1 需要加offset
sorry |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |