欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    汇编语言宏指令语句.ppt

    • 资源ID:91059911       资源大小:517KB        全文页数:15页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言宏指令语句.ppt

    第5章 汇编语言程序设计 5.4 宏指令语句宏指令语句1.宏指令、宏定义和宏调用宏指令、宏定义和宏调用宏指令是源程序中具有宏指令是源程序中具有独立功能的一段程序代码独立功能的一段程序代码。在汇编语言中,如果在源程序中需要多次使用同一个在汇编语言中,如果在源程序中需要多次使用同一个程序段,可以将这个程序段定义(宏定义)为一个宏程序段,可以将这个程序段定义(宏定义)为一个宏指令,然后指令,然后每次需要是,即可简单地用宏指令名来代每次需要是,即可简单地用宏指令名来代替(称为宏调用),替(称为宏调用),从而避免了重复书写,使源程序从而避免了重复书写,使源程序更加简洁、易读。更加简洁、易读。宏定义由宏定义由MASM宏汇编程序提供的伪指令实现,宏汇编程序提供的伪指令实现,其格式为其格式为第5章 汇编语言程序设计 宏指令名宏指令名 MACRO 形式参数形式参数 ENDM宏调用的格式为宏调用的格式为 宏指令名宏指令名 实际参数实际参数这就是说,只要在源程序中写上已定义过的宏指这就是说,只要在源程序中写上已定义过的宏指令名就算是调用该宏指令了。令名就算是调用该宏指令了。具有宏调用的源程序被汇编时,每个宏调用将被具有宏调用的源程序被汇编时,每个宏调用将被MASM进行宏展开。宏展开实际上是用宏定义式设计的进行宏展开。宏展开实际上是用宏定义式设计的宏体去代替相应的宏指令,并用实际参数一一取代形参。宏体去代替相应的宏指令,并用实际参数一一取代形参。宏体第5章 汇编语言程序设计 由此可见,使用宏的过程共有三步:首先由此可见,使用宏的过程共有三步:首先进行宏定进行宏定义义;然后可以进行;然后可以进行宏调用宏调用;最后,汇编时由;最后,汇编时由MASM进行进行宏展开宏展开。例例 若源程序中多处需要将若源程序中多处需要将AL和和CL寄存器中的寄存器中的两位压缩型的两位压缩型的BCD数相加,并将和送回数相加,并将和送回BL寄存器,则寄存器,则可象下述这样定义宏指令,然后在需要的地方进行调用。可象下述这样定义宏指令,然后在需要的地方进行调用。DECADDMACROADD AL,CLDAAENDM显而易见,这是一个无形式参数的宏定义。显而易见,这是一个无形式参数的宏定义。第5章 汇编语言程序设计 如果对分别存放在任意如果对分别存放在任意8位寄存器或存储单元中的位寄存器或存储单元中的两个压缩型的两个压缩型的BCD数进行加法运算,则可将上例宏定数进行加法运算,则可将上例宏定义改写为义改写为DECADD1 MACRO OPR1,OPR2MOV AL,OPR1ADD AL,OPR2DAAMOV OPR1,ALENDM这是一个带有两个形式参数的宏定义。宏指令为这是一个带有两个形式参数的宏定义。宏指令为DECADD1。例如有以下宏调用:。例如有以下宏调用:第5章 汇编语言程序设计 DECADD1 DL,BUFFERDECADD1AREA1,AREA2则汇编时进行宏展开,得到以下指令:则汇编时进行宏展开,得到以下指令:DECADD1 DL,BUFFER+MOV AL,DL+ADD AL,BUFFER+DAA+MOV DL,AL DECADD1 AREA1,AREA2+MOV AL,AREA1+ADD AL,AREA2+DAA+MOV AREA1,AL宏扩展后,原来宏体中的指令前面都加上了符号宏扩展后,原来宏体中的指令前面都加上了符号“”,以示区别以示区别。第5章 汇编语言程序设计 宏指令与子程序的区别宏指令与子程序的区别在汇编语言程序设计中,宏指令和子程序都给设计在汇编语言程序设计中,宏指令和子程序都给设计者提供了很大方便。他们都是可被程序多次调用的程序者提供了很大方便。他们都是可被程序多次调用的程序段,并且调用前必须由设计者事先根据需要按一定格式段,并且调用前必须由设计者事先根据需要按一定格式进行定义。然而,宏指令和子程序由于定义方法和几个进行定义。然而,宏指令和子程序由于定义方法和几个是不同,使用中会有许多不同之处,主要是空间和时间是不同,使用中会有许多不同之处,主要是空间和时间的差异。的差异。子程序由子程序由CALL指令调用,由指令调用,由RET指令返回指令返回,所以汇编后子程序的机器码只占有一个程序段,不管调所以汇编后子程序的机器码只占有一个程序段,不管调用多少次均如此,较为节约内存。宏指令在每次宏调用用多少次均如此,较为节约内存。宏指令在每次宏调用处宏展开时,宏体都要占一个程序段,调用次数愈多,处宏展开时,宏体都要占一个程序段,调用次数愈多,占用内存愈多。因此从内存空间开销来说,子程序优于占用内存愈多。因此从内存空间开销来说,子程序优于宏指令。宏指令。第5章 汇编语言程序设计 从程序的执行时间来分析,每调用一次子程序从程序的执行时间来分析,每调用一次子程序都要保护和恢复返回地址(断点)及寄存器内容(现场)都要保护和恢复返回地址(断点)及寄存器内容(现场)等,要消耗较多的时间。宏指令调用时不需要这个过程,等,要消耗较多的时间。宏指令调用时不需要这个过程,执行时间较短。因此,从执行时间来分析,宏指令又优执行时间较短。因此,从执行时间来分析,宏指令又优于子程序。于子程序。综上所述,综上所述,当某一需多次访问的程序段较长,访当某一需多次访问的程序段较长,访问次数又不是太多时,选用子程序结构较好。当某一需问次数又不是太多时,选用子程序结构较好。当某一需多次访问的程序段较短,访问次数又很频繁时,选用宏多次访问的程序段较短,访问次数又很频繁时,选用宏指令结构显然要更好些。指令结构显然要更好些。第5章 汇编语言程序设计.EXE.EXE文件文件5.5 汇编语言程序上机过程要想在计算机上要想在计算机上 运行汇编语言程序,必须首先运行汇编语言程序,必须首先对源程序进行汇编和连接。下图表示了对汇编语言源对源程序进行汇编和连接。下图表示了对汇编语言源程序的编辑、汇编和连接的过程。程序的编辑、汇编和连接的过程。手写程序手写程序.ASM.ASM文件文件.OBJ.OBJ文件文件编辑程序编辑汇编程序汇编连接程序连接EDITEDITEDITMASMMASMMASMLINKLINKLINK汇编语言程序上机过程汇编语言程序上机过程第5章 汇编语言程序设计 5.5.1 用编辑程序建立汇编语言源程序文件用编辑程序建立汇编语言源程序文件建立一个汇编语言源程序,可以使用建立一个汇编语言源程序,可以使用Windows系统系统下的下的记事本程序记事本程序来编写,也可以使用来编写,也可以使用DOS操作系统下的操作系统下的EDIT程序程序来编写。来编写。例如从键盘输入二个数存入内存以例如从键盘输入二个数存入内存以DATA开始的二开始的二个单元中,然后选出其中的大数输出。个单元中,然后选出其中的大数输出。设编辑后的汇编语言源程序名为:设编辑后的汇编语言源程序名为:exp1.asm第5章 汇编语言程序设计 5.5.2 用汇编程序将用汇编程序将.ASM文件汇编成目标程序文件文件汇编成目标程序文件.OBJ在对汇编语言源程序文件(简称在对汇编语言源程序文件(简称ASM文件)文件)汇编时,汇编程序将对汇编时,汇编程序将对ASM文件进行二遍扫描。文件进行二遍扫描。若程序文件中有语法错误,则在结束汇编后将若程序文件中有语法错误,则在结束汇编后将指出源程序中的错误语句及错误类型。否则将指出源程序中的错误语句及错误类型。否则将在汇编后生成目标程序文件(即在汇编后生成目标程序文件(即OBJ文件)文件)完成汇编功能的是小汇编程序完成汇编功能的是小汇编程序ASM或宏汇或宏汇编程序编程序MASM。汇编过程如下表所示:汇编过程如下表所示:第5章 汇编语言程序设计 MASM宏汇编的提示信息及回答宏汇编的提示信息及回答交叉参考文件用的文件名(缺省:无交叉参考文件)Cross referenceNUL.CRF:(交叉参考文件名)列表文件名(缺省:无列表文件)Source listingNUL.LST:(源列表文件名)可重新定位目标文件名(缺省:源文件名.OBJ)Object filenameSource.OBJ:(目标文件名)欲汇编的.ASM源文件名(缺省:命令中的文件名)Source filename.ASM:(源文件名)回 答提 示 信 息第5章 汇编语言程序设计 5.2.3 用连接程序生成可执行程序文件用连接程序生成可执行程序文件(EXE 文件)文件)经汇编后产生的目标程序文件(经汇编后产生的目标程序文件(OBJ文件)并不是文件)并不是可执行程序文件,必须经连接后才能成为可执行文件可执行程序文件,必须经连接后才能成为可执行文件(EXE文件)。连接程序并不是专门为汇编语言程序设文件)。连接程序并不是专门为汇编语言程序设计的,如果一个程序是由若干个模块组成的,也可以通计的,如果一个程序是由若干个模块组成的,也可以通过连接程序把它们连接在一起。这些模块可以是汇编程过连接程序把它们连接在一起。这些模块可以是汇编程序产生的目标程序文件,也可以是高级语言编译程序产序产生的目标程序文件,也可以是高级语言编译程序产生的目标程序文件。生的目标程序文件。完成连接功能的程序是完成连接功能的程序是LINK程序。连接过程如下程序。连接过程如下表所示:表所示:第5章 汇编语言程序设计 LINK程序的提示信息及回答程序的提示信息及回答库文件名表(各文件之间用号隔开)Libraries.LIB(库文件)列表文件名(缺省:无文件名)List File NUL.MAP(列表文件)连接后生成的执行文件名(缺省:目标文件名)Run File object.EXE(运行文件)目标代码模块表(各模块之间用号隔开)Oject Modules.OBJ(目标模块)回 答提 示 信 息第5章 汇编语言程序设计 DATA SEGMENT DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,4CHINT 21HCODE ENDS END START第5章 汇编语言程序设计 DATA SEGMENT DATA ENDSCODE SEGMENTMAIN FROC FAR ASSUME CS:CODE,DS:DATA,ES:DATASTART:PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXRETMAIN ENDPCODE ENDS END START

    注意事项

    本文(汇编语言宏指令语句.ppt)为本站会员(wuy****n92)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开