微机原理与接口技术课内实验-NUAA-Masm for Windows

目录

1、软件下载:  Masm for Windows 2015(友好的文本编辑器,但是运行和调试仍会调出dosbox。)

2、 做亿点点说明

3、命令行方式运行汇编:(实验四会用到,终究逃不过)

4.实验报告


1、软件下载:  Masm for Windows 2015

(可以理解成友好的文本编辑器,其运行和调试仍会调出dosbox)

 安装包:   https://sm.myapp.com/original/Office/wasm2015.rar

上来先 下一步 然后 选择安装目录(非c盘就行!)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第1张图片

 然后下一步安装    安装完成后 打开文件

微机原理与接口技术课内实验-NUAA-Masm for Windows_第2张图片

 在非C盘新建一个工作区,如D盘 下面 (用来存放代码)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第3张图片

 新建一个 hello.asm文件 然后拖到 软件里,然后输入上这串代码:(hello world输出)

;********************************************
;  *程序功能:显示Hello World!                    *
;  *编译器:Masm 5.0,ML6.11都可以          *
;  ********************************************
DATAS  SEGMENT
     STRING  DB  'Hello World!',13,10,'$'
DATAS  ENDS

CODES  SEGMENT
     ASSUME    CS:CODES,DS:DATAS
     
START:
     MOV  AX,DATAS
     MOV  DS,AX
     LEA  DX,STRING
     MOV  AH,9
     INT  21H
   
     MOV  AH,4CH
     INT  21H
CODES  ENDS
    END   START

点击运行就能看到结果了,

微机原理与接口技术课内实验-NUAA-Masm for Windows_第4张图片

 点击调试也是没有问题的。(-t指令可以正常运行)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第5张图片

调整 masm for  winodws  dosbox框大小的方法:

微机原理与接口技术课内实验-NUAA-Masm for Windows_第6张图片

windowresolution=1280x800
output=opengl 

 然后保存重新运行调试就变大了!

2、 做亿点点说明

在搜索配置dosbox环境的时候 出现了几个 名词, masm masm  for  windows  dosbox。给出自己的理解(自己瞎编的)。

 我们都知道c语言的编译运行过程 :  .c 文件 -> gcc 编译器 (以这个为例) 编译运行  -> 在环境中生成exe并运行。

那么 这里的masm 也就类似于gcc   支持 把 .asm  编译链接 

dosbox 类似于一个环境黑框,在这个环境里能够支持dos系统下的debug命令(eg:-d 200 这种命令),也提供了 上面masm 处理过后的东西 的运行环境。

而 masm for windows 就类似于 devc++ 就是一个软件。

masm for windows 2015好多付费的内容,并且示例较少, 最新版本的2020 官网:家民软件

 微机原理与接口技术课内实验-NUAA-Masm for Windows_第7张图片

2020的安装流程也是一样的

微机原理与接口技术课内实验-NUAA-Masm for Windows_第8张图片

可以看到上面2020的版本给出了很多免费的示例,所以我选择,用2020给出的示例参考(学习),用2015编译运行。

###

有人问为什么不直接在2020里面运行?  这样不是() tuo nasha   fang 那啥?

因为发现下面这个问题 我还不知道怎么解决。(在2020例自己新建的asm文件运行不出结果,只有运行示例才能出结果,而且这个结果框是白色 ?)

失败演示链接:微机原理-mashforwindows2020-失败演示视频-CSDN直播

算了 这段好也不重要,跳过就可以

#######

另外:打开2015的文件位置可以看到,下载masm for windows 时带上了这个 环境dosbox

微机原理与接口技术课内实验-NUAA-Masm for Windows_第9张图片

 打开 运行下使用命令调试下 发现也可以。 (就好像dev内置了 MinGW一样)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第10张图片

那么其实也可以不用下载 masm for windows(类比 dev) ,理论上 我们只需要 用记事本 写asm文件 然后编译器 masm 编译 最后dosbox里运行就可以,根本不需要 masm for windows这个软件。

如果要实现上面的这种效果: 这里就需要  masm 和 dosbox关联下,以方便dosbox找到masm。

3、命令行方式运行汇编:(实验四会用到,终究逃不过)

一、安装DOSBox 和 masm 
1、百度网盘链接,直接下载文件夹里的压缩包就好了,解压到你的文件夹里。

链接:https://pan.baidu.com/s/1UwSpoh9mU0PtJ00BF63zRA
提取码:hiaj

或者:链接:https://pan.baidu.com/s/10HUsGq2Va0p_NNaE6z3cKw?pwd=khpl 
提取码:khpl 
--来自百度网盘超级会员V4的分享

在这里插入图片描述
2、然后就是这个样子:

在这里插入图片描述


3、运行 DOSBox0.74-win32-installer 文件夹中的 exe 文件进行安装。前面一直 Next 就行了,选择安装路径的时候记得选择自己刚刚创建的文件夹哦

在这里插入图片描述

4、这就安装好了,可以把那个 DOSBox.exe 创建个快捷方式到桌面上。(发送到桌面快捷方式)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第11张图片

5 接下来解压 编译工具masm 其中zip中下面几个比较重要

  • masm.exe:汇编程序,用于汇编源程序(.asm),得到目标程序(.obj);
  • link.exe:连接程序,用于连接目标程序,得到可执行程序(.exe);
  • debug.exe:调试程序,用于调试可执行程序。

微机原理与接口技术课内实验-NUAA-Masm for Windows_第12张图片

二、配置准备工作

1、汇编编译器masm 中上面解压    拿到的四个exe 和你要编译的 asm文件放在一个目录下:

(提醒一下 asm文件不要中文命名,就先拿 输出helloworld 的举例子)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第13张图片

2、这里我们走简单的办法,(直接配置初始化文件 不在一点点 挂载运行了),想弄清原理就请跳转到  下面  三、怎么用DOXBox运行asm文件

微机原理与接口技术课内实验-NUAA-Masm for Windows_第14张图片

上面那个文件叫:DOSBox 0.74 Options.bat

mount c D:\Masm-workspace   #把存在源码和编译工具的目录 配置成 dosbox中的虚拟c盘根目录 (听不懂就按着配就完了.....)
C:   #转到虚拟的c盘
dir  #列出当前存在的所有文件,实际上我后面注释了这行,谁没事一直看目录下有什么文件?
# (下面的可以不用配,我只是默认每次编译的都是hello.asm文件 每次链接的都是hello.obj 每次执行的都是 hello.exe 并且不存在任何附加文件 )
masm hello.asm
link hello
hello.exe

然后双击 桌面上的 DOSBox 0.74

 微机原理与接口技术课内实验-NUAA-Masm for Windows_第15张图片

 这里我们发现,我们输了好多回车(不管,想管就看 三、怎样用 DOSBox 运行 asm 文件去弄原理),这里的 masm xxx  link xxx     xxxx.exe 发现都是自动输入上去的 ,对应上上个图的倒数三行。 不配置上面三行就(  masm  hello.asm  回车回车回车  link hello 回车回车回车  hello) 结果一样的。

完美撒花!嘿嘿~!

三、怎样用 DOSBox 运行 asm 文件(该解释下上面为社么那么做了!!!!!)

1、还是四个exe 和你要编译的 asm文件放在一个目录下:
2、打开 DOSBox,首先使用一个命令来把咱们的文件目录作为一个虚拟C盘,你做成d盘也行,做成abcdefg盘都行的~~~~~~~

微机原理与接口技术课内实验-NUAA-Masm for Windows_第16张图片

mount c D:\Masm-workspace

解释一下这个命令,理解了才好记忆:
       => mount:准备、安排的意思;
       => c:表示要虚拟为C盘;
       =>D:\Masm-workspace  被虚拟的文件夹路径(存放asm代码和一系列编译工具的那个)。

在这里插入图片描述

3、第二个命令,用来转至我们虚拟的C盘:c:

在这里插入图片描述
4、编译 hello.asm 文件:

masm hello.asm
然后会出现三个询问,连续三个回车就行了。

微机原理与接口技术课内实验-NUAA-Masm for Windows_第17张图片

在这之后 你可以用dir命令看一下,当前目录下有没有obj文件,有就对了,没有就换一个文件编译。 

5、链接 hello.obj 文件:

link hello或者 link hello.obj
文件后缀加不加 obj 都行,但是你 可别加 asm ,就出错了,链接当然是链接 object 文件了。还是会出现三个询问,连续回车。(这里名字是你刚才编译的那个名字)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第18张图片

 在这之后 你可以用dir命令看一下,当前目录下有没有exe文件,有就正常,没有就GGGG!。 

6、运行 hello.exe 文件: hello 或者 hello.exe

微机原理与接口技术课内实验-NUAA-Masm for Windows_第19张图片

依然撒花!!~~~~

顺道说一句,debug.exe 也是有用的哦!(上面四个exe文件是不可缺少的,少了可能就不能调试)

微机原理与接口技术课内实验-NUAA-Masm for Windows_第20张图片

4.实验报告

我觉得我写的报告有点垃圾,就不放我自己的了吧。但还是要说明下:正常人的实验二的“累加题目“会出现和老师的结果不一致的问题,看看自己的数据段和代码段是不是离得太近,导致后面键入的程序  覆盖了前面刚刚键入 的数据   。另外下面的链接中 不都是正确答案! 不都是!不都是!

实验1icon-default.png?t=N7T8https://max.book118.com/html/2017/0411/99784703.shtm
实验2icon-default.png?t=N7T8https://max.book118.com/html/2017/0602/111069272.shtm
实验3icon-default.png?t=N7T8http://xn--https-rfa//max.book118.com/html/2018/0704/8101133036001114.shtm
实验4icon-default.png?t=N7T8https://wenku.baidu.com/view/29ed92f44693daef5ef73d4b.html?_wkts_=1670082584532

实验5icon-default.png?t=N7T8https://www.docin.com/p-1084470632.html
实验6icon-default.png?t=N7T8https://www.docin.com/p-2270614783.html

有精力的建议多做两个实验,毕竟6个实验是基本要求,哦对了!  

2020级的4专微机考试题是 10道大题,当时是两个问答题,

一个是8086和80386的区别(也就是你要清楚的知道8086-奔图系列的区别和发展思路,从总线啊 体系结构啊  特点啊方向去答)

另外一个是bios和SRAMxxxx什么东西的区别,忘记了。

其他的题目包括但不限于:

总线状态 (计算题),

内存分段和分页的经典大题,

中断向量表的入口地址,段选择子啊,中断向量描述符啊 什么的

设计一个从线性地址->物理地址的划分,就是让你设计怎么分页,比如页表不能超过xxxK,页目录表不能超过xxxx个

8253 8259 8255是综合在一个大题来考的(真的非常非常难受),建议这一块的熟练程度要高到让人看起来心疼!请注意我没有危言耸听。

最后一个答题是 汇编程序,就是实验题中的 出入月份并显示的那个题目!!!!!!(原题!!!!)个人感觉 最起码的冒泡要会,显示/输入 字符串/字符的INT中断一定要知道(一般不给)

开个玩笑:按照记忆曲线的规律,我能记起这一半的题目已经是正常了,剩下的就看各位的造化了。

姿瓷一下互联网精神好不好的啦!

你可能感兴趣的:(#,NUAA-微机原理接口与技术,学习方法)