汇编运行环境搭建及编译环境搭建

宿主机:ThinkPad E431  Windows10专业版

作者:不笑猫哟

参考资料:

https://blog.csdn.net/doniexun/article/details/45438457

https://blog.csdn.net/xiang_shao344/article/details/77941353

分享资料:

链接:https://pan.baidu.com/s/1UogLNoyrFp0oM1_QJY2FAQ密码:xjua

运行环境搭建:

下载DOSBOX

     工具介绍:DOSBox 是一个 DOS 模拟程序,由于它采用的是 SDL 库,所以可以很方便的移植到其他的平台。目前,DOSBox 已经支持在 Windows、Linux、MacOS X、BeOS 、palmOS、Android 、webOS、os/2等系统中运行。不少DOS下的游戏都可以直接在该平台上运行。

     工具官网:http://www.dosbox.com/

     项目主页:http://sourceforge.net/projects/dosbox/

     下载链接:http://sourceforge.net/projects/dosbox/files/dosbox/0.74/DOSBox0.74-win32-installer.exe/download(32位)

      说明:由于项目已经停更,目前官网上指出,DOSBOX可以运行于32位和64位的Windows Vista和Windows 7之上,亲测windows10专业版亦可运行

安装DOSBox

       安装下载到的DOSBox0.74-win32-installer.exe,直接一路Next完成安装。

配置DOSBOX

 

       运行DOSbox会弹出两个窗口,如下图,我们需要用到的是较小的那个窗口

       用记事本打开C:\Users\xiaof\AppData\Local\DOSBox\dosbox-0.74.conf  路径中中xiaof是用户名,改成自己的用户名即可,若文件不存在,运行一下DOSbox即可

       打开dosbox-0.74.conf后,如下图,找到[autoexec],在[autoexec]下方添加下面两行,挂在路径可以自己自定义,但路径必须存在

MOUNT C D:\DOSBox-0.74\mount             # 将目录D:\DOSBox-0.74\mount挂载为DOSBOX下的C:  

set PATH=$PATH$;D:\DOSBox-0.74\mount   # 将D:\DEBUG写入环境变量PATH中


测试DOSbox

1、 在挂载路径新建文件夹或文件

2、 打开DOSbox

3、 输入C:进入DOSbox的C盘

4、 输入dir查看是否有自己新建的文件夹或文件

5、 3、4步若是成功则说明挂载成功,否则不成功

6、 运行环境搭建完毕

 

编译环境搭建

方式一:

1、 解压网友分享的masm.rar解压到挂载路径路径下

2、 运行DOSBOX,在命令符C:\>下输入命令:EDIT 文件名.asm,启动EDIT.EXE进入代码编辑状态,并输入如下样例程序:

code    segment  

         assume cs:code  

          start:  

              mov ax,5h  

              mov bx,6h  

              add ax,bx  

              mov ah,4ch    ; 调用DOS的4C号功能  

              int 21h       ; 退出DEBUG状态,返回DOS  

  code    ends  

         end start  

3、 当进入DOSBOX编辑界面,随意可以按Windows键退出DOSBOX编辑界面;EDIT及以下命令的拼写忽略大小写。

4、 保存文件后返回DOSBOX的命令行,输入命令:MASM 文件名.asm,生成目标文件文件名.OBJ(生成过程中可以修改目标文件名,直接回车可保持默认目标文件名)。

5、 此时可能生成三个文件:*.obj、*.lst和*.crf文件(Windows10 x64系统可能只会生成*.obj文件)。其中,列表文件*.lst和交叉引用文件非必选,前者是汇编语言汇编的机器语言与汇编语言对照表,可用于调试;后者给出了用户定义的所有符号和对每个符号定义、引用的行号。

6、 输入命令:LINK 文件名.OBJ,链接生成可执行文件文件名.EXE

7、 由于在上述代码中未定义堆栈段,故在链接时会提示:LINK : warning L4021: no stack segment,因不会影响执行文件的生成,故暂时忽略。

8、 此时可能生成两个文件:*.exe*.map文件(Windows10 x64系统可能只会生成*.exe文件)。其中,地址映射文件*.map给出内存地址分配的有关信息。

 

输入命令:DEBUG 文件名.EXE,在DEBUG的命令提示符“-”出现后开始调试,以下是部分调试命令及截图:

输入命令:R,查看程序运行前的寄存器组初始值;



     输入命令:U,查看程序反汇编代码。从反汇编代码中可看出,变量会被汇编为直接寻址方式,使用变量在数据段内的有效地址表示。



     输入命令:T,单步调试;



     输入命令:D,观察内存变化(D后不带地址或范围,默认显示上一个D命令之后的80字节内容);



     输入命令:G 地址,程序从当前位置直接运行到指定地址处停下。



     输入命令:E 地址修改内存中的内容,如:E DS:0100,输入空格可逐个字节修改,回车停止修改。

方式二:

1.    MASM32

2.    右键此电脑→属性→高级系统设置→环境变量

3.    在系统变量中找到Path变量

4.    双击Path变量→新建→如下图,粘贴masm32安装路径下的bin路径

5.    一路确定即可

6.    打开masm编辑程序(一般会在桌面产生一个masm的快捷方式)

7.    保存文件后,点击下图的红框图标进入编译界面

8.   在弹出来的dos界面进入汇编文件所在的路径ml /c 文件名.asm

9.    完成后上步后会在源文件所在目录下生成对应的文件名.obj

10. link16 TEST.obj即可,出现的什么选项不用管直接回车

11. 完成上步后会生成exe文件

12. 生成的exe文件可以在DOSbox中运行

编译环境搭建完成


猜你喜欢

转载自blog.csdn.net/weixin_35599364/article/details/80645464