假设%edi包含x并且我想仅使用2个连续的leal指令结束37*x,我将如何进行此操作?
例如,你可以做到45倍
leal (%edi, %edi, 8), %edi
leal (%edi, %edi, 4), %eax (to be returned)
Run Code Online (Sandbox Code Playgroud)
我不能为我的生活找出代替8和4的数字,以便结果(%eax)将是37x
我试图逐个元素地比较2个数组,看看它们是否相同.我可以让它适用于除len = 0之外的所有情况.我似乎无法说两个数组a = {}和b = {}是相同的.
这就是我到目前为止所拥有的
int identical( int a[], int b[], unsigned int len )
{
int same=0;
for( unsigned int i=0; i<len; i++ )
{
if(len==0)
{
same=1;
}
if (a[i]==b[i])
{
same=1;
}
else{
same=0;}
}
return same;
}
Run Code Online (Sandbox Code Playgroud)