
DOSBOX是DOS软件的模拟器,并不能直接打开ASM文件的
asm文件是汇编程序源文件,必须编译成EXE或COM的可以执行文件才有可能在DOS下运行
DOSBOX的使用方式是
MOUNT 模拟盘符:\路径 实际的盘符:\路径
比如
MOUNT C:\PAL D:\PAL
即把实际位置在D:下的PAL目录下的文件定义为 C:盘下的 PAL
不加目录就定义盘符所在的整个根目录
unabletoopeninputfile这个错误,是汇编时找不到源文件。执行MASM汇编命令(或ML)时,需要指定你的asm的源程序文件。这个文件,若在你执行命令的当前目录中,可以不加路径。若文件不在当前目录里,必须要加上源文件的路径。当然,若你打错了文件名,也会找不到文件,出现这个提示。==================对问题补充的回复:在DOSBOX中,只有mount过的盘符才存在。也就是说,你的DOSBOX里,只有C:盘,不存在D:盘。你指定D:\这样的文件,是找不到的。如果在windows里,你的源程序是D:\Myassembly\tt\aaASM,那么,在你的DOSBOX里,文件应当使用C:\tt\aaASM来访问。
可以在任何WIN平台下运行DOS游戏,玩DOS的必备。
使用方法
1、安装
2、运行
3、在输入框状态下z:\>
z:\>mount c d:\dos ===>“z:\>”这个是提示符 “c”作为虚拟C盘 "d:\dos"你要虚拟的文件夹位置。
简洁的讲,你把你要虚拟的文件夹位置换掉上面的 D:\DOS
4、在刚才的提示符下输入 c: ,这样就切换到虚拟的c盘,也就是你要的游戏目录
5、运行C目录下的游戏,以后 *** 作按DOS命令。 字串4
最简单的方法,把要运行的程序比如playbat直接拖到dosbox的图标上。 字串6
游戏运行问题汇总: 字串1
(一)DOSBOX主要快捷键说明
字串2
Alt+Enter 全屏/窗口 切换
Ctrl+F5 游戏截图
Ctrl+F6 游戏录音
Ctrl+F7 降低跳桢数
Ctrl+F8 提高跳桢数
Ctrl+F9 强制退出DOSBOX
Ctrl+F10 显示/隐藏 系统鼠标
Ctrl+F11 降低“DOS模拟CPU”速度
Ctrl+F12 提高“DOS模拟CPU”速度
字串6
(二)游戏运行问题解决方法:
字串1
1、“声音图像”不同步问题(先“Alt+Enter”切换至窗口,可以看到你的“模拟CPU速度”与“跳桢数”,如图):
DOSBOX模拟CPU速度(Cpu Cycles: 3000)、跳桢数(Frameskip 0)、运行游戏主程序名称(Program: PAL)
字串8
----------------声音断续且游戏速度明显低于正常速度,使用“Crtl+F8”提高跳桢数(不要超过3)
----------------声音刺耳且游戏速度明显高于正常速度,使用“Ctrl+F7”降低跳桢数(不可能低于0)
----------------声音断续且游戏速度明显低于正常速度,但跳桢数已经为“3”(再增加跳桢数会影响游戏画面质量),使用“Crtl+F12”提高“DOSBOX模拟CPU”速度(不要超过3600)
----------------声音刺耳且游戏速度明显高于正常速度,但跳桢数已经为“0”,使用“Ctrl+F11”降低“DOSBOX模拟CPU”速度(不要低于2700)
字串8
2、进入游戏后如有“系统鼠标”干扰“游戏画面”,请使用“Ctrl+F10”隐藏“系统鼠标” 字串7
3、“游戏截图/游戏录音”时不能切换“全屏/窗口”,这是DOSBOX的BUG。
字串8
现在我们就来看看DOSBOX的使用方法。以WINDOWS版为例。
下载到的安装文件不大,安装也是标准的WIN式。安装好后运行,会出现两个COMMAND样子的窗口,我们 *** 作的是前方的那个。
字串7
假如你的枫之舞安装在"D:\dosgames\swda",那么我们可以输入:
mount c D:\dosgames\swda来把swda目录虚拟成DosBox的C盘根目录。下面的 *** 作就和真dos一样了。如果想虚拟光驱或软驱,
则要加参数-t cdrom或-t floppy。建议不要使用中文目录名和文件名,有可能出错。
每次都这样输入也太麻烦啦!好在还有一些快捷方法:
一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。 字串4
二、用记事本打开dosboxconf文件,找到[AUTOEXEC]部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXECBAT。提示:我们在DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。
例子:假如你的DOS游戏都在E:\dosgames\下,那么可以这样写:
mount d "e:/dosgames/"
这样,每次启动DOSBOX后,你的e:/dosgames/就是DOSBOX的D盘。
cd swda
swdaexe
玩吧~
下面我们来优化一下DOSBOX。
现在DosBox的模拟效率还不太高。所以,先把能关掉的其它程序都关掉再来进行下一步。
首先,用DosBox运行一个要求配置较高的游戏(不过DOOM一类的就免了,除非你的电脑很强)。 字串7
DosBox标题栏上有个数字,通过它,可以了解到目前虚拟cpu的速度。现在,我们使用CTRL-F12/F11来加/减速。提示:别加得太过分。例如我的C4-17G系统中用3600左右的速度就正好,再高反而要变慢的。找到合适的的值后,你可以将它写到配置文件中[cpu]部分的cycles项,今后DosBox会把它作为默认值。
字串3
配置文件中从[mixer]到[speaker]的项目都是关于声音的。设置很简单,作者也给了很详尽的注释(READMETXT)。唯一要注意的是,[mixer]项中的rate决定了你能听到的效果上限,所以它不能低于其它项目中的值。 字串8
这是一款免费软件,用来运行我们的DOS游戏正好!WIN9X和WIN2K/XP下都可以使用(还有LINUX版) 字
Linux下dosbox的配置安装dosbox安装很简单,很多发行版的源里都有,我用的是debian,sudo apt-get install dosbox就搞定了。如果要自己编译就到sourceforge上下载源码吧。 生成配置文件dosbox安装或自己make后并不会创建自己的配置文件,我这里给出两种生成配置文件的方法。第一种方法是cd %切换到家目录cp /usr/share/doc/dosbox/dosboxconfexamplegz /gunzip dosboxconfexamplegzmv dosboxconfexample dosboxconf第二种方法是启动dosbox,在dosbox的提示符下输入:config -writeconf dosboxconf注意,dosbox启动时自动读取家目录下的dosboxconf,而不是dosboxconf,改成其它的名字,dosbox也不会自动读取。 如果你想隐藏dosboxconf,即将它更名为dosboxconf,可以在启动dosbox时输入下面的命令让它生效。dosbox -conf ~/dosboxconf配置声音设备你用dosbox玩某个游戏,可能会看到下面的提示:ALSA:Cant subscribe to MIDI port (65:0) MIDI:Opened device:oss这说明默认的设备是alsa,但是alsa不支持midi,于是打开了oss。其实这时游戏是可以正常发声的,只是这报错信息让人看着烦,通过修改dosboxconf消除它。打开dosboxconf,找到[MIDI]一节。mpu401=intelligent device=default config=device=default就表示device=alsa,我们改为 device=oss,就没有那样的出错提示了。游戏截图焦点在dosbox上时,使用ctrl F5可以进行游戏截图,不过之前你要设置自己的截图保存目录。默认的是配置文件所在目录下的capture目录,如果你没有这个目录,截图就会报错。也可以通过修改配置文件更改成别的目录,打开配置文件,找到captures=capture这里我要把目录设置为配置文件所在目录下的dosbox-capture目录,把上面一行改为captures=dosbox-capture即可,注意这里要使用相对路径,给出截图目录的绝对路径也会报错。除了ctrl F5是截图外,ctrl加F1-F12都有功能,在dosbox的提示符下,输入intro就能看到这些组合键的功能
你的masm程序文件夹在D:\masm
那么进入cmd 先输入 cd D:\masn 之后 在用masmexe 和linkexe
方法二 把你的masm里边的文件全部放入C:\WINDOWS\system32 里 以后就可以直接masm link了
(1)
assume cs:code
code segment
Main: mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200H
mov cx,offset Over-offset lp
cld
rep movsb
mov word ptr es:[7cH],200H
mov word ptr es:[7cH+2],0
mov ax,0b800H
mov es,ax
mov di,16012
mov bx,offset s-offset se
mov cx,80
s: mov byte ptr es:[di],'!'
add di,2
int 7ch
se: nop
mov ax,4c00H
int 21H
lp: push bp
mov bp,sp
dec cx
jcxz lpret
add [bp+2],bx
lpret: pop bp
iret
Over: nop
code ends
end Main
(2)
assume cs:code
code segment
Main: mov ax,cs
mov ds,ax
mov si,offset Begin
mov ax,0
mov es,ax
mov di,200H
mov cx,offset Over-offset Begin
cld
rep movsb
mov word ptr es:[7cH],200H
mov word ptr es:[7cH+2],0
mov ax,4c00H
int 21H
Begin: push ax
push es
push bx
mov ax,0B80AH
mov es,ax
mov bx,0
_Loop: mov byte ptr es:[bx],dl
mov byte ptr es:[bx+1],2
add bx,2
loop _Loop
pop bx
pop es
pop ax
iret
Over: nop
code ends
运行DOSXBOX之後
Z:\ >mount c c:\masm5 按下ENTER
键入
C:\ 按下ENTER(此时的DOSBOX中的C磁盘就是masm5的文件夹了)
这个提示是告诉你,你的源程序文件 newasm 中的第2行的代码编写有错误,错误类型是使用内存超限了。我猜测是你定义变量时总量超出64KB了。
由于这个错误严重,汇编程序MASM结束了汇编过程。
MASM运行正常,不是内存不足异常退出。
以上就是关于dosbox到底怎么运行asm文件啊全部的内容,包括:dosbox到底怎么运行asm文件啊、为什么用masm编译源程序文件老是出现Unable to open input file、dosbox的使用方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)