汇编语言程序设计-第8章.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计-第8章

8.1 宏汇编 宏指令的定义、调用和展开 宏操作符 局部符号伪指令 宏嵌套 宏库的建立与使用 8.1.1 宏指令的定义、调用和展开 宏定义 宏定义用一组伪操作实现: 宏名 MACRO [形参列表] … (宏体) ENDM 例:用宏指令定义两个字节数据相加,并存放到一个单元 中 ,并作宏调用和宏展开。 ADDB MACRO AD1,AD2,RESULT ;宏定义 PUSH AX MOV AL,AD1 ADD AL,AD2 MOV RESULT,AL POP AX ENDM … ADDB 5CH,43H,DL ;宏调用 … 1 PUSH AX ;宏展开 1 MOV AL,5CH 1 ADD AL,43H 1 MOV DL,AL 1 POP AX … 8.1.2 宏操作符 操作符 操作符 % 操作符〈〉 操作符 ! 操作符 操作符在宏定义中使用时可以在形参之前,也可 以出现在形参之后,宏展开时将前后两个符号合并成 一个符号,该符号可以是操作码、操作数,也可以是字 符串。 例: 宏定义: DSEG MACRO NUM, LETTER LASNUM DB ‘WRITINGLETTER’ ENDM 宏调用: DSEG 1, ERROR DSEG 2, RIGHT 宏展开: 1 LAS1 DB ‘WRITINGERROR’ 1 LAS2 DB ‘WRITINGRIGHT’ 在这里,第一个参数合并成标号,第二个参数用于字 符串中。 操作符 % 汇编程序将操作符%后的表达式的值而不是表达式 文本本身作为当前值,宏展开时,用该值取代形参,%操 作符不允许出现在形参前面。 例: 宏定义: SARF1 MACRO CON1,DECT MOV CL,CON1 SDECT AL,CL ENDM SARF2 MACRO CON2 CNT= CON2 SARF1 %CNT,AL ENDM 宏调用: … SARF2 2 SARF2 4 … 宏展开: … 1 MOV CL,2 1 SAL AL,CL 1 MOV CL,4 1 SAL AL,CL … 操作符〈〉 汇编程序将操作符〈〉括起的内容作为一个字符串处 理。宏调用中,实参如果含有空格、逗号等间隔符,就用 操作符〈〉将实参括起,作为一个单一完整的实参。若将 一个特殊字符作为实参,也可以用该操作符处理,如〈〉 表示一个字符“”,而不是操作符。 例: 宏定义: HELLOW MACRO DSG,SENTENS DSG DB ‘SENTENS’ ENDM 宏调用: HELLOW MASG,〈HOW ARE YOU〉 HELLOW MASG, HOW ARE YOU 宏展开: 1 MASG DB ‘HOW ARE YOU’ 1 MASG DB ‘HOW’ 操作符 ! 汇编程序将操作符 ! 后的字符只作字符含义进行处 理。如“!%”表示%只作百分号使用。在宏调用时,为使实 参中的一些特殊字符作一般字符处理,就要在其前加上该 操作符。 例: 宏定义: HELLOW MACRO

文档评论(0)

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

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

1亿VIP精品文档

相关文档