非 SSE2 CPU 上 SSE2 movq 指令的快速解决方法

问题描述

我如何将 movq SSE2 指令转换为一个简单的代码片段,然后我可以将其修补到包含的原始 EXE 中?如果您能提供示例直接说明以用作替代“模板”,那就更好了!

我最感兴趣的是主要使用 C 将这种基于模板的替换写入我的 CodeBlocks 项目,所以我更喜欢它是内联 ASM 形式。这样我就可以以编程方式将 subst 修补到 5 字节长的原始指令中,并在我用来修补 EXE 的同一个 C 中调用内联代码段(其余代码已经编写)。>

我知道这个问题听起来比您想要的更笼统,但我们将不胜感激。提前致谢!

解决方法

只有 MMX/SSE,选项有限。

内存中的 movq 例如 movq xmm4,[edx] 可以模拟为:

xorps xmm4,xmm4
movlps xmm4,[edi]

一个 movq 到内存,例如 movq [edx],xmm5 可以模拟:

movlps [edx],xmm5

相关问答

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