《汇编语言编程》PPT电子课件教案-09 MASM语法(3)
35页1、汇编语言课件09 MASM语法(3),宏汇编,宏(Macro)是汇编语言程序设计当中颇具特色的一个方面,微软就称其汇编程序为宏汇编程序(Macro Assembler,M ASM)。利用宏的特性,可以使程序员编写的源程序更加灵活方便、提高工作效率。,宏是具有宏名的一段汇编语句序列。宏需要先定义,然后在程序中进行宏调用。由于形式上类似其它指令,所以常称其为宏指令。与伪指令主要指示如何汇编不同,宏指令实际上是一段代码序列的缩写;在汇编时,汇编程序用对应的代码序列替代宏指令。因为是在汇编过程中实现的宏展开,所以常称为宏汇编。,1 宏定义,宏定义由一对宏汇编伪指令 MACRO和ENDM来完成,其格式如下: 宏名 MACRO 形参表 ;宏定义体 ENDM 其中,宏名是符合语法的标识符,同一源程序中该名字定义唯一。宏定义体中不仅可以是硬指令序列,还可以是伪指令语句序列。宏可以带显式参数表。可选的形参表给出了宏定义中用到的形式参数,每个形式参数之间用逗号分隔。,例1 程序经常需要用DOS的2号功能调用显示一个字符,可以利用宏: dispchar macro char ; 定义宏,宏名dispchar
2、,带有形参char mov ah,2 mov dl,char ; 宏定义中使用参数 int 21h endm ; 宏定义结束宏定义中的注释如果用两个分号分隔,则在后面的宏展开中将不出现该注释。,例2 例程序经常需要输出一段信息,该程序段也可以定义成宏: dispmsg macro messagemov ah,9mov dx,offset message int 21hendm,2 宏调用,宏定义之后就可以使用它,即宏调用。宏调用遵循先定义后调用的原则,格式为: 宏名 实参表 可见,宏调用的格式同一般指令一样,在使用宏指令的位置写下宏名,后跟实体参数;如果有多个参数,应按形参顺序填入实参,用逗号分隔。,在汇编时,宏指令被汇编程序用对应的代码序列替代,称之为宏展开。汇编后的列表文件中带“”或“ 1”等数字的语句为相应的宏定义体。 宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的宏定义体取代源程序的宏指令,同时用位置匹配的实参对形参进行取代。,实参与形参的个数可以不等,多余的实参不予考虑,缺少的实参对相应的形参做“空”处理(以空格取代);另外汇编程序不对实参和形参进
3、行类型检查,完全是字符串的替代,至于宏展开后是否有效则由汇编程序翻译时进行语法检查。,例 程序中需要显示一个问号“?”,只要如下书写:dispchar ? ;宏调用(源程序中的宏指令)汇编程序将其展开后的列表文件如下(注释是另加上的): 1 mov ah,2 ;宏展开 1 mov dl, ? ;实参替代形参 1 int 21h,dispchar al1 mov ah , 2 1 mov dl , al 1 int 21h,例:例子当在数据段定义了字符串 string后,要想显示它,利用宏指令简单方便: dispmsg string ;宏指令1 mov ah,9 ;宏展开 1 lea dx,string 1 int 21h 由此可见,宏象子程序一样可以简化源程序的书写,但注意它们是有本质区别的。,例: Silly MACRO a , bmov al , amov bl, bENDMSilly a 1 mov al, amov bl,宏调用在汇编时将相应的宏定义语句复制到宏指令的位置,执行时不存在控制的转移与返回。多次宏调用,多次复制宏定义体,并没有减少汇编后的目标代码,因而执行速度也没有
《《汇编语言编程》PPT电子课件教案-09 MASM语法(3)》由会员jiups****uk12分享,可在线阅读,更多相关《《汇编语言编程》PPT电子课件教案-09 MASM语法(3)》请在金锄头文库上搜索。
建立安全生产长效机制-共创和谐平安输气管道
土石方爆破工程设计方案
康师傅百货商场制度汇编之退换货管理办法
庙头中学2012年中考百日誓师大会学生代表发言稿
围堰拆除爆破工程
华能洱源马鞍山风电场工程土石方爆破管理制度
国资委:全面开展管理提升活动-为培育世界一流企业奠定坚实基础
《专业技术人员职业发展与规划》电子书
应收票据审计方案
建筑给水排水与采暖工程质量验收用表
广播电视管理条例行政处罚裁量标准
广东电力系统调度运行操作管理规定
建筑给排水工程名词解释
幼儿园小班安全健康活动教案:宝宝误食后的急救
建业集团房屋建筑工程交房标准内容技术交底
建筑心理学论文(1)
康师傅百货商场制度汇编之工服管理程序009
建筑工程专业一级建造师继续教育培训结业报告20
廉洁风险防控回头看工作汇报材料
平台工作人员服务规范
2024-05-12 35页
2024-05-12 15页
2024-05-12 26页
2024-05-12 25页
2024-05-05 59页
2024-05-03 24页
2024-05-03 24页
2024-04-29 40页
2024-04-28 29页
2024-04-09 29页