汇编网首页登录博客注册
cutebe的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
文章收藏
友情链接

[2013-09-12 20:55] 环境:创建编译环境(MASM 5.0)

图片载入中
DOS系统安装好了,是不是马上就能将写好的代码进行编译连接了呢?还差那么一点点,我们的编译软件(MASM5)还没有安装。
相对于现在的大型软件,MASM5 的安装真是简单又方便,它只包含两个可执行文件,而且只要在你的电脑上有一份拷贝就能使用了。

四、MASM 5.0 编译环境的建立

1.编译器的选择与下载
首先我们先下载一个编译器,这里选择MASM 5.0。下载地址就在论坛中。http://www.asmedu.net/bbs/forum.jsp
软件下载:http://www.asmedu.net/download/tools.zip
下载解压后我们得到文件MASM.EXE 与LINK.EXE。需要的是这两个文件,后面会用到,先让它们休息一下。

2.辅助工具的下载与使用
DOS下很多操作都是靠软盘来完成的,而现在软驱已经被淘汰了。要从主机传送文件还可以从光驱或是网络进行,但我们这里选择最方便的软盘。为什么说是最方便的呢,请接着看。

软盘虽然很小,平常用的3.5 英寸软盘只有1.44MB,而汇编学习用到的无论是编译器还是源文件都不大,完全可以通过软盘来完成传送。而且使用虚拟软盘又没有读取慢与高故障率的担忧。而使用光驱或网络则会有操作不便与设置复杂的缺点。因此这里选择虚拟软驱。

需要下载的两个工具:WinImage 8.5、VFD(Virtual FD Control Panel)
这两个工具一个是用来制作软盘映像文件,一个是生成一个虚拟软驱并把映像文件加载到软驱中。

用WinImage 制作映像_A.IMA、_B.IMA

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211307343.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211343203.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211365234.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211393750.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211426109.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211462546.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211487203.png
图4-01 软盘映像文件制作[界面/新建/默认选项/新建后状态/保存/保存类型/保存结束]

制作了_A.IMA 后可以用相同的方法制作_B.IMA,当然把_A.IMA 复制一份再改名也可以。

用VFD 加载_B.IMA 到软驱B

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211793890.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211823875.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211909234.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379211980890.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212023015.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212050140.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212076531.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212387796.png
图4-02 加载映像文件到虚拟软驱[加载前/面板/配置/浏览映像文件/挂载/加载后]

软驱成功加载软盘后,你会发现我的电脑中出现的一个“5.25 软盘 (B:)”,可以打开看看。

要传送文件还差什么,当然是设置虚拟机了。先来回顾一下安装好DOS 系统后的样子。

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379001846781.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212419593.png
图4-03 回顾[控制台/设置]

接下来要为我们的课程学习与文件传送配置虚拟机软驱设备了。

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212503390.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212522078.png
图4-04 添加软盘驱动器[添加新盘/留空]

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212542015.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212657406.png
图4-05 软驱1加载物理设备B

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212724765.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212749484.png
图4-06 软驱0加载映像文件_A.IMA

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379212824390.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213111562.png
图4-07 完成设置后[设置/控制台]

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379001668937.png
图4-08 回顾启动虚拟机

::虚拟机:检测一下软盘B的内容
DIR B:
::为空

首先我们在主机上打开CMD
::物理机:进入MASM.EXE 与LINK.EXE 所在目录
CD/D D:\ASM
::CMD下复制编译器文件到软盘B中
COPY MASM.EXE B:
COPY LINK.EXE B:
::运行完就可以关了CMD了,因为接下来的工作将全部在虚拟机中完成。

接下来就是进入DOS 系统内部的操作了

::再检查一下B盘
DIR B:
::发现有文件了

::当前在C:\根目录下
MD MASM
COPY B:\* MASM

::检测一下目录MASM中的文件
DIR MASM
::发现文件已经复制到C:\MASM\目录中
CD MASM
::进入我们的编译目录,到这里我们的环境基本建立完成了。

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213203046.png
图4-09 建立MASM目录,从软盘B复制文件到目录中。

::不过为了方便今后的编译测试工作,特别编写一些简单的批处理文件。引用批处理之家一句格言:化繁为简,提高工作效率。
::在这里批处理是使用DOS 下的EDIT.EXE 程序编辑的,我们的汇编语言源文件同样也可以用这个工具来编辑。(因为DOS7.1 中的EDIT 还是相当方便易用的,所以选择她。)

输入EDIT,我们打开一个程序,界面如图4-10。

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213280062.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213327921.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213424531.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213510359.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213535687.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379213569921.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379223972125.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379223995593.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379224075531.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379224127015.png
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379224151500.png
图4-10 使用EDIT编辑文本

URL
http://www.asmedu.net/blog/user/multimedia/cutebe/images/pic_1379224199468.png
图4-11 回到提示符

上面我们建立了批处理文件B.BAT 与E.BAT。这有什么用呢?如果我们要编译连接一个汇编源程序,如SJ1.ASM
在没有批处理程序的情况下,要使用两个命令
MASM.EXE SJ1.ASM;
LINK.EXE SJ1.OBJ;

而我们的批处理把这两个命令放到了一起,我们只要顺序执行就行了,这时我们只要在提示符中输入
B SJ1
回车就完成了上面的两条命令。是不是既简短又方便。当然这里B 也可以写成B.BAT,但一个字母岂不是更简单;而后面的SJ1 就不能写成SJ1.ASM 了,它默认就是.ASM 扩展名,这里不能也不需要写出来。

用同样的方法建立另几个常用的批处理

::D.BAT 调试
DEBUG %1.EXE

::R.BAT 将编译连接到执行一步完成
MASM %1;
LINK %1;
%1

::U.BAT 将编译连接到调试一步完成
B %1
D %1

这些不是最简化的,你还可以写得更简单些。当然你也可以根据需要编写自己的批处理。
还有一点要注意的是,DOS 下最好根据8.3 文件命令规则来命名文件(如:SJ1.ASM;代表课程设计1)。
又因为我们的批处理使用了1 个字母作为文件名,为了汇编连接后的可执行文件不与其重名,尽量使用2 个及2 个以上字母为ASM 文件名(不含扩展名)。
因为如果同时存在B.BAT 与B.EXE,我们输入B SJ1 时这里的B 指的是B.EXE。而如果输入B.BAT SJ1 又与简化操作的目标相悖,所以就不要使用与批处理文件相同名字的汇编文件了,或是用2 个及以上字符做文件名。

到这里DOS下汇编编译环境已经完成了建立,我的使命也就完成了。编程可以是快乐的事,为了将来不得老年痴呆/cy,放飞你的想像吧!
评论次数(0)  |  浏览次数(367)  |  类型(环境) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码