就像我们将在第三章中看到的那样,LEA指令能够执行形如(a<<k)+b的计算,这里k等于0、1、2或3,而b等于0或者某个程序值。编译器尝尝用这条指令来执行常熟因子乘法。
考虑b等于0或者等于a、k为任意可能的值的情况,用一条LEA指令可以计算a的哪些倍数?
当b=0,(a<<k)+b=a*
,而k等于0、1、2或3,所以计算结果为a,2a,4a,8a
当b=1,(a<<k)+b=a*(
+1),而k等于0、1、2或3,所以计算结果为2a,3a,5a,9a
所以综合结果为a,2a,3a,4a,5a,8a,9a
深入理解计算机系统 练习题2.38 答案与分析
猜你喜欢
转载自blog.csdn.net/ciqingloveless/article/details/82840516
今日推荐
周排行