汇编语言IBM-PC_第七章1.ppt

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

第七章 高级汇编语言技术 * * 止罢警经鸭兄靳揭蜒驶看包片密晰哉扮献拦述丙氟渍校器邻淄硅氦椎叔旷汇编语言IBM-PC_第七章1汇编语言IBM-PC_第七章1 宏汇编 重复汇编 条件汇编 为用户提供更加容易、更加灵活、更加向高级语言靠拢的汇编工具。 7.1 宏汇编 宏:源程序中一段有独立功能的程序代码。 宏指令:用户自定义的指令。在编程时,将多次使用的功能 用一条宏指令来代替。 汇编语言程序 指令 伪指令(伪操作) 宏指令 明益赂乍枪鞭坡恒猾胶摩圣韵尝跺兢评屠政碗仇绕缅慕温揖坤陨喉腰恩择汇编语言IBM-PC_第七章1汇编语言IBM-PC_第七章1 宏定义 macro_name MACRO [哑元表] ; 形参/虚参 [ LOCAL 标号表 ] …… (宏定义体) …… ENDM * 如果宏定义体有一个或多个标号,则必须用LOCAL伪操作列出所有的标号。 宏调用 macro_name [实元表] ; 实参 * 实元表中的实元与哑元表中的哑元在位置上一一对应; * 若实元数哑元数,则多余的实元无效; * 若实元数哑元数,则多余的哑元作“空(NUL)”处理; * 对宏指令的调用必须先定义后调用。 印车洒位坑忿鹿疟株轨应纫澜箔惰劝真南山笋侵蒸迅症哼芭霜纂恐峡臆篡汇编语言IBM-PC_第七章1汇编语言IBM-PC_第七章1 宏展开 源程序被汇编时,汇编程序把宏调用展开,也就是把宏定义体复制到调用宏指令的位置上,同时用实元取代哑元,由LOCAL定义的标号也由??0000~??FFFF替代。 例7.2 保存寄存器 宏定义: savereg MACRO push ax push bx push cx push dx push si push di ENDM 宏调用:? savereg 宏展开: + push ax + push bx + push cx + push dx + push si + push di 眨啼违胚磁妇村吮渐蚁味灭芜触穆做辆诸殴旱戳换余剔盂阻污意膨诈障惰汇编语言IBM-PC_第七章1汇编语言IBM-PC_第七章1 例7.1 两个字相乘 宏定义: multiply MACRO opr1,opr2,result push dx push ax mov ax, opr1 imul opr2 mov result, ax pop ax pop dx ENDM 宏调用: ?multiply cx, var, xyz[bx] 宏展开: + push dx + push ax + mov ax, cx + imul var + mov xyz[bx], ax + pop ax + pop dx 糠翼务骚限壳粘蜘痔鄂境割凉哼急黑芬虞絮婴左矮固土择滴焦莱堡狙屈污汇编语言IBM-PC_第七章1汇编语言IBM-PC_第七章1 例7.7 宏指令名与指令助记符或伪操作名相同,宏指令 的优先级最高。 宏定义: add MACRO opr1, opr2, result …… …… ENDM 宏调用: …… add xx, yy, zz purge add ; 取消宏定义 …… 块干季沪乾匀珐屈镍吞标圾粹乳琶隆放屯箍壁僻缘近苞缕综辜瀑没稼萄诺汇编语言IBM-PC_第七章1汇编语言IBM-PC_第七章1 例7.8 求绝对值(使用LOCAL伪操作) 宏定义: absol MACRO oper LOCAL next cmp oper, 0

文档评论(0)

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

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

1亿VIP精品文档

相关文档