- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
06-Cx51函数
六、Cx51函数 6.1 函数的分类 6.2 函数的定义 6.3 函数的参数和函数值 6.4 函数的调用 6.5 数组、指针作为函数的参数 6.6 Cx51程序的优化 6.1 函数的分类 6.2 函数的定义 6.3 函数的参数和函数值 6.4 函数的调用 6.5 数组、指针作为函数的参数 7.6 Cx51程序的优化 习题参考答案(P.142) 习题3. 作为函数形式参数使用的数组名具有什么特征?它们的使用特点是什么? 习题5. 当一个函数需要返回多于一个值时,可以怎么做? 习题9.编写函数itob(n)。它把整数n变换成二进制字符串,并返回字符串地址。 习题11.编写把字符串s逆转的递归函数reverse(s)。 习题12.设计并初始化一个具有2个元素的2维数组保存图画(如正方形)的X-Y坐标值。然后设计一个画图函数。标明怎样调用函数画正方形。 2) 组合段 将具有相同段名的可重定位段组合成单一的段。在一个程序模块中定义的一个段成为部分段。一个部分段在源文件中以下列形式指定: (1) 名字 每个重定位段有一个名字,它可与来自其它模块的同名的可重定位段组合。绝对段没有名字。 (2) 类型 类型表明段所属的地址空间CODE,XDATA,DATA或BIT。 (3) 定位方式 可重定位段的定位方式有PAGE,INPAGE,INBLOCK,BITADD RESSABLE或UNIT。INPAGE表明段必须放入一页(高8位地址相同)中以使用短转移和调用指令。INBLOCK段应使用ACALL,必须放在2048字节块中。因为没有连接器可以灵活地判知调用和转移是否在块内。可重定位的其它限制是:不能超过256字节;BITADDRESSABLE--必须放在可位寻址的内部RAM空间;UNIT--允许段从任意字节开始(对位变量是位)。 (4) 长度 一个段的长度。 (5) 基址 段的首址。对于绝对段,地址由汇编器赋予,对于可重定位段,地址由L51决定。在处理程序模块时,L51自动产生段表(MAP),该表包含了每个段的类型、基址、长度、可重定位性和名字。 L51自动将所具有相同名字的所有部分段组合到单一可重定位段中。例如,三个程序模块包含字段VAR,在组合时,三个段的长度相加,从而组合段的长度也增加了。对组合段有下列规则: ① 所有具有相同名的部分段必须有相同类型(CODE,DATA,IDATA,XDATA或BIT)。 ② 组合段的长度不能超过存储区的物理长度。 ③ 每个组合的部分段的定位方法也必须相同。 ④ 绝对段相互不组合,它们被直接拷贝到输出文件。 3) 存储器分配 物理存储区 最大长度 地址区 段类型 程序 64 KB 0~0FFFFH CODE 外部数据 64 KB 0~0FFFFH XDATA 直接寻址片内数据 128字节 0~7FH DATA 间接寻址片内数据 256字节 0~0FFH IDATA 片内数据的位空间 128位 0~7FH BIT 表7.6 MCS-51系列的物理存储区 4) 采用覆盖技术使用数据存储器 通过采用一定的覆盖技术,MCS-51系列少量的片内数据存储器可由L51有效地使用。由C51编译器或是A51汇编器生成的参数和局部变量(若使用它们的函数不相互调用)可在存储器中覆盖。这样,所用的存储器得到相当程度地减少。 为完成数据覆盖,L51分析所有不同函数间的调用,使用该信息可以确定哪个数据和位段可被覆盖。使用控制参数OVERLAY和NOOVERLAY可允许或禁止覆盖。OVERLAY是默认值,用它可产生非常紧凑的数据区。 5) 决定外部参考地址 具有相同名的外部符号(EXTERN)和公用符号(PUBLIC)被确定后,外部符号指向其它模块中的地址。一个已声明的外部符号用具有相同名字的功用符号确定,外部参考地址由其公共参考地址确定。这还与类型(DATA,IDATA,XDATA,CODE,BIT或NUMBER)有关,如果类型不符或未发现外部符号参考地址的公用符号,则会产生错误。公用符号的绝对地址在段定位后决定。 6) 绝对地址计算 定义绝对地址并计算可重定位段的地址。在段分配和外部公用参考地址处理完后,程序模块中所有可重定位地址和外部地址要进行计算,此时生成的目标文件中的符号信息(DEBUG)被改变以反映新的值。 7) 产生绝对目标文件 可执行程序以绝对目标格式产生。该绝对目标文件可包含附加的符号信息(DEBUG),从而使符号调试
有哪些信誉好的足球投注网站
文档评论(0)