学校没有开设《汇编语言》这门课,但我觉得学习汇编挺重要的,对学习计组以及理解计算机原理很有帮助!

1】安装DOSBox和MASM

1)安装DOSBox

首先官网下载DOSBox传送门,网盘链接:https://pan.baidu.com/s/13H0IU9xdYUJIQnwv1eE4Ag 提取码:2g8s ,包含MASM

安装过程就不说了,建议安装在D盘,C盘也可以。我这里是安装在C盘,安装好后打开,注意有两个窗口,不要关闭

找到文件:C:\Users\用户\AppData\Local\DOSBox\dosbox-0.74-3.conf,找不到AppData查看隐藏的文件,使用记事本打开dosbox-0.74-3.conf,在末尾添加下面两行代码:

mount d d:\masmd:

上面代码的意思就是把D盘映射为虚拟C盘,现在打开DOSBox可以看到自动映射了。

2)安装MASM

自己去下载也可以,网盘里面下载下来直接提取到D盘根目录就行了

没有提取 MASM是无法进行debug的,现在打开就可以愉快的开始使用了。

2】使用DOSBox编写汇编程序

1)编写 helloword 汇编源程序

打开 DOSBox,输入 edit 编写一个汇编源程序

代码://

data segment ;这里定义一个数据段tab db 'hello world$' ;这里用内存存放字节数据 'hellow world!',$用来判断字符串是否输出完毕
data ends ;数据段的结束标志code segment ;这里定义了一个代码段assume cs:code, ds:data ;这里把程序中定义的段与对应的段寄存器关联起来start: ;这里是一个标号,根据end后面的标号判断这里是程序的开始位置mov ax,datamov ds,ax ;这里把数据段的地址放到数据段寄存器ds中lea dx,tab ;dx中放将要显示数据的偏移地址mov ah,9hint 21h ;调用21号中断的9号功能来显示字符串mov ah,4chint 21h ;程序返回在这里插入图片描述
code ends ;代码段的结束语end start ;定义程序从哪个标号处开始执行

编写好后点击 file ,选择 save as …,输入文件名称 hello ,后缀是 .asm ,然后点击 ok

也可使用其他编辑器编写源代码,保存到 MASM 文件夹下,修改后缀为 .ASM就行了。

打开 D:\MASM 就可以看见我们编写的源程序了。

2)编译

打开DOSBox,输入 masm ,确认后弹出的第一行输入要编译的源程序的名称:hello.asm ,也可以直接输入 MASM hello.asm ,都一样。

“[.ASM]”提示我们,默认的文件扩展名是asm,比如,要编译的源程序文件名是“p1.asm”,只要在这里输入“p1”即可。可如果源程序文件不是以asm为扩展名的话,就要输入它的全名。比如源程序文件名为“p1.txt”,就要输入全名。

在输入源程序文件名的时候一定要指明它所在的路径。如果文件就在当前路径下,只输入文件名就可以,可如果文件在其他的目录中,则要输入路径,比如,要编译的文件p1.txt在“c:\windows\desktop”下,则要输入“c:\windows\desktop\p1.txt”。这里,我们要编译的文件是C盘根目录下的1.asm,所以此处输入“c:\1.asm”。

在输入源程序文件名后,程序会继续提示我们要编译出的目标文件的名称,目标文件是我们对一个源程序编译要得到的最终结果。注意屏幕上的显示 "[ hello.OBJ ] ",因为我们已经输入了源程序文件名为 hello.asm ,则编译程序默认输出文件名为 hello.obj ,所以不必再指定文件名。直接按 ENTER ,在当前目录下生成 hello.obj 文件。


我们到MASM文件夹下可以看到多了一个 hello.obj 文件,源程序的编译最后两行如果出现警告和错误必须要改正,否则无法生成obj文件。

3)连接

接着上面的顺序,现在已经生成了一个hello.obj 文件,我们需要对目标文件进行连接,从而得到可执行文件。 输入 LINK ,弹出的第一行输入 obj 文件名称,比如 hello,也可以直接输入 LINK hello.obj

这里出现一个警告:没有栈段,我们不予理会。

连接成功后会在 MASM 目录下生成一个 hello.exe 文件,如果出现错误,则无法生成。

连接的作用:

  1. 当源程序很大时,可以将它分为几个源程序文件来编译,每个源程序编译成为目标文件后,再用连接程序将他们连接到一起,生成一个可执行文件;
  2. 程序中调用来某个库文件中的子程序,需要将这个库文件和该程序生成的目标文件连接到一起,生成一个可执行文件;
  3. 一个源程序编译后,得到了存有机器码的目标文件,目标文件中的有些内容还不能直接用来生成可执行文件,连接程序将这些内容处理为最终的可执行信息。所以,在只有一个源程序文件,而又不需要调用某个库中的子程序的情况下,也必须用连接程序对目标文件进行处理,生成可执行文件。

4)执行我们编译好的 .exe 文件

输入:

hello.exe
hello

都可以执行exe文件,当然前提是在 MASM 状态下。如图

至此就是编写汇编源程序以及运行的全部内容,我们还可以在此基础上进行debug,查看heelo.exe的执行情况,更多的知识请自行前往学习。

汇编语言学习-DOSBox-MASM-安装及使用教程相关推荐

  1. 汇编语言程序设计DOSBox+MASM文件,解决汇编程序设计入门问题

    汇编语言程序设计需要掌握的软件: 1,DOSBox+MASM环境搭建,运行汇编程序,必须要有MASM中三个文件:MASM.exe,LINK.exe,debug.exe.这三个文件在我5网盘中下载hb文 ...

  2. 【2021新教程】win10安装汇编环境(Dosbox+masm)

    1 背景 最近想复习一下本科学过的8086汇编,发现需要装dosbox和masm.在查阅网上资料的时候发现,**网上资料非常老旧.排版乱七八糟,全是蒙着头搞配置也不说为什么,可读性奇差.**所以根据自 ...

  3. DOSBox超详细下载安装与使用教程

    文章目录 前言 零.DOSBox安装所需资源 一.DOSBox的下载 二.DOSBox的安装 三.DOSBox的使用 总结 前言 本博客的主要内容为DOSBox软件的下载安装与使用教程,DOSBox软 ...

  4. 搭建8086汇编语言学习环境——dosbox

    搭建8086汇编语言学习环境 资源网盘链接:链接:https://pan.baidu.com/s/1gamz6WYIWLOv5WP9H8L2Ng 提取码:ydvv 复制这段内容后打开百度网盘手机App ...

  5. 汇编语言学习篇1——DOSBox、汇编语言、汇编器的认识

    说明:   本文章旨在总结备份.方便以后查询,由于是个人总结,如有不对,欢迎指正:另外,内容大部分来自网络.书籍.和各类手册,如若侵权请告知,马上删帖致歉.   QQ 群 号:513683159 [相 ...

  6. 加速深度学习在线部署,TensorRT安装及使用教程

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 1 什么是TensorRT 一般的深度学习项目,训练时为了加快速度,会使用多GPU分布式训练. ...

  7. VC++ 2010(学习版) 安装教程—图文详解

    VC++ 2010 (学习版)安装教程 将压缩包下载完后 如图操作: 等待中..... 然后打开 开始菜单,在 最近添加 可以找到应用 把它拖到桌面上生成快捷方式: 安装就算完成啦!over! 安装包 ...

  8. Windows11之Vim超详细下载安装与使用教程

    文章目录 前言 零.DOSBox安装所需资源 一.Vim的下载 二.Vim的安装 三.Vim的使用 总结 前言 本博客的主要内容为在Windows11系统下的Vim软件的下载安装与使用教程,Vim软件 ...

  9. 关于汇编语言学习的环境配置及使用方法

    关于汇编语言的环境配置及使用方法 从学习汇编以来,很多人在汇编语言的环境配置上出现了很多问题,在学习小组内也有人会向我要链接或环境的一些配置文件.其实在这之前,我也是通过不断地实验和搜索才发现并解决了 ...

  10. DOSBOX + MASM

    最近在学习汇编,这里会用DOSBOX + MASM套件对汇编进行编译链接,在此做个学习记录 安装环境 DOSBOX 和 MASM套件 这里放了个百度网盘链接 win10汇编环境 提取码1111 如果链 ...

最新文章

  1. C#和JS交互 WebBrowser实例
  2. 四 Apache Axis2 部署 WebService
  3. django框架 day07
  4. iframe嵌入页面白屏_BFCache 与 浏览器前进后退白屏
  5. 逻辑门的Verilog实现与仿真
  6. You have tried to change the API from what has been previously approved
  7. 60.Linux/Unix 系统编程手册(下) -- SOCKET: 服务器设计
  8. 乐优商城(01)--项目启动
  9. [病毒木马] Windows 映像劫持
  10. jpg转pdf转换器注册码
  11. 沃特世推出SELECT SERIES MRT多反射飞行时间质谱平台,树立高分辨质谱性能新标杆
  12. VSCode配置git图文
  13. tl-wr842n服务器未响应,TL-WR842N路由器怎么重启? 重启路由器的技巧
  14. 微软xgp有哪些地区服务器,选择微软XGP订阅服务后,除了《荒野大镖客2》还有这些游戏值得玩...
  15. (重点)微服务核心研究之--编排
  16. 2020-11-01(电脑耳机声音外放)
  17. 刘同——谁的青春不迷茫,给你冬日满满正能量
  18. 点云渲染的颗粒感和背景色相关
  19. tsconfig.json中常见配置项的含义解析
  20. 2022年计算机考研408考点清单(1.0版本已更完——欢迎指正)

热门文章

  1. 感恩节特辑丨这个世界有无限可能
  2. css 平行四边形 梯形 组合_CSS实现平行四边形布局
  3. Adb connection Error:远程主机强迫关闭了一个现有的连接。
  4. context deadline exceeded
  5. 【传感器大赏】80cm红外距离传感器
  6. 【Vic的小课堂】Unity实现游戏功能(1)—矩形框选
  7. Java学习笔录3(变量和常量)
  8. Android Studio模拟器如何运行apk文件
  9. 订单可视化(智能制造、流程再造、企业信息化) 第四篇 技术方案的制定
  10. 2015中国国内元器件分销商10亿俱乐部20强榜单