- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言课件第7章模块化
制作:马瑞芳 制作:马瑞芳 * * * * * * * * 第7章 模块及模块化程序设计 * * DEC HEX BIN7 7 汇编语言与接口技术 第7章 模块及模块化程序设计 本章的主要内容: 7.1 模块化程序设计基础 7.1.1 概念 7.1.2 优点 7.1.3 模块连接伪指令 7.1.4 模块化程序连接运行举例 7.2 常用的程序模块 7.2.1 二进制数到ASCII码的转换程序 7.2.2 ASCII码到二进制数的转换程序 7.2.3 二进制转换到ASCII码的模块化程序 7.2.4 ASCII码转换到二进制的模块化程序 7.2.5 发出调用的模块 * * 7.1 模块化程序设计 7.1.1 模块化程序设计概述 1.概念 模块:具有独立的文件名,且能单独进行汇编和测 试的独立程序。 模块化程序设计:把一个总体任务程序分成具有多 个明确子任务的程序模块,分别编制、调试后再把它们“ 连接(LINK)”在一起,形成一个完整的程序。这样的程 序设计方法称为模块化程序设计。 7.1 模块化程序设计 7.1.2 优点 便于多个程序员协作完成一个大项目,简化项目管理。 优点如下: 1.每个模块可独立编写、调试和测试; 2.一个模块故障不会导致整个项目停止; 3.故障的定位和隔离会变得更容易、更省时; 4.模块的编写可以与高级语言结合; 5.并行开发大大缩短完成一个项目的所需要的时间。 7.1 模块化程序设计 7.1.3 模块链接伪指令 模块链接:将多个模块链接起来形成一个独立程序, 达到完成大项目的目标。 链接中存在的问题? 参数传送的问题,段的链接问题……… 如何解决模块之间的参数传送问题? 使用伪指令定义来解决上述问题。 7.1 模块化程序设计 (1)外部符号(伪指令) PUBLIC symbol 在本模块中使用PUBLIC定义过的符号( symbol),可 提供给其他模块使用。 EXTRN symbol name:type〔,…〕 要在本模块中使用的符号,属于在其他模块中用PUBLIC 定义的( symbol),在本模块中必须使用EXTRN伪指令定义 该符号。 7.1 模块化程序设计 (2)模块中的END伪指令 主模块: 入口:MAIN 出口:END MAIN 子模块: 入口:SUB1 出口:END 7.1 模块化程序设计 (3)SEGMENT伪指令 多模块连接时,并不一定要把所有的代码段或者数据段分别连接在一起,形成一个大的代码段或者数据段。 模块化程序设计中使用完整的段定义如下: s_name segment [对齐方式][组合类型][类别名称] … s_name ends 7.1 模块化程序设计 类型说明 对齐方式:BYTE、WORD、DWORD、PARA 、PAGE指定了段的对齐属性。BYTE段从任意字节开始,WORD 段从下一字地址开始,DWORD段从下一双字地址开始,PARA段从下一节地址开始(16字节为一节)(默认),PAGE(段从下一页地址开始)(256字节为一页)。 组合类型:链接程序是否应把同一类型的段链接在一起。组合类型的典型选项是STACK或PUBLIC。若组合类型是PUBLIC,连接程序将同名段连接成一个物理段。 类别名称:有四种选择:‘CODE’、‘STACK’、‘DATA’、‘EXTRA’,用于组合不同模块中具有相同类型的段。 7.1 模块化程序设计 (4)完整段的定义 堆栈段定义 s_name segment PARA STACK ‘STACK’ ….. s_name ends 数据段定义 s_name segment PARA ‘DATA’ ….. s_name ends 代码段定义 s_name segment PARA ‘CODE’ ….. s_name ends 7.1 模块化程序设计 7.1.4 模块化程序连接与运行举例 (1)程序说明 mz:主程序,m1、m2子程序 m1子程序功能:显示1,接收按键后调用M2,之后返回; m2子程序功能:显示2后返回; mz主程序功能:调用M1,之后显示字符串,接收按键后返回 7.1 模块化程序设计 (2)集成环境下链接 *将mz.asm、m1.asm、m2
您可能关注的文档
最近下载
- 山东省烟台市蓬莱实验初级中学2024-2025学年度第一学期9年级道德与法治素养形成期中测试(图片版,含答案).docx VIP
- 全国2025年10月自考00185《商品流通概论》真题及答案.docx VIP
- 2023年4月 自考 06056 心理学史 试题.pdf VIP
- 涉案财物管理系统V2.0T-用户使用说明书.pdf VIP
- 2025年网络安全等级测评师(中级)考核试题与答案.pdf VIP
- 电梯学徒安全培训记录课件.pptx VIP
- 公务员制度专题二.ppt VIP
- tc官网软件资源中文产品手册voicetone.pdf VIP
- 路灯售后服务方案及措施.docx VIP
- 河北省部分高中2024-2025学年高一上学期11月阶段性测试语文试卷(含答案).docx VIP
原创力文档


文档评论(0)