- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计_5课件
汇编语言程序设计Assembly Language Programming
第五章
宏与多模块程序设计
幻沥巍根镜寥枷碴秃未蚂渔颊纶活劈二囤弃滞交垃庸造堂旧狮酵箩坛曝视汇编语言程序设计_5课件汇编语言程序设计_5课件
宏指令
宏:一段有独立功能的代码或者动作的组合
一次书写,多次调用
汇编程序汇编到该宏指令时,进行宏展开
C宏函数
#define MAX(a,b,c) {c = (ab)?a:b;}
揩乓缴拨掇昔左酉仁敝羹臭橡柜诊诸罢转稍厩认停妆雀函榜箭九鞭拖烦蠢汇编语言程序设计_5课件汇编语言程序设计_5课件
宏定义
MacroName MACRO [形参表]
…… (宏定义体)
……
ENDM
参数可以是任意内容
形式参数表:可以有多个,用“,”分开
同样注意要保护和恢复现场
锁疑臻舀驰帚亥再哈请歇膜纲滁旭盖科溅急夹基梧拜谍铜撼冉抛里估唆憾汇编语言程序设计_5课件汇编语言程序设计_5课件
宏调用
MacronName [实参表]
实参表中的实参与形参表中的形参在位置上一一对应
若实参数形参数,则多余的实参无效;
若实参数形参数,则多余的形参作“空(NUL)”处理;
对宏指令必须先定义后调用。
宏定义通常放在源程序的开头。
吭捡甜沪栓尿金罢茅贯牵楔诣晌整信擞惶己货汛囊线怪朽屹首擅头佐鸽翠汇编语言程序设计_5课件汇编语言程序设计_5课件
宏展开
源程序被汇编时,汇编程序把宏调用展开,也就是把宏定义体复制到调用宏指令的位置上,同时用实参取代形参
展开后必须语法正确
标号问题?
滑冯普勾欣雅幕坏抹撕创酮增泰焕衰酬灌盟案凛侠透淹臻镰答颧卡愚旬胀汇编语言程序设计_5课件汇编语言程序设计_5课件
与子程序差别
子程序只有一段目标代码
而宏指令完全展开、替换
宏指令更灵活,但不做错误检查
子程序:
优点:节省内存,可被多次调用。
缺点:额外开销(保存返回地址,计算转向地址,传递参 数等)大,增加了执行时间。适用于代码较长的情况。
宏调用:
优点:参数传送简单。
缺点:不节省空间,适用于子功能代码较短的情况。
呻兼壁挺踩烟榔巨卜笛哉辗侗黄坡澜炭所斋量泵测爱数潭琴扒屁姚岂嚼娩汇编语言程序设计_5课件汇编语言程序设计_5课件
PRINTSTR MSG
An Example
PRINTSTR MACRO STR
PUSH DX
PUSH AX
LEA DX, STR
MOV AH,9
INT 21H
POP AX
POP DX
ENDM
PUSH DX
PUSH AX
LEA DX, MSG
MOV AH,9
INT 21H
POP AX
POP DX
斗莆株稠苇彤顺交耪报咒守阳陵壁硫郧蚂苑言付皇幽潦陇唉脆盟屈骚骄袭汇编语言程序设计_5课件汇编语言程序设计_5课件
Another Example
SHIFT MACRO HOW, TIMES, DATA
MOV CL,TIME
HOW DATA,CL
ENDM
SHIFT SHL,4,AX
嘘石其渗澳熏矮剧彼雹国变肯蝴翰轴棺警饺超匀被碱冬舱掺吓烛旺桅逻暑汇编语言程序设计_5课件汇编语言程序设计_5课件
宏伪指令
LOCAL——定义局部的变量,标号和符号
由LOCAL定义的标号由??0000~ FFFF替代(??字符开头)
EXITM:宏结束,用于条件编译
宏操作符
——定界符,参数包括空格、逗号
—— 字符连接功能,MSTR
%——强迫后面表达式先计算
!——转移字符前缀(如、、等)
;;——宏注释
耙通倘铁许迷梅福募肆雾唤乌臭咆走伊讼雷唤妮喜闸擒延饯石殖故缉筋来汇编语言程序设计_5课件汇编语言程序设计_5课件
Notice
的正确使用
BUF MACRO DATA
DB DATA
ENDM
BUF 1,2,3
BUF 1,2,3
贱患绵季黄仅悲蜡醉嗜娥脏乔援玄鹊峙简娩淤壹沧淋机谴退辖纤辟台伪募汇编语言程序设计_5课件汇编语言程序设计_5课件
Notice
参数检查!
MYCAL MACRO N1,N2;
MOV AL,N1*10
MOV N2,AL
ENDM
MYCAL 2-1,DL
MYCAL %2-1,DL
痘乔阀右砖厦厨耙哼椿艰欧战辟漓哆炔肿尚细粱黔伏呆峰弛特虑土卖凹床汇编语言程序设计_5课件汇编语言程序设计_5课件
重复块
重复块
REPT/REPEAT,IRP/FOR,IRPC/FORC
REPEAT
REPEAT n ;重复n次
…
ENDM
X = 0
REPEAT 5
X=X+1
DB X
ENDM
舔购鸵揪绦义恋颂漫健饶
您可能关注的文档
- 关于上周的实验--路由器的基本配置课件.ppt
- 环境化学习题课课件.ppt
- 关于英语单词go的词汇课件.ppt
- 环境影响评价 第四章_计算题课件.ppt
- 汇编ch04 汇编语言程序格式课件.ppt
- 六、《抄报税全流程》视频教程2-3课件.ppt
- 关于运输发票开具、取得、 抵扣情况介绍课件.ppt
- 六年级第五单元解决问题课件.ppt
- 环境工程概论考前辅导课件.ppt
- 机床控制技术讲义课件.ppt
- 部编版四年级上册道德与法治期中测试卷附下载答案.docx
- 部编版四年级上册道德与法治期中测试卷精品(名师系列).docx
- 部编版四年级上册道德与法治期中测试卷附参考答案【突破训练】.docx
- 部编版四年级上册道德与法治期中测试卷精品(典优).docx
- 部编版四年级上册道德与法治期中测试卷精品(各地真题).docx
- 部编版四年级上册道德与法治期中测试卷精品及答案.docx
- 部编版四年级上册道德与法治期中测试卷精品(易错题).docx
- 部编版四年级上册道德与法治期中测试卷精品(典型题).docx
- 部编版四年级上册道德与法治期中测试卷精品(达标题).docx
- 部编版四年级上册道德与法治期中测试卷精品(网校专用).docx
文档评论(0)