读书人

[]mul指令得到了一个异常结果

发布时间: 2012-09-17 12:06:51 作者: rapoo

[求助]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]

读书人网 >汇编语言

热点推荐