我正在学习SSE指令,并在尝试将单个字节从xmm寄存器复制到as
时,使用GNU的al
汇编程序发现了一个奇怪的错误:
“错误:pextrb
的操作数类型不匹配”。
我认为我的语法是正确的,它与pextrd
完美配合。
pextrd $3, %xmm0, %eax # Works perfectly fine
pextrb $3, %xmm0, %al # Error: operand type mismatch for 'pextrb'
最佳答案
Marc Glisse是正确的,它在使用eax而不是al时有效。它是零扩展的,因此eax实际上只包含一个字节。谢谢!
pextrb $3, %xmm0, %eax
关于assembly - 如何从Asm中的xmm寄存器中提取单个字节?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54286351/