汇编器采用,微软官方提供的masm32软件,下载地址:MASM32 SDK
这是官方编辑器,免费,亲测有用,但是这是32的,如果要64位的可能会出现各种bug,建议用32位,最后做成的.exe可执行文件放于虚拟机下运行即可。
64位的可以运行在32位的操作系统上,反之32位不能在64位pc机运行。建议大家做一个32位的xp或者win7的虚拟机。便于测试,至于有没有64位的masm,博主暂时还没找到,以后找到再分享于大家。


第一步:软件安装完成后,到该软件下配置环境变量,这些大家应该都知道如何做,我这里说下,需要配置的是masm32安装文件下的bin/include/lib,如果这些大家不清楚的可以参考其他博主的文章,总之最后要的结果的是在cmd中的任意目录下执行ml都有用就行。
这里写图片描述
我这是在跟目录下运行的ml,如果出现如上信息则代表环境变量基本成功了,同时你也可以试试link命令,总之不是说找不到命令就可以了。

第二步:将masm32安装文件夹的bin目录下的link.exe改为link32.exe,同时link16.exe改为link.exe,也就是我们需要的link.exe是link16.exe,将原来的link.exe删掉不用或者重命名保留即可。至此,编译器的配置结束

第三步:编写一个简单的程序
该软件是英文版的,目前没有中文版的,大家也不必苦苦寻找了,其实英文也差不多,简单的新建,保存,这些功能大家都知道。
新建文件后直接敲如下代码然后保存起来。
测试代码如下:

assume cs:codesg
    codesg segment
     mov ax,0123H
     mov bx,0456H
     add ax,bx
     add ax,ax

     mov ax,4c00H
     int 21H
    codesg ends
end

这里写图片描述
点击如上图的黑色窗口,会出现一个dos窗口,然后接下来就是我们要的编译跟链接操作了

第四步
编译命令:在dos上敲 ml /c TEST.asm
会在源文件所在目录下生成对应的TEST.obj文件
链接命令:link TEST.obj即可,出现的什么选项不用管直接回车,连敲多个回车就行了,报错啥的先不用管,注意这儿用的link是安装目录下的link16.exe工具,但是在第二步我们已经修改为link.exe。
执行完后,会发现多了一个TEST.exe的可执行文件,将该文件放于32位操作系统的虚拟机下运行即可,发现可以运行

注意:由于我们的测试代码没有任何返回信息,只是寄存器里的操作,所以我们在屏幕上看不到任何结果,但是机器已经执行了,所以初学第一步也算是成功了

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐