今天在帮别人解决DOSBox无法使用的时候发现了几种汇编语言编译运行的方法,特此记录
安装DOSBox(这个安装步骤就不讲了,百度多的是)
在任意地方新建一个文件夹,名字不要过长就好,例如我的是AsmTools
,将下载好的MASM.EXE、LINK.EXE、MASM.EXE(这几个文件可以在王爽老师的汇编语言论坛
中找到)
在 DOSBox 0.74 Opthions.bat
这一文件中的最后加上
MOUNT C "D:\AsmTools" (引号内的是刚才创建的文件夹)
C:
这样当你打开DOSBox的时候就会自动加载到虚拟c盘
然后输入debug就可以使用debug
将你编写好的汇编语言文件(后缀为.asm,假设是test.asm)放在刚刚创建好的文件夹中,然后在DOSBox中进行如下几步操作
第一步
masm test.asm
完成这一步你会得到一个后缀为obj的文件
第二步
link test.obj
完成这一步后你会得到一个后缀为exe的文件
第三步
test
这一步是执行可执行文件
全部操作到这里就完成啦
找我帮忙的这个同学因为上一种方法不能使用,所以我找到了另一种方式,如下:
在官网下载MASM32(这一步不细讲)
在环境变量中进行如下操作(如果没有该条目可以创建的):
include项中添加C:\masm32\include
lib中添加C:\masm32\lib
path中添加C:\masm32\bin
然后打开MASM32的安装目录,在里面搜索link,进行以下操作:
将masm32安装文件夹的bin目录下的link.exe改为link32.exe,同时link16.exe改为link.exe
(其实对与原来的link.exe向怎么操作都可以,因为我们其实用不到它)
然后打开cmd,进入你写汇编语言程序的目录(假设里面已经写好了test.asm),进行如下操作:
第一步
ml /c test.asm
完成这一步你会得到一个后缀为obj的文件
第二步
link test.obj
完成这一步后你会得到一个后缀为exe的文件
然后打开DOSBox(他的配置和上一种方法一样),进行如下操作
test
(其实就是运行一下那个可执行文件,在win10里没法直接运行)
到此这一方法终于成功了
但是这两种方法都挺麻烦的,特别第二种,所以找到了emu8086
https://emu8086-microprocessor-emulator.en.softonic.com/
上面的这一个是emu8086的官网下载地址,下载完成安装即可
使用:
第一次进去,应该会让你新建工程,这是点击empty workspace,不是第一次进去,点击左上角的new就可(你们肯定用过别的编译器,都差不多)
这一步就没啥可说的,这里给出一个供大家测试的代码(入门写的,大佬见谅)
STACKS SEGMENT STACK
STACKS ENDS
DATAS SEGMENT
string DB 'hello world', 0dh, 0ah, '$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START: MOV AX,DATAS
MOV DS,AX
MOV DX, offset string
MOV AH, 9
INT 21H
MOV AX,4C00H
INT 21H
CODES ENDS
END START
点击菜单栏中的save,然后。。。
点击菜单栏中的compile
你的代码没问题的话,run是绿色的激活状态,点击进行下一步,不是激活状态的话,改改代码吧
点击run