2011-11-30 26 views
1

我想在程序集中調用一個簡單的程序,但我無法讓它正常工作。Assembly INVOKE A procedure

我有在數據段定義爲

mySearch PROTO, 
map: PTR BYTE, 
char: BYTE 

然後我有END主(在main.asm中)

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

我調用過程右之前的程序的原型如:

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

如果我輸了,第二個參數

字符:BYTE

我的程序編譯。所以,我的問題是,我不明白如何將一個角色傳遞給我的程序。

+0

它已經有一段時間,因爲我做組裝,但我似乎記得,你將其推入堆棧。 – Frank

回答

0

在PROTO或PROC之後不應該有','。 因此,它應該是這樣的:

mySearch PROTO map: PTR BYTE, char: BYTE 



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