21,497
社区成员




movsx bx,al
的执行结果为bx=11111111 10000000
lea ecx, [edi+ecx*4] ;把[edi+ecx*4]中的值给ecx,edi是一个指向DWORD型(32位数,根据上下文可知是浮点数)数组的指针,取第ecx个元素的地址
mov edi, [esi+000000a8] ;把[esi+000000a8]中的值给edi,通常是esi是一个结构指针,从结构中取一个成员,根据上下文可知其指向一个浮点数组
lea ecx, [edi+ecx*4] ;把[edi+ecx*4]中的值给ecx,edi是一个指向DWORD型(32位数,根据上下文可知是浮点数)数组的指针,取第ecx个元素的地址
movsx edi,word ptr [eax-02] ;把[eax-02]中的SWORD型(16位有符号数)数据给edi,通常eax是一个结构指针,从结构中取一个成员
mov [esp+14], edi ;把edi(word ptr [eax-02])的值保存到[esp+14],通常[esp+14]是局部变量
fild dword ptr [esp+14] ;把[esp+14]中的整数(word ptr [eax-02])压入浮点栈顶,准备浮点运算
fmul dword ptr [esp+10] ;浮点栈顶的数与[esp+10]中的浮点数相乘,结果仍在栈顶,[esp+10]通常是一个局部变量
fsubr dword ptr [ecx] ;浮点栈顶的数减去[ecx]中的浮点数,结果仍在栈顶
fstp [ecx] ;把浮点栈顶的数弹出到[ecx]