标题: 请问在DOS下怎样访问32位的地址空间
[打印本页]
作者: luyd
时间: 2003-4-28 00:00
标题: 请问在DOS下怎样访问32位的地址空间
不弟我最近做一个PCI卡,BIOS把它映射到Baseaddress为40400000的空间
请问在DOS下我怎样才能访问(读写)到这块内存啊,我用的用BC31,我该怎么做,大侠救命!
作者: 如是大师
时间: 2003-4-28 00:00
不太懂,看wengier吧,帮你顶一下。
作者: Wengier
时间: 2003-4-29 00:00
这个嘛,最好用汇编寻址,用BC可能不太方便,不过我也没用过。
作者: Dark-Destroy
时间: 2003-4-29 00:00
問一下,汇编是指什麼??
作者: luyd
时间: 2003-4-29 00:00
多谢各位前辈,请快快教我几招,我都快急疯了。
作者: ATLaS
时间: 2003-7-9 00:00
real mode下是无法访问该地址空间的。bc31下好像应该也有一个32-bit dpmi host或类似的东西,从而使程序运行在32-bit保护模式下,这样内存地址的映射就是flat模式的。直接定义一个far指针,指向该地址,就可以访问了。在watcom c+dos4g/w下做过,但bc下就不清楚了。
作者: Dark-Destroy
时间: 2003-7-10 00:00
用djgpp也可以呢~
djgpp有cwsdpmi呢~
作者: feng
时间: 2003-9-10 00:00
我也遇到一个一模一样的问题,不知道你的问题解决了没有,如果解决了可不可以告诉我一下,如果没解决可以切磋一下,我的邮箱是feng9842004@yahoo.com.cn
作者: ldy810
时间: 2005-10-7 22:05
你可以先关掉GATE A20,然后调用1M以少内存,不过做多也只能访问4G
作者: taowentao
时间: 2005-10-8 16:03
它的线性地址是40400000 >> 12 + 0000 = 40400,在1M以内,实模式完全可以访问。
作者: jhbin_1999
时间: 2005-10-9 22:36
我也遇到同样的问题,想和你交流一下,email:
jhbin_1999@126.com
qq:55512153
作者: killiori
时间: 2005-10-15 21:20
标题: 1
char far *p = (char far *) 0x40400000L
作者: killiori
时间: 2005-10-15 21:22
标题: 1
需要加offset
sorry