Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly x86程序集编程(GAS语法)`shl'的操作数类型不匹配_Assembly_X86_Bit Manipulation_Bit Shift_Att - Fatal编程技术网

Assembly x86程序集编程(GAS语法)`shl'的操作数类型不匹配

Assembly x86程序集编程(GAS语法)`shl'的操作数类型不匹配,assembly,x86,bit-manipulation,bit-shift,att,Assembly,X86,Bit Manipulation,Bit Shift,Att,我试图将存储在EAX寄存器中的数字移位为存储在EBX寄存器中的数量。但是,当我尝试使用以下shift语句执行程序时: shll %ebx, %eax 我在编译时检索到以下错误: 错误:“shl”的操作数类型不匹配 据我所知,将寄存器引用作为参数传入应该是移位函数的正确用法。x86指令中的移位计数必须是常量或%cl寄存器中的移位计数。您不能使用任何其他寄存器进行移位计数。%ebx既不是常数也不是%cl,因此您会得到一个错误 显示shl的可用形式 如果您可以假设支持BMI2扩展,shlx%ebx,

我试图将存储在EAX寄存器中的数字移位为存储在EBX寄存器中的数量。但是,当我尝试使用以下shift语句执行程序时:

shll %ebx, %eax
我在编译时检索到以下错误:

错误:“shl”的操作数类型不匹配


据我所知,将寄存器引用作为参数传入应该是移位函数的正确用法。x86指令中的移位计数必须是常量或%cl寄存器中的移位计数。您不能使用任何其他寄存器进行移位计数。%ebx既不是常数也不是%cl,因此您会得到一个错误

显示shl的可用形式


如果您可以假设支持BMI2扩展,shlx%ebx,%eax,%eax允许移位计数为任意寄存器,并且在英特尔CPU上更快

x86指令中的移位计数必须是常量或%cl寄存器中的移位计数。您不能使用任何其他寄存器进行移位计数。%ebx既不是常数也不是%cl,因此您会得到一个错误

显示shl的可用形式


如果您可以假设支持BMI2扩展,shlx%ebx,%eax,%eax允许移位计数为任意寄存器,并且在英特尔CPU上更快

由于该问题是该消息搜索引擎的热门问题之一:立即轮班计数所需的语法为:shr$13,%ebx


在这里找到它:

因为这个问题是该消息的最热门搜索引擎之一:立即移位计数所需的语法是:shr$13,%ebx

在这里找到:

我想他们在AT&T语法中尝试使用ebx作为移位计数第一个操作数。但除此之外,你的答案是正确的。我认为他们尝试使用ebx作为AT&T语法中的移位计数第一个操作数。但除此之外,你的答案是正确的。