【摘要】:被包括在其中的语句序列由有效的汇编语言指令、伪指令和宏指令组成。.STACK、.CODE、.DATA定义了各段,段从定义处开始,到下一个段定义处结束。若用简化的段定义定义各段,前面的伪指令.DOSSEG和.MODEL不能省略。
1.宏定义和使用
(1)宏定义
宏定义语句如下:
其中,MACRO和ENDM是宏定义伪指令,必须成对使用。被包括在其中的语句序列由有效的汇编语言指令、伪指令和宏指令组成。
(2)宏调用和宏展开
在程序中直接写出宏名就可以将定义好的宏插入宏名所在的位置,称为宏调用。格式:
宏名[实参数][,实参数…]如果有实参数,则实参数按照顺序与形式参数一一对应,并替换宏定义中的形式参数出现在程序中。
(3)宏中的标号
在宏中,需要使用局部符号伪指令LOCAL来标志宏内部使用的名字。
LOCAL语句格式:
LOCAL形式变量1,形式变量2,…(www.daowen.com)
2.简化DOS段定义
MASM中预定义了一些宏,使用时可以直接调用。其中有一些为段的定义和名称、程序初始化等提供了方便。这些宏都以“.”起头,包括:
·.DOSSEG伪指令,指定段的排列顺序;
·.MODEL存储模式;
·.STACK[大小],定义堆栈段,[]为可选项,默认值为1024 Byte;
·.CODE[名字],定义代码段,[]为可选项;
·.DATA,定义数据段;
·.startup,初始化DS/SS/SP,产生代码;
·.exit,退出,可带一字节返回代码。
.STACK、.CODE、.DATA定义了各段,段从定义处开始,到下一个段定义处结束。若用简化的段定义定义各段,前面的伪指令.DOSSEG和.MODEL不能省略。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。