• / 4

第6章子程序结构.doc

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
第6章子程序结构.doc
资源描述:

《第6章子程序结构.doc》由会员分享,可在线阅读,更多相关《第6章子程序结构.doc(4页珍藏版)》请在微传网上搜索。

1、第 6 章 子程序结构1.教学目的:掌握子程序的设计方法及其参数传递方式2.教学要求:①掌握子程序的设计方法及其参数 传递方式。3.教学重点:①子程序的设计 方法及其参数 传递方式。4.掌握难点:①子程序的设计 方法及其参数 传递方式。5.教学进程安排:P196 ~2256.教学方法:课堂讲授7.教学内容摘要:6.1 子程序结构形式与操作6.1.1 过程定义伪操作格式:procedure name PROC Attribute……procedure name ENDPNEAR: 调用程序和子程序在同一代码段中;FAR : 调用程序和子程序不在同一代码段中。确定了 CALL和 RET指令的属性6。

2、.1.2 子程序的调用和返回1.CALL 指令2.RET 指令6.1.3 现场保护与现场恢复如主程序在调用子程序之前的某个寄存器内容在从子程序返回后还有用,而子程序又恰好要使用这个寄存器,则对此寄存器应给予保护。例: 保护 CX寄存器的内容SUBT PROC NEARPUSH CX……POP CXRETSUBT ENDP6.2 子程序的参数传送及嵌套6.2.1 通过寄存器传送参数例:十进制到十六进制数转换程序。程序要求从键盘取得一个十进制数,然后把该数以十六进制形式在屏幕上显示出来。6.2.2 直接参数传递若子程序和调用程序在同一源文件(同一程序模块)中,则子程序可直接访问模块中的变。

3、量,进行参数传递。例:主程序 MAIN和子程序 PROADD在同一源文件中,要求用子程序 PROADD累加数组中的所有元素,并把和(不考虑溢出的可能性)送到指定的存储单元中去。在这里,子程序 PROADD直接访问模块的数据区。6.2.3 通过地址表传递参数地址这种方法是在主程序中建立一个地址表,把要传送给子程序的参数都存放在地址表中,然后把地址表的首地址通过寄存器 BX传送到子程序中去。子程序通过地址表取得所需参数,并把结果存入指定的存储单元中去。例 6-4: 采用通过地址表传送参数方法的程序实现6.2.4 通过堆栈传送参数或参数地址此方法是在主程序里把参数地址保存到堆栈中,在子程序里从堆栈中。

4、取出参数以达到传送参数的目的。例 6-4 :采用通过堆栈传送参数地址法的程序实现。6.2.5 增强功能的子程序定义伪操作从 MASM5.1版开始为用户提供了增强功能的子程序定义伪操作,其格式为:PROCNAME PROC [ATTRIBUTES FIELD][USES REGISTER LIST][,PARAMETER FIELD]┇PROCNAME ENDP1.属性字段2.USES 字段3.参数字段例:用增强功能的子程序定义伪操作的程序实现例 6-46.2.6 子程序的嵌套1.子程序的嵌套2.嵌套深度。图 6.1表示了嵌套深度为 2时的子程序嵌套情况。图 6.1 子程序的嵌套例:设从 BUF开始存放若干无符号字节数据,找出其中的最小值并以 16进制形式输出。8.参考资料:《IBM-PC 汇编语言程序设计》沈美明9.作业:P189 习题 610.本章小结:本部分要求理解性学习和应用,不要死记硬背,重点掌握子程序结构的应用环境和具体用法,以达到对汇编程序设计 的优化。主程序 子程序 A 子程序 BPROC_A PRO_BCALL PROC_A CALL PROC_B RETRET。

展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:第6章子程序结构.doc
链接地址:https://www.weizhuannet.com/p-11934600.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网版权所有

     经营许可证编号:冀ICP备18006529号-1 公安局备案号:13028102000124

收起
展开