汇编语言程序设计-宏汇编重复汇编.ppt

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

汇编语言 程舒慧 2011.9.19 第七章 高级汇编语言技术 7.1 宏汇编 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 宏指令中参数的使用 宏指令中可以不带参数,但是带参数的宏指令更加灵活 1、指令的参数可以使常数、寄存器和存储单元,还可以是表达式 2、宏指令的参数可以是操作码 宏体中的形参用宏调用提供的对应实参来取代。若 实参个数大于形参个数,则多余的实参被忽略;若 形参个数大于实参个数,则多余的形参作“空”处理。 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 STK MACRO X SSEG SEGMENT STACK DB X SSEG ENDS ENDM 若某个源程序需要定义200个字节,初值为0的堆栈段,则可以使用宏调用 STK 200 DUP (0) 其宏扩展为: 1 SSEG SEGMENT STACK 1 DB 200 DUP(0) 1SSEG ENDS 第七章 高级汇编语言技术 宏调用 DISP !%(2*11-8) 产生的宏扩展为 +DB′ANSWER: ′, ′%(2*11-8)′, ′$′ 宏调用中的“%”前使用了宏运算符“!”,故“%”被看作一个符号,而失去了宏运算符的功能。 第七章 高级汇编语言技术 SUM2 MACRO X, Y MOV AX, X ADD AX, Y ENDM SUM3 MACRO A, B, C SUM2 A, B ADD AX, C ENDM 第七章 高级汇编语言技术 对于指令或伪指令组的连续重复问题,使用重复汇编结构则更为简便。 7.2.1 使用REPT伪指令的重复汇编结构 格式:REPT 整数表达式 重复体 ENDM 功能:使汇编程序对重复体作重复汇编,以整数表达式的值作为重复次数。 第七章 高级汇编语言技术 设有重复汇编结构如下: CHAR=41H REPT 10 DB CHAR CHAR=CHAR+1 ENDM 第七章 高级汇编语言技术 格式:IRP 形参,实参表 重复体 ENDM 功能:使汇编程序对重复体作重复汇编,每作一次汇编就依次将实参表中的一个实参取代重复体中的形参。(重复次数就等于实参表中实参的个数) 第七章 高级汇编语言技术 设有重复汇编结构如下: IRP REG, AX,BX,CX,DX PUSH REG ENDM 汇编程序在汇编时将对重复体 PUSH REG 重复汇编4次,且分别用实参AX,BX,CX及DX取代形参REG。 第七章 高级汇编语言技术 格式:IRPC 形参,字符串 重复体 ENDM 功能:使汇编程序对重复体作重复汇编,每作一次汇编就依次用字符串中的一个字符取代重复体中的形参。(重复次数就等于字符串中字符的个数) 第七章 高级汇编语言技术 设有重复汇编结构如下: IRPC X, 0123456789 DB X ENDM 汇编程序在汇编时将对重复体 “DB X”重复汇编10次,且分别用0,1,2,…9取代形参X。 其结果等价于 DB 0, 1, 2, …9 第七章 高级汇编语言技术 将BUF字数据区中的5个数据压入堆栈。 方法一:用5条PUSH指令实现 PUSH BUF+0 PUSH BUF+2 PUSH BUF+4 PUSH BUF+6 PUSH BUF+8 第七章 高级汇编语言技术 方法二:用循环程序实现 XOR BX, BX MOV CX, 5 NEXT:PUSH BUF[BX] INC BX INC BX LOOP NEXT 第七章 高级汇编语言技术 方法三:用宏指令和重复汇编实现 (1)定义宏指令P_BUF,将BUF+K压入堆栈(K为形参)。 (2)使用重复汇编,重复宏调用5次。 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 第七章 高级汇编语言技术 * 程舒慧 2011.12.13 宏:源程序中一段有独立功能的程序代码。 宏指令:用户自定义的指令。在编程时,将多次 使用的功能用一条宏指令来代替。 汇编语言程序 指令

文档评论(0)

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

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

1亿VIP精品文档

相关文档