LEAL 指令,这是什么意思?

Pho*_*One 1 assembly addressing-mode

所以首先我通过做分配 edx = y movl 12(%ebp) %edx.

为什么leal (%edx, %edx, 2) , %edx =edx = 3*y

cHa*_*Hao 5

LEA是“加载有效地址”的缩写。(在 AT&T 语法中,对于 32 位操作数,它拼写为“leal”。)基本上,它采用给定括号中的内容计算的地址,而不是读取或写入内存,而是将地址本身分配给目标操作数。

它通常用于进行地址计算,但也经常用于通过假装数字是地址来乘以某些整数常量(3、5 和 9)。(地址只是数字,所以它一点都不难。)