xxm0 = 00000000000000000000000000003E2D
PSHUFLW xmm0, xmm0, N
运行了一些测试,并且得到了以下结果
了解这些说明的工作原理,并可能提供与此类似的将来说明的直观指南。我只倒车了几周,所以我很新鲜。感谢您提供的任何帮助。
#1 楼
PSHUFLW的视觉故事如下:我将在这里使用与
Position
相同的均值Order
,从零开始(零索引)。 如您所见,它基于N的值从源中选择单词。选择的顺序/位置将由N的2位值选择。例如,当N = 4时,
根据N(= 00)的第一位(2位),它将在源的位置/顺序0选择
word
并将其复制到目标的位置0。 N(= 01)的第二个位(2位),它将在源的位置/顺序1处选择word
并将其复制到目标的第一个位置。 = 00),它将在源的位置/顺序0处选择word
并将其复制到目标的第二位置。根据N(= 00)的第四位(2位),它将在位置的
word
源的/ order 0,并将其复制到目标的第3个位置。下一个示例N = 17,
根据N(= 01)的第一位(2位),它将在源的位置/顺序1处选择
word
并将其复制到根据N(= 00)的第二位(2位),它将在源的位置/顺序0处选择
word
并将其复制到目标的第一位。根据第三位N(= 01)的2位(2位),它将在源的位置/顺序1处选择
word
并将其复制到目标的第二位置。根据N(= 00)的第四位(2位) ),它将在源的位置/顺序0处选择
word
并将其复制到目标的第3个位置。 PSHUFD相同,只是它将从源中选择双字并在目标中复制。因此PSHUFD中将使用低位和高位四字,而PSHUFLW中将使用低位和四位字。评论
非常感谢,现在我可以看到它非常简单。
–安藤
19年1月11日在22:14
我唯一的问题是,它如何产生上述结果?这是在调试器中通过更改值来计算的。
–安藤
19年1月11日在22:52
产生结果?我不明白你的问题!
–arman
19年1月11日在23:08
@arman:很好的解释,谢谢!
–恐怖
19/12/9在17:15
评论
因此,我可以看到大量参考文献,其中一些提到pshuflw,但没有具体示例。你能指出我正确的方向吗?如果您使用xmm0 = 0xAAAABBBBBBCCCCDDDD
进行测试,则可能会发现图案