什么是宏定义

请问什么是宏定义呢???不懂啊!!

第1个回答  2007-05-07
宏定义
定义:是一段具有一定独立功能的汇编代码。该段代

码起一个名称宏名。其使用与汇编指令类似。
定义形式:

宏名 MACRO 哑元表 宏定义体 ENDM
按照符号传送的形式参树表

汇编指令(宏)代码

宏调用定义
定义:是对已定义宏的使用,其使用与汇编指令类似。

调用形式:

宏名 MACRO 实元表

传给宏的参数

类似于过程参数参数取代规则:参数传送时按照符号传送,实元按顺序依次送给哑元:当实元少于哑元时,缺的参数按空对待;实元多余哑元时,忽略多余的参数。

宏调用
宏的取消:

宏定义后,其优先顺序高于汇编指令。用PURGE可取
消定义。

调用形式:

PURGE 宏名1,宏名2,。。。
宏展开:

(1)汇编时,将宏调用的实元取代哑元; (2)将宏名用宏代码代替。
与过程调用的区别:

宏类似类型定义,汇编后消失,不能减小目标码,调用时不 会引起控制转移,其参数替换为哑元形式。 宏调用形式:无变元
示例1 无变元
SAVER MACRO
PUSH AX PUSH BX PUSH CX ENDM 程序中使用:
。。。 SAVER 。。。
举例
宏的调用形式:变元是操作码
FOO MACRO P1,P2,P3

MOV AX,P1
P2 P3

ENDM

调用:
FOO BX,INC,AX

展开:MOV AX,BX

INC AX

变元是操作码的一部分
LEAP MACRO COND,LAB

J&COND LAB
ENDM 宏调用:
LEAP C,THERE
LEAP F,HERE
宏展开:
JC THERE
JF HERE
宏定义中含有标号

ABSOL MACRO OPER
LOCAL NEXT CMP OPER,0 JGE NEXT NEG OPER NEXT: ENDM 宏调用: ABSOL X0 宏展开: CMP X0,0 JGE ??0000 NEG X0 ??0000: ..
宏定义中可含有嵌套,但宏必须先定义再使用

DEFMAC MACRO MACNAM,OPER
MACNAM MACRO X,Y,Z PUSH AX MOV AX,X OPER AX,Y MOV Z,AX POP AX ENDM ENDM 调用: DEFMAC ADDITION,ADD 展开: ADDITION MACRO X,Y,Z PUSH AX MOV AX,X ADD AX,Y MOV Z,AX POP AX ENDM
宏可以递归定义吗?

ADDRR MACRO X,Y
ADDRR AX,X ENDM

参考资料:http://www.zjgzjzx.cn/students/jz03/janeyan5001/%BA%EA.htm

什么是宏定义?
宏定义是高级语言编译器提供的常用语法,其目的是利用某一标识符标识某个文本字符串。在编写程序时,如果程序中反复地使用某个数据或某段程序片段,就可以考虑将这个数据或程序片段定义为宏,然后每个出现该数据或程序片段的地方用宏名替代 选择宏定义来做的好处是程序简洁,可读性好,而且当需要修改这些相...

什么是宏定义?
问题一:什么是宏定义? 1.不带参数的宏定义:宏定义又称为宏代换、宏替换,简称“宏”。格式:define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。掌握宏概念的关键是“换”。一切以换为前提、做任何事情之前先要...

宏定义是什么意思?
宏定义是一种预处理指令,可以在程序编译前将一些常用的代码片段用一个宏名表示,这样在程序中使用该宏名时,编译器会自动将宏名替换为对应的代码片段。宏定义通常用于简化代码、提高代码重复利用率和可维护性等方面。使用宏定义可以避免频繁的复制粘贴,同时也能够提高代码的可读性和可维护性。当需要修改...

在C语言中 宏定义是什么?
在C语言源程序中,允许用一个标识符来表示一个字符串,称为宏,宏定义是由源程序中的宏定义命令完成的,宏替换是由预处理程序自动完成的。宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。

什么是宏定义
宏定义 定义:是一段具有一定独立功能的汇编代码。该段代 码起一个名称宏名。其使用与汇编指令类似。定义形式:宏名 MACRO 哑元表 宏定义体 ENDM 按照符号传送的形式参树表 汇编指令(宏)代码 宏调用定义 定义:是对已定义宏的使用,其使用与汇编指令类似。调用形式:宏名 MACRO 实元表 传给宏...

什么是宏定义命令
宏定义是C语言提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。宏定义和操作符的区别是:宏定义是替换,不做计算,也不做表达式求解。不带参数,宏定义又称为宏代换、宏替换,简称“宏”。带参数,除了一般的字符串替换,还要做参数代换。

在C语言中 宏定义是什么?
C语言中,宏定义是一种重要的预处理功能,它允许程序员为常量、函数或复杂的表达式创建别名,以提高代码的可读性和重用性。宏的定义格式为:#define 标识符 字符串,其中标识符是预定义的符号,也称为宏名。预处理的过程,即宏展开,会将宏名替换为相应的字符串值。理解宏的关键在于其"替换"的特性,...

键盘各个按键的宏定义是什么?
键盘的宏定义,就是通过软件将一系列的键盘或鼠标操作行为储存在一个按键里,达到提高输入效率的目的,而对游戏玩家来说,将游戏中的一系列操作进行存储,可以最大程度的节省时间,简化操作。不同的键盘对的任意按键进行定义的方式是不同的,对键盘进行宏定义,大大提高了键盘使用的灵活性,玩家可以完全...

C语言中,宏定义是什么意思?
C语言中有明确规定,宏定义是利用#define命令,用一个指定的标识代替一个字符串。对应到题目上就是#define 标识符 字符串,所以PI是标识符,3.1415926是字符串。所以这题选B 关于C选项,如果3.1415926不在宏函数定义中,那么它就是一个常量,只是因为它在#define命令中,所以它是一个字符串。A选项...

宏定义c语言是什么意思?
在C语言源程序中,允许用一个标识符来表示一个字符串,称为宏,宏定义是由源程序中的宏定义命令完成的,宏替换是由预处理程序自动完成的。宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义...

相似回答