第09章 条件汇编与宏指令.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 条件汇编与宏指令 9.1 条件汇编伪操作 9.2 宏伪操作 9.1 条件汇编伪操作 条件汇编伪操作允许用户在编制汇编语言程序时规定某种条件,汇编程序在汇编过程中测试条件是否成立,当条件成立时,则将某段汇编语言源程序汇编为目标程序,否则,不进行汇编。 Microsft宏汇编程序提供了十种条件汇编伪操作命令, IF,IF1,IF2,IFE,IFDEF,IFNDEF,IFB,IFNB,IFIDN, FDIF。 格式:  Ifx [cont]  : 若干语句(称为条件块) [ELSE](可选的) : 〖JB)}〗若干语句(称为条件块) ENDIF 9.1 条件汇编伪操作 (1) IF CONT 当条件表达式CONT值不是零时,条件为真。 (2) IFE CONT 当条件表达式CONT值为零时,条件为真。 (3) IF1  如果是第一遍扫描,条件为真。 (4) IF2 如果是第二遍扫描,条件为真。 (5) IFDEF CONT 此操作中的条件CONT是一个符号,如果这个符号已经定义,或者已用EXTRN伪指令说明,则条件为真。 (6) IFNDEF CONT 该伪操作中的条件CONT是一个符号,如果此符号未定义或未经EXTRN伪指令说明,则条件为真。 (7) IFB CONT 如果尖括号中为空,则条件为真。 (8) IFNB CONT 如果尖括号中不为空,则条件为真。 (9) IFIDN CHR1,CHR2 CHR1和CHR2为字符串,如果两个字符串相同,则条件为真。(10) IFDIF〓〓CHR1,CHR2 CHR1和CHR2为字符串,如果两个字符串不相同,则条件为真。 9.1 条件汇编伪操作 举例: E91.ASM 9.2 宏伪操作 9.2.1 宏定义与宏结束伪操作命令 9.2.2 参数的使用 9.2.3 宏中的标号处理 9.2.4 宏嵌套 9.2.5 宏与子程序的区别 9.2.1 宏定义与宏结束伪操作命令 宏定义的一般格式 MNAME MACRO [DUMPAR1],[DUMPAR2]...... :  : 宏体 :  ENDM 举例:E92.ASM 9.2.2 参数的使用 1. 用参数代替寄存器名字 2. 用参数代表自定义符号和数值 3. 用参数代表指令 4. 用参数代表任何一字符串或子字符串 举例: E93.ASM 9.2.3 宏中的标号处理 1. 把标号定义为参数形式 举例:E94.ASM 2. 在宏定义中声明标号为局部标号 格式: LOCAL LAB1[,LAB2]… 举例:E95.ASM 9.2.4 宏嵌套 宏嵌套有两种形式:宏定义中嵌套宏定义和宏定义中嵌套宏调用,两种宏嵌套的深度不限。 1. 宏定义中嵌套宏定义 2. 宏定义中嵌套宏调用 9.2.5 宏与子程序的区别 * * 条件汇编伪操作和宏伪操作命令也是伪指令的一部分,具有条件汇编宏伪操作功能的汇编程序称为宏汇编程序。Microsoft的MASM就是宏(MACRO)汇编程序,它提供了丰富的条件汇编伪操作和宏伪操作命令。 } MAC1 MACRO … MAC2 MACRO … MAC3 MACRO … ENDM … ENDM … ENDM 当宏定义中嵌套宏定义时,必须首先调用最外层宏定义,然后才能调用内层宏定义。下面是一个宏嵌套的例子。 例9.6 用嵌套的形式定义将AL中的数据转换为两个十六进制数的ASCII码的宏指令。 BHTOA1 MACRO MOV AH,AL AHHN MACRO LOACAL AHHN1 MOV CL,4 SHR AH,CL CMP AH,10 JC AHHN1 ADD AH,7 AHHN1: ADD AH,30H ENDM ALLN MACRO LOCAL ALLN1 AND AL,0FH CMP AL,10 JC ALLN1 ADD AL,7 ALLN1: ADD AL,30H ENDM ENDM 有如下宏调用: BHTOA1 AHHN ALLN 则宏扩展后得到如下程序段: BHTOA1 1 MOV AH,AL AHHN 1 MOV CL,4 1 SHR AH,CL 1 CMP AH,10 1 JC ??0

文档评论(0)

经管专家 + 关注
实名认证
服务提供商

初级会计持证人

专注于经营管理类文案的拟写、润色等,本人已有10余年相关工作经验,具有扎实的文案功底,尤善于各种框架类PPT文案,并收集有数百万份各层级、各领域规范类文件。欢迎大家咨询!

版权声明书
用户编号:6055234005000000
领域认证 该用户于2023年12月17日上传了初级会计

1亿VIP精品文档

相关文档