郑州大学远程教育学院:《汇编语言》课程电子教案(PPT课件)第五章 高级汇编语言程序设计

第5章 高级汇编语言程序设计
第 5 章

教学重点 在掌握基本的汇编语言程序 设计方法之后,了解提高编 程效率的各种实用方法: √高级语言特性 高级汇编语言猩序设计 √宏结构 √模块化 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院 教学重点 在掌握基本的汇编语言程序 设计方法之后,了解提高编 程效率的各种实用方法: ✓高级语言特性 ✓宏结构 ✓模块化

第5章 5.1高级语言特性 >MASM60引入高级语言的程序设计 特性 条件控制伪指令 IF ELSE ENDIF ■循环控制伪指令 WHILE ENDW REPEAT UNTIL ■过程声明和过程调用伪指令 PROTO NVOKE HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
第 5 章 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院 5.1 高级语言特性 ➢MASM 6.0引入高级语言的程序设计 特性 ◼条件控制伪指令 .IF .ELSE .ENDIF ◼循环控制伪指令 .WHILE .ENDW .REPEAT .UNTIL ◼过程声明和过程调用伪指令 .PROTO .INVOKE

第5章 5.2宏结构程序设计 宏汇编 重复汇编 条件汇编 统称宏结构 宏( Macro)是汇编语言的一个 特点。它是与子程序类似又独具特色 的另一种简化源程序的方法 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
第 5 章 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院 5.2 宏结构程序设计 宏汇编 重复汇编 条件汇编 ——统称宏结构 宏(Macro)是汇编语言的一个 特点,它是与子程序类似又独具特色 的另一种简化源程序的方法

第5章 5.2.1宏汇编 宏—具有宏名的一段汇编语句序列 宏定义时书写 宏指令——这段汇编语句序列的缩写 宏调用时书写 宏展开——宏指令处用这段宏代替的过程 宏汇编时实现 宏的参数功能强大,颇具特色 配合宏,还有宏操作符和有关伪指令 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
第 5 章 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院 宏——具有宏名的一段汇编语句序列 ——宏定义时书写 宏指令——这段汇编语句序列的缩写 ——宏调用时书写 宏展开——宏指令处用这段宏代替的过程 ——宏汇编时实现 宏的参数功能强大,颇具特色 配合宏,还有宏操作符和有关伪指令 5.2.1 宏汇编

宏定义 宏名 macro[形参表] 宏定义体 endm mainbegin MACR0;定义名为皿 ainbegin的宏,无参数 moⅴax,@data ;宏定义体 mov ds. ax 宏注释符 ENDM ;法定义结束 mainend MACRO retum ;带有形参1 retum moy al, retum;;宏定义中使用参数 mov ah. 4ch int 21h ENDM
宏定义 宏名 macro [形参表] 宏定义体 endm mainbegin MACRO ;;定义名为mainbegin的宏,无参数 mov ax,@data ;;宏定义体 mov ds,ax ENDM ;;宏定义结束 mainend MACRO retnum ;;带有形参retnum mov al,retnum ;;宏定义中使用参数 mov ah,4ch int 21h ENDM 宏注释符

宏调用 宏名[实参表] start: mainbegin ;宏调用,建立DS内容 dispmsg string;宏调用,显示字符串 mainend 0 ;宏调用,返回D0S end start >宏调用的实质是在汇编过程中进行宏展开 宏展开的具体过程是:当汇编程序扫描源程序遇 到已有定义的宏调用时,即用相应的宏定义体取代 源程序的宏指令,同时用位置匹配的实参对形参进 行取代
宏调用 宏名 [实参表] start: mainbegin ;宏调用,建立DS内容 dispmsg string ;宏调用,显示字符串 mainend 0 ;宏调用,返回DOS end start ➢ 宏调用的实质是在汇编过程中进行宏展开 ➢ 宏展开的具体过程是:当汇编程序扫描源程序遇 到已有定义的宏调用时,即用相应的宏定义体取代 源程序的宏指令,同时用位置匹配的实参对形参进 行取代

宏展开 宏展开—在汇编时,用宏定义 体的代码序列替代宏指令的过程。 start: mainbegin;宏指令 moⅴax,@data;宏展开 moy ds. ax mainend0;宏指令 moy alo 宏展开 moy ah. 4ch int 21h
宏展开 宏展开——在汇编时,用宏定义 体的代码序列替代宏指令的过程。 start: mainbegin ;宏指令 1 mov ax,@data ;宏展开 1 mov ds,ax mainend 0 ;宏指令 1 mov al,0 ;宏展开 1 mov ah,4ch 1 int 21h

比较 宏 子程序 >仅是源程序级的简化:>还是目标程序级的简 宏调用在汇编时进行化:子程序调用在执 程序语句的展开,不行时由CALL指令转向 需要返回;不减小目RET指令返回;形成的 标程序,执行速度没目标代码较短,执行 有改变 速度减慢 >通过形参、实参结合>需要利用寄存器、存 实现参数传递,简捷储单元或堆栈等传递 直观、灵活多变 参数 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
比较 ➢ 仅是源程序级的简化: 宏调用在汇编时进行 程序语句的展开,不 需要返回;不减小目 标程序,执行速度没 有改变 ➢ 通过形参、实参结合 实现参数传递,简捷 直观、灵活多变 ➢ 还是目标程序级的简 化:子程序调用在执 行时由CALL指令转向、 RET指令返回;形成的 目标代码较短,执行 速度减慢 ➢ 需要利用寄存器、存 储单元或堆栈等传递 参数 宏 子程序 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院

比较 宏 结论 子程序 >宏与子程序具有各自的特点,程序员应该 根据具体问题选择使用那种方法 通常,当程序段较短或要求较快执行时, 应选用宏;当程序段较长或为减小目标代码 时,要选用子程序 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
➢ 宏与子程序具有各自的特点,程序员应该 根据具体问题选择使用那种方法 ➢ 通常,当程序段较短或要求较快执行时, 应选用宏;当程序段较长或为减小目标代码 时,要选用子程序 比较 宏 结论 子程序 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 郑州大学远程教育学院:《汇编语言》课程电子教案(PPT课件)第四章 基本汇编语言程序设.ppt
- 郑州大学远程教育学院:《汇编语言》课程电子教案(PPT课件)第三章 汇编语言程序格式.ppt
- 郑州大学远程教育学院:《汇编语言》课程电子教案(PPT课件)第二章 8086的指念系统.ppt
- 郑州大学远程教育学院:《汇编语言》课程电子教案(PPT课件)第一章 概述.ppt
- 《数据结构》课程教学资源:第四章 串.ppt
- 《数据结构》课程教学资源:第十章 查找.ppt
- 《数据结构》课程教学资源:第十一章 内排序.ppt
- 《数据结构》课程教学资源:第六章 递归.ppt
- 《数据结构》课程教学资源:第五章 数组和稀疏矩阵.ppt
- 《数据结构》课程教学资源:第二章 线性表.ppt
- 《数据结构》课程教学资源:第九章 图.ppt
- 《数据结构》课程教学资源:第三章 栈和队列.ppt
- 《数据结构》课程教学资源:第七章 树和二叉树.ppt
- 《数据结构》课程教学资源:第一章 绪论.ppt
- 《计算机组成原理》课程教学资源:附录——试题类型及解答.ppt
- 《计算机组成原理》课程教学资源:控制器教学实验.ppt
- 《计算机组成原理》课程教学资源:直播课堂内容.ppt
- 《计算机组成原理》课程教学资源:期未复习指导.ppt
- 清华大学:《编译原理》课程教学资源_语法分析.ppt
- 清华大学:《编译原理》课程教学资源_总结.ppt
- 郑州大学远程教育学院:《汇编语言》课程电子教案(PPT课件)第六章 32位指令及其编程.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第一到第九章.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十章 存储过程与触发景.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十一章 游标.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十二章 安全管理.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十三章 数据备份与恢复.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十四章 数据庠复制.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十五章 数据转换.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十六章 SQL Server数据的网页发布.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十七章 VB/ SQL Server应用程序开发.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十八章 SQL Server应用实例.ppt
- 《Linux 基础及应用》 第十章 网络服务器.ppt
- 《Linux 基础及应用》 第一章 Linux概况.ppt
- 《Linux 基础及应用》 第二章 安装与删除 Linux.ppt
- 《Linux 基础及应用》 第三章 X Window图形代用户界面.ppt
- 《Linux 基础及应用》 第四章 字符界面与 Shell.ppt
- 《Linux 基础及应用》 第五章 用户与组群管理.ppt
- 《Linux 基础及应用》 第六章 文件系统与文件管理.ppt
- 《Linux 基础及应用》 第七章 进程管理与系统监视.ppt
- 《Linux 基础及应用》 第八章 应用程序.ppt