汇编语言学习-DOSBox-MASM-安装及使用教程
学校没有开设《汇编语言》这门课,但我觉得学习汇编挺重要的,对学习计组以及理解计算机原理很有帮助!
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 文件,如果出现错误,则无法生成。
连接的作用:
- 当源程序很大时,可以将它分为几个源程序文件来编译,每个源程序编译成为目标文件后,再用连接程序将他们连接到一起,生成一个可执行文件;
- 程序中调用来某个库文件中的子程序,需要将这个库文件和该程序生成的目标文件连接到一起,生成一个可执行文件;
- 一个源程序编译后,得到了存有机器码的目标文件,目标文件中的有些内容还不能直接用来生成可执行文件,连接程序将这些内容处理为最终的可执行信息。所以,在只有一个源程序文件,而又不需要调用某个库中的子程序的情况下,也必须用连接程序对目标文件进行处理,生成可执行文件。
4)执行我们编译好的 .exe 文件
输入:
hello.exe
hello
都可以执行exe文件,当然前提是在 MASM 状态下。如图
至此就是编写汇编源程序以及运行的全部内容,我们还可以在此基础上进行debug,查看heelo.exe的执行情况,更多的知识请自行前往学习。
汇编语言学习-DOSBox-MASM-安装及使用教程相关推荐
- 汇编语言程序设计DOSBox+MASM文件,解决汇编程序设计入门问题
汇编语言程序设计需要掌握的软件: 1,DOSBox+MASM环境搭建,运行汇编程序,必须要有MASM中三个文件:MASM.exe,LINK.exe,debug.exe.这三个文件在我5网盘中下载hb文 ...
- 【2021新教程】win10安装汇编环境(Dosbox+masm)
1 背景 最近想复习一下本科学过的8086汇编,发现需要装dosbox和masm.在查阅网上资料的时候发现,**网上资料非常老旧.排版乱七八糟,全是蒙着头搞配置也不说为什么,可读性奇差.**所以根据自 ...
- DOSBox超详细下载安装与使用教程
文章目录 前言 零.DOSBox安装所需资源 一.DOSBox的下载 二.DOSBox的安装 三.DOSBox的使用 总结 前言 本博客的主要内容为DOSBox软件的下载安装与使用教程,DOSBox软 ...
- 搭建8086汇编语言学习环境——dosbox
搭建8086汇编语言学习环境 资源网盘链接:链接:https://pan.baidu.com/s/1gamz6WYIWLOv5WP9H8L2Ng 提取码:ydvv 复制这段内容后打开百度网盘手机App ...
- 汇编语言学习篇1——DOSBox、汇编语言、汇编器的认识
说明: 本文章旨在总结备份.方便以后查询,由于是个人总结,如有不对,欢迎指正:另外,内容大部分来自网络.书籍.和各类手册,如若侵权请告知,马上删帖致歉. QQ 群 号:513683159 [相 ...
- 加速深度学习在线部署,TensorRT安装及使用教程
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 1 什么是TensorRT 一般的深度学习项目,训练时为了加快速度,会使用多GPU分布式训练. ...
- VC++ 2010(学习版) 安装教程—图文详解
VC++ 2010 (学习版)安装教程 将压缩包下载完后 如图操作: 等待中..... 然后打开 开始菜单,在 最近添加 可以找到应用 把它拖到桌面上生成快捷方式: 安装就算完成啦!over! 安装包 ...
- Windows11之Vim超详细下载安装与使用教程
文章目录 前言 零.DOSBox安装所需资源 一.Vim的下载 二.Vim的安装 三.Vim的使用 总结 前言 本博客的主要内容为在Windows11系统下的Vim软件的下载安装与使用教程,Vim软件 ...
- 关于汇编语言学习的环境配置及使用方法
关于汇编语言的环境配置及使用方法 从学习汇编以来,很多人在汇编语言的环境配置上出现了很多问题,在学习小组内也有人会向我要链接或环境的一些配置文件.其实在这之前,我也是通过不断地实验和搜索才发现并解决了 ...
- DOSBOX + MASM
最近在学习汇编,这里会用DOSBOX + MASM套件对汇编进行编译链接,在此做个学习记录 安装环境 DOSBOX 和 MASM套件 这里放了个百度网盘链接 win10汇编环境 提取码1111 如果链 ...
最新文章
- C#和JS交互 WebBrowser实例
- 四 Apache Axis2 部署 WebService
- django框架 day07
- iframe嵌入页面白屏_BFCache 与 浏览器前进后退白屏
- 逻辑门的Verilog实现与仿真
- You have tried to change the API from what has been previously approved
- 60.Linux/Unix 系统编程手册(下) -- SOCKET: 服务器设计
- 乐优商城(01)--项目启动
- [病毒木马] Windows 映像劫持
- jpg转pdf转换器注册码
- 沃特世推出SELECT SERIES MRT多反射飞行时间质谱平台,树立高分辨质谱性能新标杆
- VSCode配置git图文
- tl-wr842n服务器未响应,TL-WR842N路由器怎么重启? 重启路由器的技巧
- 微软xgp有哪些地区服务器,选择微软XGP订阅服务后,除了《荒野大镖客2》还有这些游戏值得玩...
- (重点)微服务核心研究之--编排
- 2020-11-01(电脑耳机声音外放)
- 刘同——谁的青春不迷茫,给你冬日满满正能量
- 点云渲染的颗粒感和背景色相关
- tsconfig.json中常见配置项的含义解析
- 2022年计算机考研408考点清单(1.0版本已更完——欢迎指正)