中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 13:24
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 请问有否DOS上的支持实模式且可使用32位寄存器和大内存的C 查看 1,484 回复 7
楼 主 请问有否DOS上的支持实模式且可使用32位寄存器和大内存的C 发表于 2005-04-20 00:00 ·  中国 北京 朝阳区 联通
初级用户
积分 110
发帖 3
注册 2005-04-20 00:00
21年会员
UID 38404
性别 男
状态 离线
因开发底层软件,一直使用DOS环境下的BORLANDC3.1,但这个软件可能太老些了吧,不但不能使用大内存,而且连32位寄存器也无法使用,据说DGJPP比较好,但只支持保护模式,本人开发的程序必须运行在实模式下(要进行直接I/O操作和中断调用),请问各位老师,有否DOS上的支持实模式且可使用32位寄存器和大内存的类似BC语言集成调试环境?谢谢!dhwang@163.com
2 发表于 2005-04-21 00:00 ·  中国 广东 深圳 电信
中级用户
积分 225
发帖 39
注册 2004-10-06 00:00
21年会员
UID 32162
性别 男
状态 离线

不能怪“BC31”,看到您这个问题,颇有同感,它也困扰了我好几年,我始终相
信Borland公司不是傻蛋。您提出这个问题后,刺激我去试一试。“天啊”,我自己都
不敢相信自己的眼睛:OK了!!! 我高兴,我欢呼,我好激动......在菜单------选中->
或者是
选中->32位寄存器从此解决了。谢谢您,亲爱的Marchsnow!您让我改变了对Bc31的态度!
例如:void main(){ asm mov ax, 0 asm mov eax, 0 asm{ mov ax, 0 mov eax, ebx };}
3 发表于 2005-04-22 00:00 ·  中国 北京 联通
初级用户
积分 110
发帖 3
注册 2005-04-20 00:00
21年会员
UID 38404
性别 男
状态 离线
亲爱的郭先生:您好!
首先,非常感谢您的帮助指教!
您说的通过assemble进行编译的办法,前一段时间我也曾试过,不过BC31默认的汇编语言编译器是TASM1.0,它好像也不认识32位寄存器,所以曾尝试用MASM6.11替代TASM1.0进行编译,但不知是否操作问题,没成功,就没再试验。一会再试一下。谢谢您!还有,打开和使用高端内存有什么好的方法吗?请赐教!谢谢您!
4 发表于 2005-04-22 00:00 ·  中国 广东 深圳 电信
中级用户
积分 225
发帖 39
注册 2004-10-06 00:00
21年会员
UID 32162
性别 男
状态 离线

关于32位寄存器,我的BC31的Tasm.exe版本是V3.1,编译链接通过。
“打开和使用高端内存”可调用XMS扩展内存管理程序分配获得。由于高位内存大约只有64K不到(65520字节),不知您为什么要使用它,并且它是全局唯一分配的,所
以它可能被其它程序占有,很难分配成功!例如您在Config.Sys中有如下语句
DOS=HIGH,UMB
如果您是直接访问高位内存的话,可以直接打开A20地址线(可查相关x86书籍获得),在实模式下就可以用“Seg:Offset”访问到.。
如果您需要大内存来保存数据,建议用XMS扩展内存来存贮。它在DOS下有4GB,Win9x有4M空间,
在Win2000有2M空间,在WinXp有2M空间.所以“直接访问常规内存”之外的内存是相当危险的,并
且不兼容其它操作系统。
5 发表于 2005-04-22 00:00 ·  中国 北京 联通
初级用户
积分 110
发帖 3
注册 2005-04-20 00:00
21年会员
UID 38404
性别 男
状态 离线
不好意思,我刚才试了一下,通过了,我的版本号也是TASM3.1,上次估计可能是忘了修改CPU为80386了!非常感谢您!至于大内存问题吧,我现在做一个系统的安装程序,需要在DOS下,加载尽可能少的驻留程序的情况下,完成NTFS分区的格式化工作和类似碎片整理的工作,BC好像最大只能分配不到64K内存,所以要频繁读盘,可现在的硬盘动辄几十G,速度很慢,需等待的时间很难容忍,所以有可能的情况下想通过尽可能多的内存来缓解运行速度。不知是否有方便的方法?
6 发表于 2005-04-25 00:00 ·  中国 湖北 荆州 电信
高级用户
★★★
积分 994
发帖 444
注册 2005-01-29 00:00
21年会员
UID 35779
性别 男
状态 离线
啊....都是高手啊...
7 发表于 2005-08-11 18:41 ·  中国 上海 教育网
初级用户
积分 41
发帖 4
注册 2005-07-27 13:10
21年会员
UID 41101
性别 男
状态 离线
大侠啊!!!!!!!
8 发表于 2005-08-11 19:11 ·  中国 广东 深圳 罗湖区 电信
中级用户
★★
积分 316
发帖 74
注册 2004-03-04 00:00
22年会员
UID 19167
性别 男
状态 离线
这个问题很经典,希望高手门多多发表见解。
论坛跳转: