VMware下 DOS7.1 中 运行.com文件出错的解决办法

本文介绍了解决在DOS环境下编译.asm文件出现emm386错误的方法,通过修改config.sys文件去除emm386相关设置即可。此外,还详细解释了config.sys的作用及其常见配置项的意义,帮助理解DOS内存管理和系统配置。
摘要由CSDN通过智能技术生成

刚才在进入dos后,编译.asm文件获得.com文件,但系统会出现:emm386:unrecoverable privileged operation error #n9.press enter to reboot.. 的显示。

     在网上一搜有如下解决办法:

               在dos下修改config.sys文件,将emm386那一行去掉即可。
                (修改文件的命令为:edit config.sys)

       但基本上没人更深究其原因,于是我有搜了一下config.sys相关内容发现原来如此:

     Config.sys是用来在启动时加载系统文件的。
加载文件的命令是Device,比如每个Config.sys里都有一条命令 Device=Himem.sys ,这就是加载Himem.sys的命令。
另外,这里还可以设置Dos命令占用空间,比如DOS=High,UMB
可以设置临时文件夹,比如 Set Temp=c:/Temp
而且Config.sys和Autoexec.bat相结合,还可以制作多模式启动菜单。

一些在config.sys中经常用到的配置项目如下:

1、FILES=数字

表示可同时打开的文件数,一般可选择20到50,需要注意的是,如果把FILES的值设得过大会占用过多的基本内存。系统缺省为FILES=8。

2、BUFFERS=数字

表示设置磁盘缓冲区的数目,通常设置为20-30左右。缺省值一般为15。磁盘缓冲区是一块内存区,用于存储从磁盘读入的数据或存储写到磁盘的数据。

3、DEVICE和DEVICEHIGH

用于加载一些内存驻留程序,用于管理设备。比如内存管理程序和光驱驱动程序等。如:

DEVICE=C:\DOS\HIMEM.SYS

DEVICE=C:\DOS\EMM386.EXE RAM

DEVICEHIGH=C:\CDROM\CDROM.SYS

DEVICEHIGH与DEVICE的不同是前者将程序加载入高端内存。

4、HIMEM.SYS和EMM386.EXE

DOS只能直接使用640KB的内存,即基本内存,必须依靠其他内存管理程序来使用更多的内存,这两条命令就是最常用的内存管理程序。

其中640KB到1MB之间的内存被称为高端内存,是系统保留使用的。1MB以上的内存成为扩展内存,HIMEM.SYS就是负责管理扩展内存的。

EMM386.EXE负责管理高端内存并在扩展内存中模拟扩充内存供某些软件使用。

因此为了使用更多的内存,配置文件中应有以下指令。

DEVICE=C:\DOS\HIMEM.SYS

DEVICE=C:\DOS\EMM386.EXE RAM

需要注意的是:EMM386.EXE必须要求先安装HIMEM.SYS,因而必须确保安装HIMEM.SYS的配置命令在EMM386.EXE之前。

5、DOS=HIGH,UMB

一般情况下,需要CONFIG.SYS文件加入这条命令,这样会将DOS的系统文件移入高端内存,空出更多的基本内存给其他软件使用。需要注意的是,如果没有安装EMM386.EXE,UMB,那么这条指令将是无效的。

下是一个典型的CONFIG.SYS文件内容:

DEVICE=C:\DOS\HIMEM.SYS (加载himem,扩展内存管理器)

DEVICE=C:\DOS\EMM386.EXE NOEMS (高端内存并入扩展内存的工具)

BUFFERS=15,0          (缓冲区数目)

FILES=50            (同时打开的文件数)

DOS=UMB            (系统把DOS本身放在什么地方)

LASTDRIVE=Z          (驱动器盘符最大可以用大哪个)

DOS=HIGH                         

DEVICEHIGH=C:\DOS\ATAPI_CD.SYS /D:MSCD000 /I:0 (加载光驱驱动程序。)

STACKS=9,256

此外,在CONFIG中还可以配置菜单式多重任务选择的配置,用于不同任务的选择,比如玩游戏、设置虚拟磁盘等,不过在这些应用在目前已经不常用了,这里就不多做介绍了。

一个小小的错误背后居然有如此之丰富的内容,值得深思。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xmas106350/archive/2010/08/02/5783696.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值