代码之家  ›  专栏  ›  技术社区  ›  user1778345

MASM中的推送/弹出与移动

  •  2
  • user1778345  · 技术社区  · 12 年前

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

    原因是什么:

    push wParam
    pop char
    

    哪里 wParam 定义为WPARAM类型,并且 char 被定义为WPARAM类型。

    为什么我不能简单地

    mov char, wParam
    

    我有一种感觉,这与地址有关,但我无法证明这一点。当我尝试使用 mov 陈述

    1 回复  |  直到 12 年前
        1
  •  5
  •   500 - Internal Server Error    12 年前

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

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