高级汇编语言程序设计ppt课件.ppt

高级汇编语言程序设计ppt课件.ppt

ID:58981071

大小:151.00 KB

页数:58页

时间:2020-09-27

高级汇编语言程序设计ppt课件.ppt_第1页
高级汇编语言程序设计ppt课件.ppt_第2页
高级汇编语言程序设计ppt课件.ppt_第3页
高级汇编语言程序设计ppt课件.ppt_第4页
高级汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《高级汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在掌握基本的汇编语言程序设计方法之后,进一步学习如何提高编程效率的各种实用方法。高级汇编语言程序设计宏汇编重复汇编条件汇编宏汇编重复汇编条件汇编——统称宏结构宏(Macro)是汇编语言的一个特点,它是与子程序类似又独具特色的另一种简化源程序的方法宏——具有宏名的一段汇编语句序列(宏定义时书写)宏指令——这段汇编语句序列的缩写(宏调用时书写)宏展开——宏指令处用这段宏代替的过程(宏汇编时实现)宏的参数功能强大,颇具特色配合宏,还有宏操作符和有关伪指令5.1宏汇编宏(Macro)是源程序中一段有独立功能的程序代码。它只需在源程序中定义一次,就可以多次调用它,

2、调用时只需用一个宏指令语句就可以了。宏定义是用一组伪操作来实现的.其格式是:宏名macro[形参表]…宏定义体endm其中macro和endm是一对伪操作,这对伪操作之间是宏定义体(一组有独立功能的程序代码).宏名给该宏定义的名称,调用时就使用宏名来调用该宏定义。宏名的第一个符号必须是字母,其后可以跟字母、数字和下划线字符。MAINBEGINGMACRO;;定义名为MAINBEGIN的宏,无参数MOVAX,@DATA;;宏定义体MOVDS,AXENDM;;宏定义结束MAINENDMACRORETNUM;;带有形参RETNUMMOVAL,RETNUM;;宏

3、定义中使用参数MOVAH,4CHINT21HENDMMULTIPLYMACROOPR1,OPR2,RESULT;;定义名具有三个参数的宏PUSHDX;;宏定义体PUSHAXMOVAX,OPR1IMULOPR2MOVRESULT,AXPOPAXPOPDXENDM;;宏定义结束宏名[实参表]宏调用经宏定义定义后的宏指令可以在源程序中调用,这种对宏指令的调用称为宏调用。其格式为:宏调用的实质是在汇编过程中进行宏展开例:START:MAINBEGIN;宏调用,建立DS内容MULTIPLY240,BX,SAVE;宏调用,显示字符串MAINEND0;宏调用,返回DO

4、SENDSTART宏调用的实质是在汇编过程中进行宏展开宏展开在汇编时,用宏定义体的代码序列取代源程序中的宏指令名,而且用实际参数取代形式参数的过程。宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的宏定义体取代源程序的宏指令,同时用位置匹配的实参对形参进行取代,而且在取代时,实参与形参是一一对应的。START:1MOVAX,@DATA;宏指令MAINBEGIN的宏展开1MOVDS,AX1PUSHDX;宏指令MULTIPLY的宏展开1PUSHAX1MOVAX,OPR11IMULOPR21MOVRESULT,AX1POPAX1POPD

5、X1MOVAL,0   ;宏指令MAINEND0的宏展开1MOVAH,4CH1INT21HENDSTART宏的参数:宏的参数使用非常灵活宏定义时,可以无参数,例如:MAINBEGIN可以带有一个参数,例如:MAINEND也可以具有多个参数;例如:MULTIPLY参数可以是常数、变量、存储单元、指令(操作码)或它们的一部分,也可以是表达式;宏定义体可以是任何合法的汇编语句,既可以是硬指令序列,又可以是伪指令序列;例:;宏定义SHLEXTMACROSHLOPRAND,SHLNUMPUSHCXMOVCL,SHLNUMSHLSHLOPRANDCLPOPCXEND

6、M;宏指令SHLEXTAX,6;宏展开1PUSHCX1MOVCL,061SHLAX,CL1POPCX;统一4条移位指令的宏指令(shl,shr,sal,sar)shiftmacrosoprand,snum,sopcodepushcxmovcl,snums&sopcode&soprand,clpopcxendm例:宏调用: shiftax,4,ar宏展开:1 pushcx1movcl,41sarax,cl1popcx参数可以是操作码的一部分,但在宏定义中必须用&作为分隔符。&是一个操作符,它在宏体中可作为形参的前缀,展开时把&前后两个符号合并形成一个符号,

7、这个符号可是操作码、操作数和一个字符串。替换操作符;统一移位和循环移位8条指令的宏指令shrotmacrosroprand,srnum,sropcodepushcxmovcl,srnumsropcodesroprand,clpopcxendm例:宏调用:shrotax,4,rcl宏展开:1pushcx1movcl,41rclax,cl1popcx例:;宏定义dstringmacrostringdb’&string&’,0dh,0ah,’$’endm;宏调用dstringdstring<0!;宏展开

8、1db’Thisisaexample.’,0dh,0ah,’$’1db’0

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

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

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