Операнды этого типа, такие как [ebp]
, называются операндами памяти .
Все ответы здесь хороши, но я вижу, что никто не говорит о предостережении в следовании этому строгому правилу - если в скобках, то разыменование , , кроме случаев, когда это инструкция lea
.
lea
является исключением из вышеуказанного правила. Скажем, у нас
mov eax, [ebp - 4]
Значение ebp
вычитается из 4, а квадратные скобки указывают, что результирующее значение берется в качестве адреса, а значение, находящееся по этому адресу, сохраняется в eax
. Однако в случае lea
квадратные скобки не означают, что:
lea eax, [ebp - 4]
Значение ebp
вычитается из 4, а результирующее значение сохраняется в eax
. Эта инструкция просто вычислит адрес и сохранит вычисленное значение в регистре назначения. См. этот пост для получения дополнительной информации.