![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 12:20 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » dos内存不够用了怎么办? |
| 可打印版本 1,440 / 3 |
| 第1楼 tianmian | 发表于 2008-05-24 19:51 |
| 初级用户 发帖 41 积分 100 | |
|
dos内存不够用了怎么办? 开发的一个与原来程序配套的tsr程序,但现在运行tsr之后内存空间不够了,原来的程序跑不起来了,该如何是好?
|
|
| 第2楼 netwinxp | 发表于 2008-05-24 22:54 |
| 高级用户 发帖 366 积分 741 | |
|
你的TSR到底完成什么功能需要那么大的内存?一般几K(我写的几乎没有超过4K)足够了。
[ Last edited by netwinxp on 2008-5-24 at 10:55 PM ] |
|
| 第3楼 tianmian | 发表于 2008-05-26 10:55 |
| 初级用户 发帖 41 积分 100 | |
|
需要加载网络功能的,用的是wattcp的协议栈
|
|
| 第4楼 netwinxp | 发表于 2008-05-27 14:27 |
| 高级用户 发帖 366 积分 741 | |
|
你可以酱紫——
TSR常驻内存部分分成装入其它模块的Loader、全局性变量、用来装其他模块的保留空间三部分,然后把其他模块按模块装到4M以上的内存(MASM.586模式下可以用32位寄存器直接在实模式访问4G内存(需要在段采用USER32模式),1M~4M之间存放有BIOS其它一些扩展部分、板卡占用的空间等,所以要避开),要访问时把相应的模块装到保留空间,然后再调用(注意要自己完成重定位功能,有点类似.OVL文件的调用)。酱紫就可以使用很少的常规内存完成大量的驻留功能。 注意TSR程序几乎不要用DOS功能调用(防止DOS重入而死机)。 [ Last edited by netwinxp on 2008-5-27 at 02:37 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |