汇编-PROTO声明过程

64位汇编

64 模式中,PROTO 伪指令指定程序的外部过程,示例如下:

复制代码
ExitProcess PROTO   ;指定外部过程,不需要参数


.code
main PROC
	
	mov 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定义的默认值

对于编译器来说, 它只关心参数的数量, 参数的名称在这里是"无用"的,仅是为了可读性而设置的,可以省略掉,所以下面两句消息框函数的定义实际上是一样的:

相关推荐
我在人间贩卖青春5 天前
汇编之伪指令
汇编·伪指令
我在人间贩卖青春6 天前
汇编之伪操作
汇编·伪操作
济6176 天前
FreeRTOS基础--堆栈概念与汇编指令实战解析
汇编·嵌入式·freertos
myloveasuka6 天前
汇编TEST指令
汇编
我在人间贩卖青春6 天前
汇编编程驱动LED
汇编·点亮led
我在人间贩卖青春6 天前
汇编和C编程相互调用
汇编·混合编程
myloveasuka6 天前
寻址方式笔记
汇编·笔记·计算机组成原理
请输入蚊子7 天前
《操作系统真象还原》 第六章 完善内核
linux·汇编·操作系统·bochs·操作系统真像还原
myloveasuka7 天前
指令格式举例
汇编·笔记·计算机组成原理
我在人间贩卖青春7 天前
汇编之分支跳转指令
汇编·arm·分支跳转