汇编语言程序--掌握子程序的设计.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
电子信息工程学系实验报告 ——适用于计算机课程 课程名称:汇编语言程序设计 实验项目名称:掌握子程序的设计 实验时间:2010-12-03 班级:计算机082 姓名: 沈梦琼 学号: 810704237 实 验 目 的: 1. 能够通过DEBUG命令来实现对汇编程序的调试; 2. 掌握程序设计中的子程序的设计。 实 验 环 境: 轻松汇编 实 验 内 容 及 过 程: 编程实现: 已知数据段定义如下: data segment x dw 12 y dw 34 w dw ? data ends x,y,w为16位有符号数。 1. 编写一个子程序add1实现x+y w,并把w以十进制的形式在屏幕上打印出来。 2. 编写一个子程序sub1实现x-y w,并把w以十进制的形式在屏幕上打印出来。 3. 编写一个子程序mul1实现x*y w,并把w以十进制的形式在屏幕上打印出来。 4. 编写一个子程序div1实现x/y w,并把w以十进制的形式在屏幕上打印出来。 5. 通过在主程序中调用各子程序来实现对子程序的调试。 实 验 结 果 及 分 析: 实 验 心 得: 通过本次课堂实验的编写,我对调试 在本实验报告中,主题是学习和掌握汇编语言程序设计中的子程序设计。实验的主要目的是让学生能够通过DEBUG命令调试汇编程序,并且熟练运用子程序进行程序设计。实验环境为“轻松汇编”,这是一种常见的汇编语言开发环境。 实验的具体内容包括编写四个子程序,每个子程序分别实现以下功能: 1. `add1` 子程序:将数据段中定义的16位有符号数x和y相加,结果存储在w中,并以十进制形式在屏幕上显示。 2. `sub1` 子程序:计算x减去y的结果,同样将结果存入w,并以十进制形式打印。 3. `mul1` 子程序:执行x与y的乘法运算,将积存储在w中,以十进制形式输出。 4. `div1` 子程序:进行x除以y的运算,商存入w,同样以十进制形式显示。 在主程序中,这些子程序被逐一调用,以便于在实际运行中调试子程序的功能。实验过程中遇到了一些问题,如RET指令的位置错误导致的死循环,以及在程序结构中忘记写START标签导致编译成功但链接失败。这些问题通过逐步检查和修正得到了解决,从而加深了对调试工具和子程序设计的理解。 子程序的设计在汇编语言编程中至关重要,因为它可以提高代码的可读性、重用性和模块化。例如,`add1`子程序可能包含如下步骤: 1. 保存通用寄存器AX和BX(因为ADD操作可能改变它们)。 2. 将x的值加载到AX,y的值加载到BX。 3. 执行ADD指令,将AX和BX相加。 4. 将结果存储回CX(因为AX可能被下一次调用覆盖)。 5. 恢复之前保存的寄存器。 6. 使用RET指令返回到调用者。 实验的最终结果分析和心得体会表明,通过实际操作,学生不仅掌握了DEBUG工具的使用,还熟悉了子程序的设计和调用,以及如何解决遇到的问题。这为后续更复杂的汇编语言编程打下了坚实的基础。
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助