如何创建个人网站,设计素材网站线上,麦包包在网站建设方面,资源网站推荐几个64位汇编
64 模式中#xff0c;PROTO 伪指令指定程序的外部过程#xff0c;示例如下#xff1a; ExitProcess PROTO ;指定外部过程#xff0c;不需要参数.code
main PROCmov ebx, 0FFFFFFFFh mov ecx,0 ;结束程序call ExitProcess ;调用外部过程main ENDP
END 32位…
64位汇编
64 模式中PROTO 伪指令指定程序的外部过程示例如下
ExitProcess PROTO ;指定外部过程不需要参数.code
main PROCmov ebx, 0FFFFFFFFh mov ecx,0 ;结束程序call ExitProcess ;调用外部过程main ENDP
END 32位汇编
然而在32位模式中PROTO需要包含过程参数列表
PROTO 必须在 INVOKE 之前首先岀现。换句话说这些伪指令的标准顺序为
MySub PROTO ;过程原型
.
INVOKE MySub ;过程调用
.
MySub PROC ;过程实现
..
MySub ENDP
还有一种情况也是可能的过程实现可以出现在程序的前面先于调用该过程的 INVOKE 语句
MySub PROC ;过程定义
..
MySub ENDP
.
INVOKE MySub ;过程调用
声明函数的格式是
函数名 proto [距离] [语言] [参数1]数据类型[参数2]数据类型......
距离可以是NEAR FAR NEAR 16 NEAR 32 FAR 16或FAR 32 Win 32中只有一个平坦的段 无所谓距离 所以在定义时是忽略的 语言类型就是.model那些类型 如果忽略 则使用.model定义的默认值
对于编译器来说 它只关心参数的数量 参数的名称在这里是“无用”的仅是为了可读性而设置的可以省略掉所以下面两句消息框函数的定义实际上是一样的