MASM 指令格式 您所在的位置:网站首页 masm怎么定义符号 MASM 指令格式

MASM 指令格式

2023-12-10 07:31| 来源: 网络整理| 查看: 265

MASM 指令格式 项目 04/03/2023 语法

按照以下语法在源代码中编写指令:

prefixmnemonicoperand-list

有关指令定义、选项和编码的信息,请参阅处理器制造商编程手册。 Microsoft 宏汇编程序可能不支持某些指令和指令选项。

前缀

可以使用设置有关如何编码指令的选项的关键字为一些指令添加前缀。 REP、REPE、REPZ、REPNE 和 REPNZ 关键字与字符串指令一起使用,在单个指令中执行 memcpy 或 strlen 类型的操作。 LOCK 关键字以原子方式对内存操作数执行某些操作。 你可以将其与 XACQUIRE 和 XRELEASE 关键字组合在一起,对受支持的处理器执行硬件锁省略 (HLE) 操作,这在某些情况下允许更大的事务并行度。

其余前缀控制 AVX 指令的编码方式。 使用 VEX 前缀对 AVX 指令进行编码,该前缀显示在操作码之前。 它取代某些字节指令前缀和操作码前导字节。 许多 AVX 指令也是 AVX-512 指令,我们使用支持更多选项的 EVEX 前缀对这些指令进行编码。 MASM 尝试尽可能紧凑地对指令进行编码,但使用这些关键字,你可以更好地控制要与特定指令一起使用的编码。 它们还用于强制生成在相应的 AVX-512 指令后引入的 AVX 指令形式。 例如,vex vpdpbusd 指定 VPDPBUSD 指令的 AVX-VNNI 形式,而不是 AVX512-VNNI 形式。 在没有显式前缀关键字的情况下出现 AVX 指令时,选择的编码取决于当前的 AVX 编码设置。 OPTION AVXENCODING 指令允许你更改此设置。

VEX2、VEX3、VEX 和 EVEX 选项在 Visual Studio 2019 版本 16.7 及更高版本中可用。

关键字 使用情况 REP 按 (E)CX 中的计数重复字符串操作。 REPEREPZ 在比较相等时重复字符串操作,它受 (E)CX 中的计数限制。 REPNEREPNZ 在比较不相等时重复字符串操作,它受 (E)CX 中的计数限制。 LOCK 以原子方式对内存操作数执行操作。 XACQUIRE 开始 HLE 事务,它最常与 LOCK 前缀一起使用。 XRELEASE 完成 HLE 事务,它最常与 LOCK 前缀一起使用。 VEX 使用 VEX 前缀对 AVX 指令进行编码。 VEX2 使用 2 字节 VEX 前缀对 AVX 指令进行编码。 VEX3 使用 3 字节 VEX 前缀对 AVX 指令进行编码。 EVEX 使用 EVEX 前缀对 AVX 指令进行编码。 助记键

助记键标识特定指令,该指令确定允许的前缀和操作数模式。

操作数列表

大多数指令使用操作数列表来指定指令的显式源操作数和目标操作数。 操作数列表可能包含内存引用、寄存器和常量值。 每个指令只允许某些类型的操作数出现在操作数列表中的每个位置。 除 MOVS 和 CMPS 指令外,只有一个操作数可以是内存引用;所有其他操作数都必须是寄存器引用或常量。

AVX-512 选项

某些 AVX-512 指令允许指定更多选项。 这些选项包括:掩码、零掩码、嵌入式广播、嵌入式舍入和异常抑制。

掩码允许仅将操作应用于矢量的选定元素。 通过将 {k1} 到 {k7} 中的掩码寄存器放置在目标操作数之后来控制此选项。 如果掩码寄存器后跟 {z},则目标的所有非选定元素都设置为零。 这种替代方法称为零掩码。

嵌入式广播允许将内存中的标量值应用于矢量的所有元素。 通过将元素大小和关键字 BCST 添加到内存操作数来启用此选项,这类似于对普通内存引用使用 PTR。

嵌入式舍入控制单个浮点指令的舍入模式,无需设置和重置全局舍入模式。 按照指令操作,将舍入模式置于大括号中,这样就可以启用它。 启用后,它还会禁止显示所有异常(仅针对该指令)。 不舍入的浮点指令也可以使用类似的选项禁止显示所有异常。

; Examples of AVX-512 options vaddps xmm1 {k1}, xmm2, xmm3 ; merge-masking vsubps ymm0 {k4}{z}, ymm1, ymm2 ; zero-masking vmulps zmm0, zmm1, dword bcst scalar ; embedded broadcast vdivps zmm0, zmm1, zmm2 {rz-sae} ; embedded rounding vmaxss xmm1, xmm2, xmm3 {sae} ; suppress all exceptions 舍入模式 模型 效果 rn-sae 舍入到最近的整数,偶数优先,禁止显示所有异常。 rz-sae 输入到零,禁止显示所有异常。 rd-sae 向下舍入(舍入到负无穷大),禁止显示所有异常。 ru-sae 向上舍入(舍入到正无穷大),禁止显示所有异常。 sae 禁止显示所有异常(不需要舍入)。 另请参阅

Microsoft 宏汇编程序参考 处理器制造商编程手册



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有