汇编语言程序设计 第11章 高级汇编语言技术.ppt

汇编语言程序设计 第11章 高级汇编语言技术.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 高级汇编语言技术 宏是具有宏名的一段汇编语句序列 宏需要先定义,然后在程序中进行宏调用 由于形式上类似其他指令,所以常称其为宏指令 宏指令实际上是一段代码序列的缩写;在汇编时,汇编程序用对应的代码序列替代宏指令 因为是在汇编过程中实现的宏展开,所以常称为宏汇编 dispchar macro char ;;宏定义 mov ah, 2 ;;宏定义体 mov dl, char int 21h endm … dispchar ‘?’ ;宏调用(宏指令) … 1 mov ah, 2 ;宏展开 1 mov dl, ’?’ 1 int 21h 第11章:宏与子程序的比较 仅是源程序级的简化:宏调用在汇编时进行程序语句的展开,不需要返回;不减小目标程序,执行速度没有改变 通过形参、实参结合实现参数传递,简捷直观、灵活多变 第11章:宏与子程序的比较结论 宏与子程序具有各自的特点,程序员应该根据具体问题选择使用那种方法 通常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要选用子程序 宏操作符 ——替换操作符,用于将参数与其他字符分开。如果参数紧接在其他字符之前或之后,或者参数出现在带引号的字符串中,就必须使用该伪操作符 %——表达式操作符,用在宏调用中,表示将后跟的一个表达式的值作为实参,而不是将表达式本身作为参数 ;;——宏注释符,用于表示在宏定义中的注释。采用这个符号的注释,在宏展开时不出现 ——字符串传递操作符,用于括起字符串。在宏调用中,如果传递的字符串实参数含有逗号、空格等间隔符号,则必须用这对操作符,以保证字符串的完整 !——转义操作符,用于指示其后的一个字符作为一般字符,不含特殊意义 例 SAVEREG MACRO PUSH AX         PUSH BX         PUSH CX PUSH DX      PUSH SI           PUSH DI            ENDM leap macro cond, lab ;;宏定义 jcond lab ;;宏定义体 endm … leap z, there ;宏调用(宏指令) … leap nz, here … 1 jz there ;宏展开 … 1 jnz here … 重复汇编指在汇编过程中,重复展开一段(基本)相同的语句 重复汇编没有名字,不能被调用 重复汇编常用在宏定义体中,也可以在一般汇编语句中使用 重复汇编伪指令有三个: REPT——按参数值重复 IRP——按参数个数重复 IRPC——按参数的字符个数重复 最后,用ENDM结束 条件汇编伪指令在汇编过程中,根据条件决定汇编的语句 IFxx 表达式 ;满足,汇编分支语句体1 分支语句体1 [ ELSE ;不满足,汇编分支语句体2 分支语句体2 ] ENDIF ;条件汇编结束 例 pdata macro num IF num lt 100 ;;如果num 100,则汇编如下语句 db num dup (?) ELSE ;;否则,汇编如下语句 db 100 dup (?) ENDIF endm pdata 12 ;宏调用① db 12 dup(?) ;宏汇编结果① pdata 102 ;宏调用② db 100 dup(?) ;宏汇编结果② 教学要求 掌握宏定义、宏调用和宏展开 熟悉重复汇编和条件汇编使用方法:宏汇编、重复汇编和条件汇编为源程序的编写提供了很多方便,灵活运用它们可以编写出非常良好的源程序来 作业:P177: 1 11.2.3 使用IRPC伪指令的重复汇编结构 11.2 重复汇编 格式:IRPC 形参,字符串 重复体 ENDM 功能:使汇编程序对重复体作重复汇编,每作一次汇编就依次 用字符串中的一个字符取代重复体中的形参。 例如: IRPC X,0123456789 DB X ENDM 其结果等价于: DB 0,1,2,3,4,5,6,7,8,9 驭违拖逐彻辛岁猫文姓浇姨学荔惶镑蜗苔癌婚琳辩疆慎瘩员厢磊肪高畅栖汇编语言程序设计 第11章 高级汇编语言技术汇编语言程序设计 第11章 高级汇编语言技术 11.1.4 宏嵌套 11.3 条件汇编 重复汇编与循环程序结构的比较 目标代码所占空间 程序运行速度 处理

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档