[]mul指令得到了一个异常结果
[求助]mul指令得到了一个错误结果C/C++ codeint w 769__asm{moveax, 1leaebx, wmul[ebx] 这里是1*769,
[求助]mul指令得到了一个错误结果
C/C++ code int w = 769; __asm { mov eax, 1 lea ebx, w mul [ebx] ; 这里是1*769,但结果eax等于1,而不是769,怎么回事? }
怎么回事呢?
[解决办法]这个问题,其实很简单了,调试软件里在 mul 指令上断点,一看这指令成了 mul byte ptr [ebx] ?所以,c 编译器处理和预想的不一致;这样,只能自己将该指令完善了写成 mul
dword ptr [ebx]