灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1861回复:0

子程序的可见性

楼主#
更多 发布于:2012-09-10 18:57

子程序的可见性(Visibility)决定该子程序对其它模块是否可用。它共有三个属性值:PRIVATE、PUBLIC和EXPORT。

PUBLIC属性是子程序标准的缺省属性,但该缺省属性可以用伪指令OPTION PROC来修改。EXPORT属性意味着该子程序是一个“远”的、具有PUBLIC属性的子程序,并要求连接程序在生成可执行文件时把其入口地址放入导出入口地址表中。

例如:

OPTION PROC : PRIVATE  ;说明子程序的可见性为:PRIVATE

OPTION PROC : EXPORT   ;说明子程序的可见性为:EXPORT

7.5.5 子程序的起始和结束操作

当程序员想用自己定义的宏来替代缺省的“起始”和“结束”的代码段时,可用下列说明语句来实现:

OPTION PROLOGUE : MacroName1

OPTION EPILOGUE : MacroName2

PROLOGUE和EPILOGUE分别指定MacroName1和MacroName2为“起始”和“结束”代码段的宏名。

汇编程序对用户定义的宏MacroName1和MacroName2的形式有较严格的规定,要求宏的定义形式如下:

MacroName MACRO ProcName, flags, argbytes, localbytes, , userparms:VARARG

该宏定义的每个参数都有详细的说明,感兴趣的读者可看有关技术资料或MASM 6.11中的帮助,详细的说明在此从略,但建议使用缺省的宏。

如果想取消当前指定的宏名,而恢复使用缺省的“起始”和“结束”代码段的宏名,那么,可用下列说明语句,即指定二个缺省的宏名PrologueDef和EpilogueDef。

OPTION PROLOGUE : PrologueDef

OPTION EPILOGUE : EpilogueDef

若程序员不要汇编程序自动产生“起始”和“结束”代码,则可用NONE来代替说明语句中的宏名,即:

OPTION PROLOGUE : NONE

OPTION EPILOGUE : NONE

喜欢0 评分0
游客

返回顶部