装配INVOKE一个程序

时间:2011-11-30 17:31:43

标签: assembly masm

我正在尝试在程序集中调用一个简单的过程,但我无法让它正常工作。

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

    mySearch PROTO,
map: PTR BYTE,
char: BYTE

然后我在END main之前(在main.asm中)有程序

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

我正在调用该程序:

mov ebx, LENGTHOF msg1
INVOKE mySearch , ADDR myString, ebx

如果我丢失了第二个参数

  

char:BYTE

我的程序编译。所以,我的问题是,我不明白如何将一个角色传递给我的程序。

2 个答案:

答案 0 :(得分:0)

在PROTO或PROC之后不应该有任何','。 所以看起来应该是这样的:

mySearch PROTO map: PTR BYTE, char: BYTE



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

答案 1 :(得分:0)

对于调用过程,最好将arguments移动到

  

注册

或者您可以

  

它们在stack上。