gpt4 book ai didi

exception - 这是有效的 x86 汇编指令吗?

转载 作者:行者123 更新时间:2023-12-03 06:52:37 32 4
gpt4 key购买 nike

我刚刚下载了最新版本的 SmartMusic (http://www.smartmusic.com) 并首次尝试运行它。
问题是,启动屏幕上有一个未处理的 Win32 异常。
作为一个极客/黑客(在这个词的原始意义上),我当然想找出为什么事情是这样的,所以我打开我的 Visual Studio 调试器来查看程序集并在调试器下运行它。
未处理的异常是“非法指令”,引发异常的指令是:
cvtdq2ps xmm0,xm​​m0
现在,我不太了解汇编,但这对我来说看起来像是一个有效的指令(here是有关它的一些信息)所以我想知道是否有人知道这是怎么回事以及如何(如果可能)修复它.
(我宁愿修复一些东西,然后就完成它,而不是花一个小时在电话上寻求技术支持,然后得到“我们会让人看一下,感谢您的来电,祝您有美好的一天*点击*")
顺便说一下,我尝试过重新安装它,所以不是这样的:)

这是异常之前和之后的代码

je          004DBAEA  
mov edx,dword ptr [esp+8]
push edx
call 007806A0
mov eax,dword ptr [esi+4]
mov ecx,dword ptr [eax+3EF0h]
test ecx,ecx
je 004DBAFC
call 007506A0
mov eax,dword ptr [esi+1CCh]
mov ecx,dword ptr [esi+4]
mov edx,dword ptr [ecx]
push eax
mov eax,dword ptr [edx+218h]
call eax
mov ecx,dword ptr [esi+4]
mov edx,dword ptr [ecx]
movd xmm0,dword ptr [esi+1B8h]
mov eax,dword ptr [edx+26Ch]
push ecx
cvtdq2ps xmm0,xmm0 ; this is the instruction it chokes on
movss dword ptr [esp],xmm0
call eax
mov ecx,dword ptr [esi+4]
movss xmm0,dword ptr [esi+1ACh]
movss dword ptr [ecx+4ACh],xmm0
xor eax,eax
cmp dword ptr [esi+1B0h],eax
setne al
cmp eax,1
mov dword ptr [esi+1B0h],eax
mov eax,dword ptr [esi+4]
sete dl
mov byte ptr [eax+0ED2h],dl
mov edx,dword ptr [esi+4]
xor eax,eax
cmp dword ptr [esi+1B4h],eax
setne al
cmp eax,1

最佳答案

您是否在一台非常旧的机器上运行(2005 年之前左右)? cvtdq2ps 需要 SSE2;我很难想象有人仍在使用缺乏 SSE2 支持的硬件,但这是可能的。

编辑:是的,这就是问题所在。 Athlon XP 系列有 SSE,但没有 SSE2,这是非法指令的原因。我想是时候现代化了。越来越多的软件需要 SSE2 和 SSE3。

关于exception - 这是有效的 x86 汇编指令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934592/

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