dosbox到底怎么运行asm文件啊

dosbox到底怎么运行asm文件啊,第1张

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的使用方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/10213363.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存