21世纪高等院校规划教材99.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
21世纪高等院校规划教材99

21世纪高等院校规划教材 ;第6章 宏功能设计和子程序设计;6.1 宏功能程序设计;6.1.1 宏定义与宏调用;⒈ 宏定义;例如,在某程序中,需要多次输出缓冲区中的字符串,这就要反复进行9号功能调用:;;⒉ 宏调用;⒊ 宏展开;对于上面的三次宏调用,展开后形式为:;例6-1:用宏指令定义两个字操作数相乘。;;6.1.2 宏库的建立与使用;⒉ 宏库的使用;例6-2:从键盘输入一串字符到BUF缓冲区,试编程将其中大写字母转换成小写字母(其余字符不变)后在显示器上输出。;源程序如下:;;6.2 子程序设计;6.2.1 子程序概述;;在设计子程序时,主要应解决如下几个问题:;6.2.2 子程序调用与返回指令;1.子程序调用指令CALL;(1)段内直接调用;例6-3:分析下列指令。;(2)段内间接调用;例6-4:;(3)段间直接调用;例6-5:分析如下调用指令。;(4)段间间接调用;例6-6:下面指令都是段间间接调用。;以上几条调用指令在使用时应注意:;2.子程序返回指令RET;(1)段内返回指令;(2)段间返回指令;(3)带立即数的返回指令;例6-7:分析如下返回指令;3.子程序定义格式;6.2.3 主程序与子程序的参数传递;1.用寄存器传递参数;例6-8:;分析:;源程序如下:;;2.通过存储单元传递参数;例6-9:要求同上,现在用存储单元传递参数,计算数组元素的累加和。;源程序如下:;;3.通过堆栈传递参数;例6-10:要求同上,现在用堆栈传递参数,计算数组元素的累加和。;源程序如下:;;;6.2.4 子程序设计方法;1.子程序调用方法说明;例如,若子程序SUB1中改变了AX、BX、CX、DX四个寄存器的内容,则可以用如下方法实现保护现场和恢复现场的工作:;例6-11:编写一个求两个正整数最大公约数的子程序。;子程序清单:;例6-12:假设在A、B、C、D四个字单元中各存放一个正整数,试编写程序分别求出A与B的最大公约数M,C与D的最大公约数N,再求出M与N之和,将结果存入RESULT字单元中。;源程序如下:;;;例6-13:十进制到十六进制数转换程序。;;;源程序如下:;;子程序DECTOBIN ;功能:接收从键盘输入的十进制数,并将其转换为二进制数存放在BX寄存器中。 ;无入口参数。出口参数为BX寄存器。;;子程序BINTOHEX ;功能:将BX寄存器中的二进制数转换为十六进制数并显示出来。 ;入口参数:BX寄存器。 ;无出口参数。;;RETURN子程序,用来输出回车换行;6.2.5 子程序的嵌套;例6-14:假设在BUF1开始的存储区中放有若干个无符号字节数据,试编写程序,找出其中的最大值,并以十六进制的形式在屏幕上显示出来。;源程序如下:;;子程序MX_DISP;;子程序DISPLAY;6.2.6 子程序的递归调用;例6-15:编写一个程序计算N!(N≥0)。;下面以N = 5为例进行说明。;源程序如下:;;递归子程序FACTOR;6.3 宏指令与子程序的比较;主要区别如下:;本章小结;KcNfRiUlXp#sv)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!sv)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!sw)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!sw)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!tw-z1C4G7JaMePhTkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!tw-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#sv)y0C3F6IaLdPgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#sv)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9KcOfRjUmXp!sv)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!sw)z1C4F7JaMdPhSkWnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!tw)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgRjVmYq!tw-z1

您可能关注的文档

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档