下面具体看我怎么写
ret返回指令: 在伪指令中,不要在使用retn,retf等等指令去平栈了,这里写ret即可,ret会根据你给的调用方式
自动选择使用那个指令去平栈
Laber ENDP: 标号 ...所以调用方式应该明白是什么意思了吧,因为ret会自动根据我们给的调用方式去平栈,如果我们有参数,则会平正确的栈....它会自动的完成转换
注意:
1.虽然变成了参数,但其实翻译的汇编代码还是 [bp-xxx],还是不能内存直接给内存
比如不能写成这样
mov nn1,nn2
这样汇编代码翻译过来就是
mov [bp-xxx...,压栈,然后Call
现在提供了一个伪指令,让我们像C语言一样的方式去掉用
Invoke 伪指令
?...以前的时候寻址方式都讲过了 ; 不能mov mem,mem ,也说过 内存和内存不能直接交换,必须通过中转
MyCode ends
end START
看下反汇编代码