2

一个简单的问题,但我不知道答案。

原因是什么:

push wParam
pop char

其中wParam定义为 WPARAM 类型并char定义为 WPARAM 类型。

为什么我不能简单

mov char, wParam

我觉得它与地址有关,但我无法证明它的合理性。mov当我尝试使用该语句时,MASM 会吐出一个无法描述的错误。

4

1 回答 1

5

因为两者都是内存地址,并且在 x86 汇编中没有mov mem,mem(mov char,wParam在这种情况下) 这样的指令。

因此,要做到这一点,您需要使用push& pop,或者首先将值移动到某个寄存器中,mov reg,mem然后从该寄存器移动到内存中mov mem,reg

于 2013-03-26T23:31:54.947 回答