DOSBox0.74以及汇编编译器的安装使用(虚拟)64位

64位安装和使用方法:

首先在D盘或其他盘(最好不要在C盘)新建一个名为 masm 的文件夹(名字可以任意,建议用masm).

从https://pan.baidu.com/s/1xaMIR-QBJx0jUcotEsT6oA下载实验软件-微机原理,并解压,打开文件如下图所示:

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第1张图片

打开64bit,再打开64bit目录下的masm(注意:不是我们新建的masm)

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第2张图片

 

接着我们选中DEBUG.EXE, DOSXNT.EXE , LINK.EXE ,MASM.EXE ,ML.EXE复制到我们刚新建的文件夹中:

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第3张图片

 

 

完成上述步骤后安装DOSBox0.74-win32-installer,在微机原理64bit 目录下masm中,安装完后桌面会出现该软件的图标:

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第4张图片

 

 

打开该软件,这里需要设置一下路径以模拟DOS模式:

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第5张图片

 

其中mount是必写单词,然后空格,接着c:也是必写字段,空格,后面则设置我们刚刚新建的(用于存放编译链接程序的)文件夹,我这里是d:\masm 输入完成后按下ENTER键,接着下一行出现Z:\> 输出c:回车即可。

 

我们先debug一下看下模拟得怎样

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第6张图片

 

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第7张图片

 

可以看出模拟的还是比较好的。

 

说了那么多,我们写一个小程序,并且编译链接生成exe文件后用debug跟踪一下看看效果如何

 

 

该程序将改写内存中的数据,将会引起死机(注意:不是真的电脑死机,而死DOSBox模拟器死机)

 

我们用Notepad++这个软件来编写汇编程序(也可以用记事本,后缀名改为asm即可)

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第8张图片

 

 

 

在语言那里选择汇编语言即可(Assembly)这里我们将源程序保存到刚刚新建的masm目录下

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第9张图片

 

可以看到我们的源程序test.asm,接着就是编译链接的步骤了,首先win+R打开运行,并且输入cmd后回车

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第10张图片

 

 

接着输入刚刚新建masm文件夹所在的盘,我这里是D盘,所以输入D: 然后回车

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第11张图片

 

接着打开masm 输入cd masm (cd 是打开文件夹指令)

 

然后进行编译

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第12张图片

 

 

编译的格式是 masm 源程序文件名.asm  所以我这里是masm test.asm 按下ENTER键完成编译,编译后我们可以看到刚刚新建的masm目录下多了test.obj文件

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第13张图片

 

 

编译就算完成了,我们还要进行连接工作才能生成exe文件

 

连接步骤如下:

 

win+R打开运行,输入cmd,并打开masm目录(步骤与上述相同,这里不再详细)

接着输入link

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第14张图片

 

 

这里输入我们刚刚生成的obj文件,注意:后缀和名字一起输入,接着输入生成exe文件的文件名,我们还是用test

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第15张图片

 

然后下面一直按ENTER键就ok了,下面都是生成中间产物,我们没必要关心

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第16张图片

 

 

然后在新建的masm目录下我们可以看到我们可爱的exe文件了

 

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第17张图片

 

 

直接运行是不可以的(应该是版本过老问题)我们必须用debug跟踪,可是64位系统在win+R里debug不是指令,不能跟踪,这时我们强大的DOSBox 0.74发挥作用了

 

打开DOSBox,按以上步骤完成设置后输入debug test.exe

 

用r命令查看寄存器的值,u命令查看汇编程序的指令

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第18张图片

 

我们用t命令进行执行

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第19张图片

 

 

执行两次t命令后可以看到下一个汇编语言是MOV [0026],AX 即修改内存单元0026的单元的值,该单元因为存放着重要的机器指令,修改后将会导致DOSBox软件死机,继续执行t命令

DOSBox0.74以及汇编编译器的安装使用(虚拟)64位_第20张图片

 

此时DOSBox已经死机,想再次运行请关掉该软件再次打开即可,可见DOSBox模拟得挺真实的,连死机也不放过

 

以上就是基本的使用方法!

用汇编语言写一个大程序相比于高级语言是相当麻烦的,我们学汇编的目的并不是为了写出大程序,而是为了更好的理解计算机的底层工作,接触最接近机器语言的编程语言,探索它的原理,发现它的奥秘,有兴趣的同学或正在学汇编语言的同学可以试下这款模拟器,它模拟得恨到位,能有效地帮助汇编学习

你可能感兴趣的:(DOSBox0.74以及汇编编译器的安装使用(虚拟)64位)