随笔 - 78  文章 - 58  trackbacks - 0
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(9)

随笔分类

随笔档案

文章档案

相册

搜索

  •  

积分与排名

  • 积分 - 264311
  • 排名 - 85

最新评论

阅读排行榜

评论排行榜

(1)定义宏

宏名 MACRO [形参1, 形参2, ……]
宏的定义体
ENDM


MACRO和ENDM是二个必须成对出现的关键字,它们分别表示宏定义的开始和结束;
MACRO和ENDM之间的部分是宏的定义体,它是由指令、伪指令或引用其它宏所组成的程序片段,是宏所包含的具体内容;
 
“宏名”是由程序员指定的一个合法的标识符,它代表该宏;
宏名可以与指令助忆符、伪指令名相同。在这种情况下,宏指令优先,而同名的指令或伪指令都失效;
在ENDM的前面不要再写一次宏名,这与段或子程序定义的结束方式有所不同;
在宏定义的首部可以列举若干个形式参数,每个参数之间要用逗号分隔。
 


(2)取消宏定义伪指令
伪指令PURGE的一般格式如下:

PURGE 宏名1, 宏名2, ……


(3)停止宏扩展伪指令
伪指令EXITM的一般格式如下:

EXITM

 

(4)其他在宏里面注意的
在宏定义中,如果形式参数与其它字符连接在一起,或形式参数出现在字符串之中,那么,就必须使用连接运算符(&)。

字符串整体传递运算符是一对尖括号<>,用它括起来的内容将作为一个字符串来进行形式参数的整体替换

在引用宏时,如果实参中含有特殊字符,而又要该特殊字符当作普通字符来出来,那么,就必须在该特殊字符前加上字符转义运算符“!”。

在引用宏时,使用计算表达式运算符“%”表示把其后面表达式的结果当作实参进行替换,而不是该表达式的整个式子。


 

(5)重复汇编伪指令

a、伪指令REPT的作用是把一组语句重复指定的次数,该重复次数由伪指令后面的数值表达式来确定。其一般使用格式如下:

 REPT 数值表达式
重复的语句组
ENDM


b、伪指令IRP的作用是用每个参数创建一组语句,其重复次数由伪指令后面参数表中参数的个数来确定。其一般使用格式如下:

 IRP 形式参数, <实参1, 实参2, ……, 实参n>
重复的语句组
ENDM


c、伪指令IRPC的作用与IRP相似,其实参表是一个字符串,并对字符串中的每个字符创建一组语句,所以,其重复次数是由该字符串中的字符数来确定。其一般使用格式如下:

 IRPC 形式参数, 字符串
重复的语句组
ENDM

posted on 2007-07-20 21:28 merlinfang 阅读(2849) 评论(2)  编辑 收藏 引用 所属分类: 汇编语言

FeedBack:
# re: 学习汇编(17)-宏定义  2007-11-01 11:25 Minidx全文检索
不错不错  回复  更多评论
  
# re: 学习汇编(17)-宏定义  2014-07-08 05:10 用心创造
顶一下  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理