Win8下用DOSBox编写汇编语言
DOSBox 是一个 DOS模拟程序 , 可以很方便的移植到其他的平台 , 因此可以使用它在Win8系统中编写汇编语言 。 下面提供相关下载链接:
DOSBox下载: http://pan.baidu.com/s/1qWwkss0
汇编工具下载: http://pan.baidu.com/s/1i3taKmT
DOSBox使用指南:
(1) 在你的磁盘上 新建一个存放自己代码的目录 ,如:我在E盘下新建一个目录DOS,那么我的工作目录即为:E:\DOS,以后我写的汇编代码就会存放在这个目录下。
(2) 选中上面汇编工具的链接( 按下Ctrl,鼠标左键单击即可 ), 下载汇编工具。将下载后的 压缩包文件 解压到刚才 你自己刚才新建的工作目录 下,如下图:
“确定”之后进入文件目录查看,目录中文件如下图:
我们实际会用到的有以下程序:“debug.exe”“edit.com”“link.exe”“masm.exe”。
(3) 下载并安装DOSBox后打开程序 ,会出现如图所示的两个界面,
我们只需关心 红色框选中的界面 即可,另外一个界面无需关注, 可以最小化但是不能关闭它。
(4)在上面红框选中界面依次输入以下命令(命令行不区分大小写):
第一步: MOUNT C E :\D OS (回车)
;注意这里E:\DOS是你之前创建的工作目录,根据自己的目录输入
第二步: C: ( 回车 )
前两步执行结果如下图,
这样我们就进入了类似win7下DOS的环境,在这里就可以编写汇编程序了。
为了避免每一次进入界面都要输入上面的命令(尤其是经常使用的情况下这会是很烦人的事情),我们进行下面的简单配置,使得 以后使用时可以直接进入我们想要的命令行 :
首先, 进入DOSBox的安装目录 ,像我的目录是下图红线标注的路径:
其次,找到上图 红圈中的文件 ,双击它,会出现一个可编辑文本(如果不能进入,那么你可以 右击它 --> 打开方式 --> 记事本 )如下图:
然后, 在文本中找到 [autoexec] ( 可以直接用快捷键 Ctrl+F ,输入 autoexec 后回车即可 ):
见上图第二步,找到autoexec之后在下面输入
MOUNT C E:\DOS
C:
最后再次运行DOSBox之时就可以看到直接进入了图1所示界面。
环境准备好了,下面进行正式的代码编写阶段:
(1)在命令行输入 edit test.asm (test.asm为文件名,asm是汇编代码的后缀名,test可以自拟) ,这样在你的工作目录下会新建一个名为test.asm的文件;
(2)进入下图所示界面,这是一个编写代码的Edit环境:
( 3 ) 在Edit中可以使用 Alt+F 激活File菜单,然后可以使用 上下左右键 ,选择你要用的功能。
( 4 ) 编写代码时要记得每次写完要保存(最好是边写边保存),方法为先按下 Alt+F组合键 ,再用键盘 下键 选择Save, 回车 即可。
如果编辑之后未保存文件,会出现下图提示框:
选择“Yes”即可。
当然这里也可以 新建完文件之后直接退出 ,在工作目录下 用记事本打开文件 ,在记事本中 编辑完毕 ,然后到命令行直接编译运行。(自我感觉这样更方便一点)
下面是代码的编译调试过程:
(1) 输入示例代码,如下图:
code segment
assume cs:code
start:
mov ax,5h
mov bx,6h
add ax,bx
mov ah,4ch
int 21h
code ends
end start
记住在Edit中输入的话,编写完毕要 先Save再Exit 。
(2) 回到命令行,输入 masm test.asm , 显示结果见下图部分一:
图中 masm命令 生成的是 Obj文件 ,图中test.obj之后可以输入以更改文件名,默认文件名与原文件名相同。一般情况直接回车即可。
(3)输入 link test.obj (如果改了文件名就要使用更改后的文件名) ,显示结果如图部分二。 link命令 生成的是 Exe文件 。
同样,这里也可以更改文件名,但是一般情况直接回车即可,不用更改文件名。
(4)输入 debug test.exe (debug命令调试的是可执行程序,也就是exe文件),会出现‘-’提示符,在这里就要输入 debug命令 了。
在上图可以看到,单步执行之后,首先是AX值为05h,然后是BX值为06h,最后AX的值变为0Bh,为05h和06h的和。
(5)大功告成之后,输入 exit 退出DOS界面。