读书人

1组有符号16位数据扩展到32位的有关问

发布时间: 2012-04-16 16:20:04 作者: rapoo

1组有符号16位数据扩展到32位的问题
从内存中读取的数据是16位有符号的,
在计算中需要扩展到32位,

如下代码片段:

short a[4] = {-1, 2, 3, 4};
__asm
{
lea esi, a
movaps xmm0, xmmword ptr [esi]
}
运行后,
xmm0的低64位是4X16位数据(我实际要用到的数据),我想要把它扩展成4X32位的有符号数据,怎么做比较好,

我尝试了

pxor xmm7, xmm7
punpcklwd xmm0, xmm7
但是复数的操作就不对了,




[解决办法]
看不大懂。 如果是X86汇编里,16位有符号数扩展到32位的话,需要使用MOVSX
[解决办法]
复数?what't mean?

读书人网 >汇编语言

热点推荐