x86 lea指令

时间:2012-02-06 00:14:22

标签: assembly x86 att addressing-mode

我试图抓住x86中的LEA指令:

leal (%edx, %edx, 4), %eax
leal (%edx, %edx, 2), %eax

鉴于这两行,我知道:

eax = edx + edx*4

然后

eax = edx + edx*2

两个问题。首先,如果这些指令按照本例中的顺序出现,那么一旦执行第二行,eax寄存器就会被覆盖?究竟会加载到寄存器中的是什么?另一个地址?或者这是对这些寄存器指向的值进行算术运算?

1 个答案:

答案 0 :(得分:2)

  

如果这些指令按照本例中的顺序出现,则为eax   第二行执行后,寄存器会被覆盖吗?

是(在两条指令后都被覆盖)

  

究竟会加载到寄存器中的是什么?另一个地址?

EDX描述的存储器地址+作为EDX中的值存储的偏移量乘以2