为什么LEA EAX,[EAX+4*EAX]就行,而LEA EAX,[EAX+16*EAX]就是错误的指令格式啊。

laviewpbt 2012-06-29 11:54:16
实在是相同,要说哪个倍数只能是2整数次方,16也是啊。
...全文
303 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
时间坐标 2012-07-05
  • 打赏
  • 举报
回复
比例变址只有2位的比例,最多能到11,也就是2^3=8,16已经超出了。
PctGL 2012-07-05
  • 打赏
  • 举报
回复
LEA EAX,[EAX+4*EAX]
最好别这么写,操作参数和被操作参数最好不要使用同样的寄存器,否则可能很影响性能
Lactoferrin 2012-07-02
  • 打赏
  • 举报
回复
SIB给scale只有2位
WJN92 2012-07-01
  • 打赏
  • 举报
回复
你这个是用 LEA 做乘法运算!?
LEA 比较快吗!?
hili210 2012-06-30
  • 打赏
  • 举报
回复
因为乘法所可以乘的范围只能是1、2、4、8。
16超出了这个范围。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧