如何使用dosbox运行汇编语言程序

如何使用dosbox运行汇编语言程序,第1张

①安装好dosbox,然后找到“dosbox...options.bat”,双击它,(别急着点dosbox.exe)。

图1

②在d出的文本编辑器(如,记事本)中调整设置,找到[autoexec]所在行,添加两行(以d:\为例):

mount c: d:\

c:

图2

③下载并安装好nasm(一种小的汇编软件)

建议在dosbox中汇编并运行(按图3下文件、打开、解到d:\123);也可以在windows下汇编,dosbox里运行(这个我之前写过……)

图3

④打开dosbox,依次输入命令

cd 123

nasm

可以看到nasm安装成功并且能使用了,下一步是准备汇编代码

⑤在d:\123目录下新建一个文本文档123.txt

输入以下代码并保存(XXX可以随便改,$符号要保留)

org 256

jmp begin

s db 'hello, world! @author: XXX$'

begin:

mov dx,s

mov ah,9

int 21h

mov ax,4c00h

int 21h

⑥在dosbox的黑窗口里面继续输入以下命令

nasm 123.txt -o 123.com

123

然后就可以看到输出的字符串

hello, world! @author: XXX

1、搜索dosbox,debug进行下载。

dosbox下载地址:http://sourceforge.net/projects/dosbox/files/dosbox/0.74/DOSBox0.74-win32-installer.exe/download或http://pan.baidu.com/s/1qWM71GK、

debug下载地址:http://pan.baidu.com/s/1mgmNJD2。

2、安装dosbox软件默认位置 C:Program Files (x86)DOSBox-0.74。

3、把DEBUG文件夹放到D盘。

4、打开DOSBox 0.74或者DOSBox 0.74 (noconsole)(只打开一个窗口)。

5、关掉dosbox配置dosbox.conf。

6、打开打开DOSBox 0.74或者DOSBox 0.74 (noconsole)。

7、直接进入debug命令行下。

DOSBox DOSBox软件是当前在 Windows 系统运行 DOS 游戏的较为完美的解决方案,该软件不仅能支持相当多的游戏实现正常运行,而且能将声音完美表现出来。本文简单介绍了该软件的使用办法,以《仙剑奇侠传》DOS 版为例。

1。首先下载 DOXbox 0.72 版。

2。下载完毕,开始安装。安装到任意目录均可。安装完毕会在开始菜单生成程序组,DOSBox.conf 文件是 DOXbox 的配置文件,保持默认配置就可以顺利运行游戏,alt+enter可以全屏幕,如果觉得游戏运行速度不合适,可以修改 cycles=3000 ,将3000适当调整大小。

3。运行 DOSBox,会打开两个 DOS 窗口,我们只需在如下窗口中键入

mount c h:\pal

此命令的作用为将 h:\pal 挂载为 C 盘,h:\pal 为《仙剑奇侠传》所在目录。

4。键入 c: 进入 C 盘,键入 pal.exe 即可进入游戏,如下图:

5。已经可以正常运行游戏了。

6。终极大法:将游戏的可执行程序直接拖到 DOXbox 的快捷方式上面,就可以无需输入任何命令直接运行。

每次都这样输入也太麻烦啦!好在还有一些快捷方法:

一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。

二、用记事本打开配置文件dosbox.conf文件,找到[AUTOEXEC]部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXEC.BAT。提示:我们在DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。

以红茶的大2为例,那么在最后加上语句:

"

mount g c: koukai2

g:

"

这样,每次启动DOSBOX后,红茶机器上的koukai2文件夹就是就是DOSBOX的g盘,而且每次都会自动执行这两句命令,直接进入g盘根目录。

然后就是输入 "play"加回车就可以开始game了。

接下来是优化和热键的问题:

CTRL+ F12/F11来加/减速.DosBox标题栏上有个数字,通过它,可以了解到目前虚拟cpu的速度。提示:别加得太过分。例如,若系统中用3600

左右的速度正好,就不要再提高了,再高反而要变慢的。找到合适的的值后,你可以将它写到dosbox.conf中[cpu]部分的cycles项,今后

DosBox会把它作为默认值。

ALT+ENTER可以切换/解除全屏模式。(推荐全屏模式,因为窗口下,游戏运行比较慢)

CTRL+F10可以把鼠标从窗口中释放。

CTRL+F9是关闭DOSBox

dosbox.conf中从[mixer]到[speaker]的项目都是关于声音的。设置很简单,唯一要注意的是,[mixer]项中的rate决定了你能听到的效果上

限,所以它不能低于其它项目中的值。

最后建议不要使用中文目录名和文件名,有可能出错。

下载到的安装文件不大,安装也是标准的WIN式。安装好后运行,会出现两个COMMAND样子的窗口,我们 *** 作的是前方的那个。

假如你的枫之舞安装在"D: dosgames swda",那么我们可以输入:

mount c "D: dosgames swda"来把swda目录虚拟成DosBox的C盘根目录。下面的 *** 作就和真dos一样了。如果想虚拟光驱或软驱,则要加参数-t

cdrom或-t floppy。建议不要使用中文目录名和文件名,有可能出错。

每次都这样输入也太麻烦啦!好在还有一些快捷方法:

一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。

二、用记事本打开dosbox.conf文件,找到[AUTOEXEC]部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXEC.BAT。提示:我们在

DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。

例子:假如你的DOS游戏都在E: dosgames 下,那么可以这样写:

mount d "e:/dosgames/"

这样,每次启动DOSBOX后,你的e:/dosgames/就是DOSBOX的D盘。

cd swda

swda.exe

玩吧~

下面我们来优化一下DOSBOX。

现在DosBox的模拟效率还不太高。所以,先把能关掉的其它程序都关掉再来进行下一步。

首先,用DosBox运行一个要求配置较高的游戏(不过DOOM一类的就免了,除非你的电脑很强)。

DosBox标题栏上有个数字,通过它,可以了解到目前虚拟cpu的速度。现在,我们使用CTRL-F12/F11来加/减速。提示:别加得太过分。例如我

的C4-1.7G系统中用3600左右的速度就正好,再高反而要变慢的。找到合适的的值后,你可以将它写到配置文件中[cpu]部分的cycles项,今后

DosBox会把它作为默认值。

配置文件中从[mixer]到[speaker]的项目都是关于声音的。设置很简单,作者也给了很详尽的注释(README.TXT)。唯一要注意的是,

[mixer]项中的rate决定了你能听到的效果上限,所以它不能低于其它项目中的值。用dosbox玩时,要在dosbox.conf文件里将[sblaster]部分

里的type改成type=sb2

如果type里写的是sbpro1/sbpro2/sb16,游戏中会出现只有音效但无背景音乐的情况(也就是说听不到“沧海一声笑”,只能听见刀剑的声效

和真人语音)至于IRQ和DMA则无关紧要,游戏能自动识别,5和7都可以

1、直接输入dosbox 路径时,目标路径会被模拟为c: >

一般来说不会有什么问题,但对一些有特殊路径要求的游戏而言就会出错

例子:同级生2

在读完ELF片头后可能出现c: nanpa2 flag?(这是由于上次存档时的路径不同造成的)

然后退回提示符状态

解决方法:舍弃dosbox自动mount,用mount手动指定

mount c ???(???代表你真实硬盘中nanpa2目录的上级目录)

比如nanpa2在你硬盘E: elf nanpa2

那么应为mount c e: elf

这样模拟出来就是c: nanpa2

再次运行nanpa2.bat,就不会出现c: nanpa2 flag?而跳回提示符状态了

2、游戏不能识别CDROM

在我们进行mount c d -t cdrom这样的工作之后,游戏仍提示找不到游戏光盘时

有可能是因为无法识别光盘标签(因为默认mount的CDROM是没有名字的)

这时候可以用mount c d -t cdrom -label LABEL(既需要的标签名)

同时还可以检测一下dosbox能识别你的哪些光驱(包括真实的和虚拟的)

直接输入mount -cd

会按0、1、2的顺序排出来

之后你就可以用mount x y -t(随便,根据情况而定) -usecd #(#为刚才说的数字0、1、2...)来虚拟所需路径

3、当游戏无法运行时,换个版本的dosbox

虽然目前的最新版是0.65,但并不是说0.65可以向下兼容0.58和0.60能模拟的所有游戏

例子:上古卷轴竞技场(0.65下有人可以有人则不行,但.58和.60下都可以)

4、有时需要屏蔽一些参数

具体参照此帖

http://vogons.zetafleet.com/viewtopic.php?...ight=daggerfall

里面谈到了设置dpmi=false对部分游戏的必要性(当然反过来,一些游戏则必须要求dpmi=true)

类似的还有xms和ems

ps:这个帖子里说“不要用默认source,用CVS的”我没找到...

5、loadfix

由于早期游戏无法预料到现在的内存数会这么庞大,所以在大内存下会产生错误。这时可以用loadfix来解决

使用方法是:loadfix -大小 文件名

比如:loadfix -32 mm2.exe是分配32k内存给魔法门2

如果不打-32,则分配默认值64k

如果需要的话,可以打loadfix -f清掉刚才分配的内存

6、充分利用config(default.ini)调整初始速度、窗口大小、滤镜(目前支持scale2x)

这部分还没掌握,都是看别人写的然后改


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11409968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存