第7章 高级汇编语言技术

第7章 高级汇编语言技术

ID:18665541

大小:256.00 KB

页数:5页

时间:2018-09-20

第7章  高级汇编语言技术_第1页
第7章  高级汇编语言技术_第2页
第7章  高级汇编语言技术_第3页
第7章  高级汇编语言技术_第4页
第7章  高级汇编语言技术_第5页
资源描述:

《第7章 高级汇编语言技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章高级汇编语言技术1.教学目的:掌握宏的定义和宏调用,理解宏展开2.教学要求:①掌握宏定义和宏调用,理解宏展开。3.教学重点:①宏定义、宏调用4.掌握难点:①宏定义和宏调用。5.教学进程安排:P246~2616.教学方法:课堂讲授7.教学内容摘要:7.1宏定义和宏调用7.1.1宏指令的定义和宏调用1、宏指令定义宏指令名MACRO[形式参数1,形式参数2,…形式参数N]┇;宏指令体(宏体)ENDM宏指令名:由字母、数字或下划线组成,但第一个符号必须是字母。2、宏调用宏指令名实际参数1,实际参数2,…实际参数N实元(实参):常数、寄存器、存储单元等注:宏必须先定义后调用,

2、宏定义往往放在程序一开始7.1.2宏展开和程序实例例1:定义一个宏求两个数之和summmacroopr1,opr2,result;宏定义pushcx ;现场保护pushsimovax,opr1addax,opr2movresult,axpopsi  ;现场恢复popcx endmdsegsegmentnum1dw1,2sum1dw?num2dw1234h,56A0hsum2dw?dsegendscsegsegmentassumecs:cseg,ds:dsegstart:movax,dsegmovds,axsummnum1,num1+2,sum1;第一次宏调用summnum

3、2,num2+2,sum2;第二次宏调用movah,4chint21hcsegendsendstart_例2:定义一个宏完成回车换行(无变元的宏)crmacro;宏定义movah,02hmovdl,0Dhint21hmovah,02hmovdl,0Ahint21hendmdsegsegmentstrdb'pleaseenteryourname:','$'dsegendscsegsegmentassumecs:cseg,ds:dsegstart:movax,dsegmovds,axmovah,09h;输出字符串leadx,strint21hcr;宏调用...movah,4c

4、hint21hcsegendsendstart例3:定义一个宏完成两个数的不同操作szysmacrop1,p2,op;宏定义(p1和p2为操作数,op为操作码)pushax ;现场保护movax,p1opax,p2popax  ;现场恢复endmdsegsegmentnumdw1,2resultdw?dsegendscsegsegmentassumecs:cseg,ds:dsegstart:movax,dsegmovds,ax;两数相加szysnum,num+2,add;第一次宏调用;两数相减szysnum,num+2,sub;第二次宏调用;两数比较szysnum,num

5、+2,cmp;第三次宏调用;两数相与szysnum,num+2,and;第四次宏调用movah,4chint21hcsegendsendstart例4:定义一个宏完成不同的转移指令(形式参数可以是操作码的一部分)jjmacrocont,dst;宏定义j&contdstendmcsegsegmentassumecs:cseg,ds:dsegstart:movax,dsegmovds,ax...jjz,poc1;第一次宏调用展开为jzpoc1...jjng,poc2;第二次宏调用展开为jngpoc2...jjc,poc3;第三次宏调用展开为jcpoc3...movah,4ch

6、int21hcsegendsendstart例5:定义一个宏求三个数之和addmacroopr1,opr2,opr3,result;宏定义pushcx ;现场保护pushsimovax,opr1addax,opr2addax,opr3movresult,axpopsi  ;现场恢复popcx endmdsegsegmentnum1dw1,2,3sum1dw?num2dw1234h,56A0h,4538hsum2dw?dsegendscsegsegmentassumecs:cseg,ds:dsegstart:movax,dsegmovds,axaddnum1,num1+2,

7、num1+4,sum1;第一次宏调用addnum2,num2+2,num2+4,sum2;第二次宏调用purgeadd;取消add的宏功能movah,4chint21hcsegendsendstart注意:当宏的名子与系统操作码相同时,宏的优先级高例6:定义一个宏,统计字符串中0-9出现的次数(对于宏体中出现的标号要用LOCAL伪指令定义);hong.asmcount09macrosi,cx,dl;宏定义(si指向串的首地址,cx为串的长度,dl统计个数)localcomp,next;定义标号pushcx ;现场保护pushs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。