“后缀或操作数对'shr'无效”

时间:2013-04-01 19:54:20

标签: assembly bit-shift att

我试图摆脱寄存器中的低位(在执行popcnt之前),但似乎无法正确获取指令的语法。我想从%rdx中的值中清除较低的%r8d位。搜索告诉我count参数应该是一个8位寄存器,所以我现在在:

shrl %dl, %r8d

GAS抱怨这一点,我真的不知道如果错误的话应该是什么论点。

1 个答案:

答案 0 :(得分:1)

根据英特尔PRM,您应该使用%cl代替%dl