Assembly 程序集调用过程

Assembly 程序集调用过程,assembly,masm,Assembly,Masm,我试图在汇编中调用一个简单的过程,但无法使其正常工作 我确实在数据段中将原型定义为 mySearch PROTO, map: PTR BYTE, char: BYTE 然后,在结束main之前(在main.asm中)有一个过程 我调用该过程如下: mov ebx, LENGTHOF msg1 INVOKE mySearch , ADDR myString, ebx 如果我丢失了第二个参数 字符:字节 我的程序编译。所以,我的问题是,我不明白如何将字符传递给我的过程 在PROTO或PR

我试图在汇编中调用一个简单的过程,但无法使其正常工作

我确实在数据段中将原型定义为

    mySearch PROTO,
map: PTR BYTE,
char: BYTE
然后,在结束main之前(在main.asm中)有一个过程

我调用该过程如下:

mov ebx, LENGTHOF msg1
INVOKE mySearch , ADDR myString, ebx
如果我丢失了第二个参数

字符:字节


我的程序编译。所以,我的问题是,我不明白如何将字符传递给我的过程

在PROTO或PROC之后不应该有任何“,”。 所以它应该看起来像:

mySearch PROTO map: PTR BYTE, char: BYTE



mySearch PROC string: PTR BYTE, char: BYTE
 ret
mySearch ENDP

对于调用过程,最好将
参数
移入

登记册

或者你可以


它们在
堆栈上

我已经有一段时间没有组装了,但我似乎记得你会把它推到堆栈上。
mySearch PROTO map: PTR BYTE, char: BYTE



mySearch PROC string: PTR BYTE, char: BYTE
 ret
mySearch ENDP