![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-24 23:30 |
共 47,815 主题排行 / 349,928 发帖 / 今日 0 篇 / 48,288 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 为何内存加大后 DPMI 不可用? |
| 可打印版本 1,581 / 2 |
| 第1楼 DOSforever | 发表于 2008-09-21 23:17 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
为何内存加大后 DPMI 不可用? MS-DOS 6.22 ,原内存为256M,加大到384M后发觉原来所有可使用 DPMI 的程序都出错。使用的 DPMI host 程序为 QEMM 9.0 中的 QDPMI 。
QEMM 版本:
QDPMI 和所提供的 DPMI 版本,以及其设置:
比如原本 PKZIP / PKUNZIP 是可以通过调用 DPMI 来提高效能的,但现在运行时却无法使用 DPMI ,一旦调用就出错:
还有一些出错时的内存地址和寄存器值如下:
|
|
| 第2楼 DOSforever | 发表于 2009-04-13 09:56 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
等待高手回答
|
|
| 第3楼 stockghost | 发表于 2009-05-16 23:18 |
| 中级用户 发帖 105 积分 215 | |
|
DOSforever,你说的问题,DPMI我有过了解,但对具体的东西不太清楚。
估计是内存过大,DOS6.2x下DPMI好像不能超过256M。 下面是我的一点经验,供参考。 曾经用Djgpp为256M的联想无盘站M270S(环境纯DOS6.21)写过程序,原DOS6.21系统别人事先配置好。 CWSDPMI进去后找C:\cwsdpmi.swp,用-s-取消后,分配不了多少内存就出错,无法使用。 用内存盘虚拟c:\,程序大部分正常,但运行时常碰到分配内存的错误,使得程序异常终止退出或死机。 估计是程序要不断地分配释放内存造成内存碎片太多以至于无法再分配内存或者扩展内存管理程序太旧造成的。 后来还是取消内存盘,将cwsdpmi -s,把DOS6.21的himem.sys、emm386.exe换成MSDOS 7.1的,将config.sys中 device=emm386.exe noems xxxx改为device=emm386.exe noems novcpi后,程序运行正常。 该程序在msdos7.1下,256、384内存运行正常。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |