编译器内部:指定寄存器?

问题描述

有没有办法用编译器内在函数指定寄存器?

例如,据说 _mm_load_si128 对指令 movdqa xmm,m128 进行编码,但我看不到一种方法来指定您要使用的实际寄存器。

我也不能使用内联汇编,因为 VS 不支持 64 位,所以我必须自己为每个函数编写 shellcode,然后在运行时为函数分配内存,这似乎是一个糟糕的选择。

这样做的原因是我想用数据填充每个 XMM 寄存器,然后将其卸载到内存中的特定地址。

解决方法

当然可以。使用 nasm 制作 .o 或使用 msvc 中的 ml (但我没有使用后者)。然后你可以将它链接到 elf/exe 。 Ofc 你只能在汇编程序中指定这些东西

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...