汇编语言程序设计课程实验一 本实验的目的在于熟悉汇编语言程序设计,掌握汇编源程序编辑工具、汇编程序、连接程序、调试工具 TD 的使用,理解数、符号、寻址方式等在计算机内的表现形式,以及指令执行与标志位改变之间的关系。 实验目的与要求 本实验的主要目的在于: 1. 掌握汇编源程序编辑工具、汇编程序、连接程序、调试工具 TD 的使用。 2. 理解数、符号、寻址方式等在计算机内的表现形式。 3. 理解指令执行与标志位改变之间的关系。 4. 熟悉常用的 DOS 功能调用。 5. 熟悉分支、循环程序的结构及控制方法,掌握分支、循环程序的调试方法。 6. 加深对转移指令及一些常用的汇编指令的理解。 实验内容 任务 1: * 阅读以下程序,根据指令的执行流程,说明程序实现的目标,并采用汇编程序对改代码进行编辑、编译、连接和调试。 * 查阅资料,说明指令“cld”和“repz cmpsb”的功能。 * 查阅资料,说明“int 21h”的功能。 * 借助 TD 工具,观察指令“repz cmpsb”完成后,哪些标志位发生了变化。 * 程序中的两条“push”指令的作用是什么,有没有感觉代码中缺少与“push”指令相关的操作指令?如果有,尝试完善该段代码,并观察程序运行效果。 * 运行程序,说明当前程序运行的结果,然后修改字符串 string2,让程序产生不同的结果。 任务 2: * 阅读下列程序,并指出程序执行之后,以 BUF2、BUF3、BUF4 为首址的 3 个字节存储区中存放的数据。 * 分别记录执行到“MOV CX,10”和“INT 21H”之前的(BX)、(BP)、(SI)、(DI)各是多少。 * 记录程序执行到退出之前数据段开始,40 个字节的内容,指出程序运行结果是否与设想的一致。 * 在标号 LOPA 前加上一段程序,实现新的功能:先显示提示信息“Press any key to begin!”, 然后,在按了一个键之后继续执行 LOPA 处的程序。 实验过程 在实验过程中,需要使用 TD.EXE 调试程序,单步执行各个语句,每执行一条语句,都应观察数据段中的内容以及相应寄存器的变化。首先注意观察对 DS 寄存器的赋值过程,并在 TD 的数据窗口定位待观察的数据区位置。单步执行循环体两遍且正确理解了循环体语句的含义后,可在“MOV AH, 4CH”处设置断点,然后直接执行到断点处,回答问题。 实验总结 通过本实验,学生可以熟悉汇编语言程序设计的基本概念和技术,掌握汇编源程序编辑工具、汇编程序、连接程序、调试工具 TD 的使用,理解数、符号、寻址方式等在计算机内的表现形式,以及指令执行与标志位改变之间的关系。
- 粉丝: 26
- 资源: 318
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 简单的包装器,用于从 .NET 应用程序渲染 hrtf DirectX,Xaudio2 声音.zip
- 简单的 dll 将提供一些信息来帮助在应用程序中挂接 directx shitcode.zip
- 简单的 DirectX 11 游戏引擎.zip
- 基于ASP.NET+SqlServer 实现的简单教学管理系统课程设计
- 简单的 DirectX 11 Hello World.zip
- curl的so库以及头文件
- 简单 3D 引擎(C++、DirectX 11,12、OpenGL 4.5、Vulkan、wxWidgets).zip
- 基于 C#+Mysql 实现的停车场管理系统课程设计(源码+课程设计报告)
- 作业12 MapReduce工程的创建与编程原理.docx
- 由 DirectX 设计的 3D 博物馆.zip