gpt4 book ai didi

assembly - AMD monitorx 指令的正确语法是什么?

转载 作者:行者123 更新时间:2023-12-02 15:57:29 26 4
gpt4 key购买 nike

Ryzen 支持 monitorx 指令,如 cpuid 标志所示。不幸的是,visual studio masm 汇编器似乎不喜欢这些指令,而且关于如何使用它们的在线文档也很少。

以下代码(非常基于AMD自己的文档)报错A2070“invalid instruction operands:

push rbx
mov eax, 5844h
mov ecx, 0
mov edx, 0
monitorx eax, ecx, edx
pop rbx
ret

我知道这段代码不是很有用,但它不应该引发构建时错误,所以这是怎么回事?

最佳答案

问题是 eax、ecx 和 edx 是 32 位寄存器,但它是在 64 位模式下组装的。因为第一个操作数是指针大小,所以它必须是 64 位。以下代码适用于 64 位程序:

push rbx
mov eax, 5844h
mov ecx, 0
mov edx, 0
monitorx rax, rcx, rdx
pop rbx
ret

关于assembly - AMD monitorx 指令的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71238273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com