程序集 INVOKE A 过程
我试图在汇编中调用一个简单的过程,但我无法让它正常工作。
我确实在数据段中定义了原型,
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
如果我丢失了第二个参数
字符:字节
我的程序可以编译。所以,我的问题是,我不明白如何将字符传递给我的程序。
I am trying to invoke a simple procedure in assembly, but I cannot get it to work properly.
I do have the prototype defined in the data segment as
mySearch PROTO,
map: PTR BYTE,
char: BYTE
Then I have the procedure right before the END main (in main.asm)
mySearch PROC, string: PTR BYTE, char: BYTE
ret
mySearch ENDP
I am invoking the procedure as:
mov ebx, LENGTHOF msg1
INVOKE mySearch , ADDR myString, ebx
IF I lose the second parameter
char: BYTE
My program compiles. So, my problem is, i dont understand how to pass a character to my procedure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
PROTO 或 PROC 后面不应有任何“,”。
所以它应该看起来像:
There should not be any ',' after PROTO or PROC.
So it should look like:
对于调用过程,您最好将
参数
移入或者你可以
它们推入
堆栈
。For calling procedure you better should move
arguments
inOR you may
them on
stack
.