【发布时间】:2021-07-27 08:23:13
【问题描述】:
看在我的份上,我无法弄清楚这一点。
我会假设指令
lea 0x0(,%rcx,4),%esi
表示“将 %esi 设置为 %rcx 乘以 4 的结果”。 但事实并非如此。那么这是什么意思呢?首先很奇怪 偏移量是 0x0 并且没有使用 mul 代替...
编辑: 我认为某些东西被隐含地用作基础。但我不知道是什么。
【问题讨论】:
-
0 用作基础。它是 0+[0+rcx*4] 。是什么让你不这么认为。您从 ESI 获得什么价值?指令执行前RCX的值是多少?
-
“将 %esi 设置为 %rcx 乘以 4 的结果”——这正是这条指令的作用。会不会是还没填的搬迁?
-
看我的回答:)。