手把手带你写、调试第一个8086汇编程序
需积分: 9 132 浏览量
更新于2024-09-12
收藏 484KB PDF 举报
"手把手带你写,调试,探讨第一个8086汇编程序"
本文主要讲述了如何写、调试和探讨第一个8086汇编程序,涵盖了编译、调试、段地址等方面的知识点。
一、环境设置
在学习8086汇编程序时,需要安装Masm6.15编译环境,并将其路径添加到环境变量中,以便在命令行中使用。下载地址为http://pan.baidu.com/s/1o72s8B4。
二、操作步骤
1. 下载Masm6.15后,解压后,放到相应目录,路径不要带中文。在目录下面有个Bin文件夹,复制此路径。
2. 在“我的电脑”中右键点击“属性”,然后点击“高级”,接着点击“环境变量”,最后在“path”编辑中加入Masm的路径。
3. 运行命令行Dos窗口,输入以下命令:
4. 然后输入第一个汇编程序:
5. 点击File---Save保存,后退出Exit。
6. 输入以下命令开始编译:
7. 输入以下命令开始链接,执行程序名称随意输入,其他随意。
8. 成功生成1.exe之后,运行以下命令:
三、如何调试我们的第一个汇编程序
1. 成功编译生成1.exe之后,键入以下命令:
2. 这里没有约定俗成的步骤,先打印下8086的寄存器。紧接着上个步骤,输入以下命令:
回车之后显示如下:
这里我还是少不了介绍下,每个寄存器的作用。
SS、ES、DS、CS为段地址,其中CS:IP最为重要,CPU执行的指令由它指定。SS:SP则指定栈顶的位置。
3. 看我们当前程序在内存中的机器码,输入以下命令:
这里这个d100,是指现实内存的16进制值,100为偏移地址。至于为什么偏移100,这个要根据上面提到的CS,SS=0B40,ES,DS=0B30,因为这里是段地址,CS段为存储的机器指令。相对于程序的ES,偏移刚好是100.
4. 如何验证上面找到的内存机器码就是我们当前程序的指令?Debug有提供一个反编译命令。按如下操作。
红色的部分可以看到是一样的。
5. 关于调试,可以输入以下命令:
这里可以看到AX,IP的值均发生了变化。
这里多操作下,多种操作可以灵活操作,就靠各位自己摸索了。
四、知识点总结
* 8086汇编程序的环境设置
* 编译和链接的过程
* 段地址的概念和作用
* 寄存器的作用和使用
* 调试的基本操作和命令
* 反编译命令的使用
五、结语
通过本文,我们可以学习到如何写、调试和探讨第一个8086汇编程序,掌握了基本的汇编语言编程和调试技巧,为后续学习和实践打下了坚实的基础。
3740 浏览量
2008-06-13 上传
233 浏览量
2012-07-23 上传
2012-07-20 上传
105 浏览量
2024-04-17 上传
点击了解资源详情
weijiangtao1717
- 粉丝: 2
- 资源: 33
最新资源
- C#.Net网络程序开发-Socket篇.pdf
- spring guide 夏昕
- shell 十三问 - linux/unix入门级shell脚本书写资料
- Apress Expert Oracle Database 11g Administration.pdf
- Oracle 10G - Sql Optimization (Jonathan Lewis).pdf
- JBPM内部材料.pdf
- 高质量c/c++编程指南
- soa与服务介绍文档
- Tornado 2.2 入门介绍.pdf
- 嵌入式uCLINUX及其应用开发.pdf
- 提供C#编程规范参考
- C面試題目(不错,是老师给的)
- 企业人事管理系统毕业论文(DELPHI)
- 精密比较器:MAX9117
- 极端编程(XP)现在很热门!参加现在的任何软件开发会议会发现听XP演讲只剩下站
- Getting Started with Hibernate search