【微机原理软件实验】是北京邮电大学通信工程大三学生的一门实践课程,旨在让学生掌握微机系统的基本原理和软件操作技能。实验报告中涉及了汇编语言程序的设计、编译、连接、执行以及使用DEBUG工具进行程序调试的全过程。 实验的核心内容是编写一个简单的汇编语言程序,该程序包含了数据段(DAT)、栈段(STA)和代码段(COD)。数据段中定义了变量A、B和Y,栈段用于存储栈数据,而代码段则包含两个子程序STAR和SUB1。STAR是主程序,它调用SUB1子程序来计算两个数的乘积并累加到Y的值上。 实验目标是: 1. 熟悉汇编语言程序的编辑、编译、连接和执行流程。 2. 学习并掌握使用DEBUG工具进行程序调试的方法。 实验步骤包括: 1. 使用编辑器输入汇编源代码并保存。 2. 使用汇编器和链接器将源代码转化为可执行文件。 3. 使用DEBUG工具加载可执行文件,通过`D`命令查看数据区的内容,如A和B的地址。 4. 使用`U`命令对目标代码进行反汇编,观察源程序的起始位置和地址。 5. 使用`T`命令单步执行程序,对比指令执行结果与预期是否相符。 6. 在SUB1子程序入口设置断点,使用`G`命令运行程序,并在断点处检查堆栈内容。 7. 使用`E`命令修改A和B的值,重新执行程序以观察变化。 8. 使用`M`和`A`命令修改程序,例如将ADD和ADC指令替换为CALL SUB1指令。 9. 重新编译并运行去掉STAR的源程序,对比DEBUG的反汇编结果。 预习思考环节要求学生熟悉DEBUG的常用命令,比如: - `D`:显示内存单元的内容。 - `U`:反汇编内存区域。 - `T`:单步执行指令。 - `E`:修改内存单元的值。 - `M`:移动内存区域的数据。 - `A`:在内存中输入或修改汇编指令。 此外,学生还需要分析程序功能,本实验中的程序实现了两数乘积的计算,并考虑了如何在堆栈中查看数据。如果SS=2000H,SP=FFFFH,向堆栈压入4字节数据后,可以使用`-D 2000:FFFB`命令查看堆栈中的内容。 实验过程通常会包含详细的实验截图和注解,以便学生理解和记录实验细节。通过这样的实验,学生能够深入理解微处理器的工作原理,掌握汇编语言编程和调试技巧,为后续的计算机系统学习打下坚实基础。
剩余52页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于小程序的客家菜餐馆点菜系统源代码(java+小程序+mysql).zip
- 基于小程序的家庭事务管理微信小程序源代码(java+小程序+mysql+LW).zip
- PHP微信朋友圈广告植入源码 无限制多用户版
- 基于小程序的综合文化信息管理系统源代码(java+小程序+mysql+LW).zip
- java+mvc+jsp的数据库课程设计-企业人事管理系统源码+课设报告(高分项目)
- 基于小程序的外卖商城平台的微信小程序源代码(java+小程序+mysql+LW).zip
- 基于小程序的在线视频教育系统源代码(java+小程序+mysql+LW).zip
- 航飞动三自由度弹道仿真,第一段无动力飞行,第二段启动推力,第三段比例导引
- 基于小程序的预约挂号系统源代码(java+小程序+mysql+LW).zip
- 基于小程序的民大食堂用餐综合服务平台源代码(java+小程序+mysql+LW).zip