【发布时间】:2015-10-02 04:15:59
【问题描述】:
尝试声明整数表达式常量时遇到语法问题。
我有一个常量,一个名为MAX 的DWORD,其值为30。我想声明另一个名为MIN 的DWORD,它是30 的15%、MAX*0.15 或4。我试过MIN DWORD MAX*0.15;但这没有奏效。
我需要使用DWORD,因为我必须将值移动到eax 寄存器。感谢您的帮助!
【问题讨论】:
-
如果您使用来自数据地址的加载,而不是
mov eax, imm32,如果您的常量适合 8 位,则可以使用movzx eax, byte ptr [max]。 (movsx改为符号扩展)。同样对于向量常量,pmovzx如果不需要直接用作内存操作数,可以节省空间。