我正试图很好地掌握x86中的LEA指令:
leal (%edx, %edx, 4), %eax
leal (%edx, %edx, 2), %eax鉴于这两条线,我知道:
eax = edx + edx*4
然后
eax = edx + edx*2
有两个问题。首先,如果这些指令按顺序出现,如本例所示,那么第二行执行后,eax寄存器就会被覆盖?究竟会有什么东西被加载到登记簿上?另一个地址?还是对这些寄存器指向的值进行算术?
发布于 2012-02-06 00:32:38
如果这些指令按顺序出现,如本例所示,第二行执行后,eax寄存器就会被覆盖?
是的(在这两种指令之后都会覆盖)
到底会加载到寄存器中的是什么?另一个地址?
EDX所描述的内存地址+在EDX中存储为值的偏移量乘以2
https://stackoverflow.com/questions/9154330
复制相似问题