宏编译汇编语言 5.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
宏编译汇编语言 5

第5章 结构化程序设计;什么是宏?;一、宏汇编;1、宏定义;1、宏定义(续);2、宏调用;3、宏展开;宏汇编应用举例 例5-9;宏汇编应用举例 例5-17 P148;宏——具有宏名的一段汇编语句序列 ——宏定义时书写 宏指令——这段汇编语句序列的缩写 ——宏调用时书写 宏展开——宏指令处用这段宏代替的过程 ——宏汇编时实现 宏的参数功能强大,颇具特色; 在汇编语言程序设计过程中,可以将具有一定功能,需多次重复使用,且比较短的程序段定义成一条宏指令。 使用宏指令语句可以减少程序书写错误,缩短源程序长度,使源程序编写像高级语言一样清晰、简洁。特别是使用宏库后,可以提高编程效率。;比较;比较 结论;4、宏调用中的参数(宏运算);表达符操作%示例。 DA MACRO A, B, C, D DW A, B, C DB D DUP(0) ENDM 如果宏调用为: X=10 Y=20 DA %X+2, 5,%X+Y, %Y-5 DA X+2, 5, X+Y, Y-5;表达符操作%示例;表达符操作%示例;表达符操作&示例。 DA MACRO SS DB ‘Exam:ss’,0ah,0dh,’$’ ENDM 如果宏调用为: DA book;二、重复汇编;1、按参数值重复伪指令- REPT;【例2】 将A~Z这26个字母数据填入数组CHAR中。 CHAR LABEL BYTE CHR=A REPT 26 DB CHR CHR=CHR+1 ENDM;例3:计算1+2+ … +100,并把其值存入寄存器AX 。;方法2:用循环指令LOOP来实现       …      xor ax,ax      mov cx, 100 again:   adc ax, cx    loop again       … ;;2、伪指令IRP ;例5: 把8个16位通用寄存器之值相加,并把结果存入寄存器AX中。 解答:由于16位通用寄存器名是一些不同的符号,不能用计数的方法来依次访问它们,所以,我们需要用伪指令IRP来实现。 ; 条件汇编允许用户在编制汇编语言程序时根据某些条件是否成立(为真)来决定是否汇编某一段语句。条件汇编指令提供有10个,分为互补的5对,分别用来测试表达式扫描遍数、符号定义、参数和两个字符串是否相同等。条件汇编伪指令的一般格式是:    IF×× 表达式或参数     语句1 ;成立时汇编这一段语句    [ELSE   语句2 ] ;条件不成立时汇编这一段语句(称为反 条件语句块)    ENDIF    ;条件汇编结束命令; 其中,条件伪指令IF中的”××”可以是1、2、E、DEF、NDEF、B、NB、IDN和DIF等,用来规定条件,表达式或参数指明被测试的条件表达式或参数。当被测试的表达式或参数符合条件(成立)时,IF××和ELSE之间的条件语句块才被汇编。ELSE是一个可选择的子句,它表示条件为假时,ELSE和ENDIF之间的反条件语句块才被汇编。;伪指令; 1. IF和IFE  格式:  IF 表达式 IFE 表达式 IF表示如果表达式的值不为零(≠0)则为真,而IFE表示当表达式的值为零时则为真。 注意:表达式只能有一个,表达式中的项不能是变量且不能提前引用。; 例7:定义一个元素个数不超过100个的数组。 PDATA MACRO NUM IF NUM LT 100 DB NUM DUP(?) ELSE DB 100 DUP(?) ENDIF ENDM;使用条件汇编伪指令的主要目的: 同一个源程序能根据不同的汇编条件生成不同功能的目标程序,增强宏定义的使用范围。 条件汇编伪指令与高级语言(如:C/C ++)的条件编译语句在书写形式上相似,在所起作用方面是完全一致的。 ;作业;作业

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档