- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第五章 汇编语言程序设计方法
第五章 汇编语言程序设计方法 本章主要内容 程序设计的基本步骤 程序的基本结构形式 子程序设计 Windows汇编语言程序设计 汇编语言与高级语言的混合编程 5.1 程序设计的基本步骤 分析题意,确定算法 根据算法画出程序框图 根据框图写程序 上机调试程序 5.2 程序的基本结构形式 程序结构 (1)顺序结构 (3)循环机构 (2)分支结构 (4)子程序结构 1、顺序结构 顺序程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见的程序结构。 一般纯粹的顺序结构的程序设计较少。 例:W?X+Y+Z 分支程序结构形式 条件控制: data segment array dw 12,11,22,33,44,55,66 dw 77,88,99,111,222,333 number dw 55 low_idx dw ? high_idx dw ? data ends 地址跳跃表(值与地址有对应关系的表) 适用于CASE结构的分支程序 例:根据 AL 寄存器中哪一位为 1(从低位到高位),把程序转移到 8 个不同的程序分支 branch_table dw routine1 dw routine2 dw routine3 dw routine4 dw routine5 dw routine6 dw routine7 dw routine8 5.4 循环程序设计 循环结构一般是根据某一条件判断为真或假来确定是否重复执行循环体 循环指令和转移指令可以实现循环控制 循环程序结构说明 初始化: 设置循环的初始状态 循环体: 循环的工作部分及修改部分 循环控制部分:检测循环条件是否满足 计数控制(LOOP) 特征值控制(LOOPZ/LOOPNZ/ 条件跳转指令) 多重循环 多重循环程序设计的基本方法和单重循环程序设计是一致的,应分别考虑各重循环的控制条件及其程序实现,相互之间不能混淆。 特别注意的是在每次通过外循环再次进入内循环时,初始条件必须重新设置。 实验题目: 将首地址为A的字数组从小到大排序32,85,16,15, 8 (冒泡算法,多重循环) “冒泡法”是一种排序算法,不是最优的算法,但它易于理解和实现 冒泡法从第一个元素开始,依次对相邻的两个元素进行比较,使前一个元素不大于后一个元素;将所有元素比较完之后,最大的元素排到了最后;然后,除掉最后一个元素之外的元素依上述方法再进行比较,得到次大的元素排在后面;如此重复,直至完成就实现元素从小到大的排序。 n个数需要n-1遍比较,第一遍比较出一个最大(或最小)数,第二遍对剩下的数进行比较,得到一个次最大(或次最小)数 ,第n-1遍比较出最后两个数的大小顺序,至此整个数组全部排好序。每一遍比较需要比较的次数为要比较数减一。如n=5,第一遍比较次数为4(内循环),第二遍比较次数为3 (内循环) ,第三遍比较次数为2 (内循环) ,第四遍比较次数为1 (内循环) 。 冒泡法的排序过程 5.5 子程序 子程序的基本结构包括以下几个部分: (1)子程序定义 (2)保护现场和恢复现场 (3)子程序体 (4)子程序返回 5.5.1子程序的定义 NEAR/FAR 属性 子程序定义时指定,CALL和RET时则由汇编程序来确定 过程属性的确定原则: NEAR:在同一代码段中 FAR:在不同代码段中 主程序MAIN应定义为FAR属性 4. 通过堆栈传送参数或参数地址 主程序将参数(参数地址)保存在堆栈中,子程序则从堆栈中取出参数(参数地址) 5.5.6 子程序小结 5.6 Windows汇编语言程序设计 1、Windows API (Application Programming Interface):是Windows提供的应用程序编程接口。 API是一个函数的集合,通常包含一个或多个DLL(Dynamic Link Library)。应用程序可以可以调用这些DLL提供的API函数。 常见DLL: Kernel32.dll:处理内存管理和进程调度。 User32.dll:控制用户界面 gdi32.dll:负
文档评论(0)