汇编--高级汇编语言技术

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编--高级汇编语言技术相关的知识,希望对你有一定的参考价值。

第九章 高级汇编语言技术

  • 宏汇编
  • 重复汇编
  • 条件汇编

 


 

 

宏汇编

 

宏及宏指令 宏定义、宏调用、宏展开 宏定义中的参数 LOCAL伪操作 在宏定义中使用宏 列表伪操作 宏库的建立与调用 PURGE伪操作

 

宏:宏(Macro)是汇编语言的一个特点,它是与子程序类似又独具特色的另一种简化源程序的方法

  是源程序中一段有独立功能的程序代码。一次定义就可以多次调用

宏指令: 用户自定义的指令。在编程时,将多次调用的功能用一条宏指令来代替。

技术分享

宏定义

格式:宏指令名 MACRO [哑元表]

         ……

         …… ;宏定义体

         ENDM

1)宏指令名: 该宏定义的名称,调用时使用宏指令名来调用该宏定义.名称第一个符号必须是字母.

2)哑元表: 宏定义中所用到的形参.每个哑元间用逗号隔开

3)宏定义体: 一组有独立功能的程序代码.

宏调用

格式:宏指令名 [实元表]

  实元表:实参.每一项注意用逗号隔开.

注意:只有对宏指令先定义好了,才能调用它.

举例: MULTIPLY CX,VAR,XYZ[BX]

宏定义中允许使用宏调用,其限制条件是:先定义后调用!

宏定义中不仅可以使用宏调用,也可以包含宏定义.

 

列表伪操作

.LALL :在LST清单中列出宏展开后的全部 语句(包括注释)。

.SALL :在LST清单中不列出任何宏展开后的 语句。

.XALL :省略的列表方式,只列出产生目标 代码的语句。

 

 

PURGE伪操作

 

 

宏调用与子程序调用的区别:

子程序调用: 在程序执行期间被调用,只占用自身大小的一段空间。

宏调用: 在汇编期间被展开,每调用一次就把宏定义体展开一次。

 

以上是关于汇编--高级汇编语言技术的主要内容,如果未能解决你的问题,请参考以下文章

[转]iOS高级调试&逆向技术-汇编寄存器调用

汇编语言--高级汇编技术

嵌入式:ARM内嵌汇编及C和ARM汇编相互调用

DLL文件没有语言限制吗?

汇编效率优化:指令处理机制

C语言属于汇编语言吗?