Да, именно это и есть. В синтаксисе AT & T адресация памяти записывается как:
offset(base, index, multiplier)
offset
- это константа со знаком, указывающая смещение от base
, base
- это регистр, с которого следует начинать, index
- это регистр, указывающий, как далеко после начала массива искать, после умножения на multiplier
, который может быть 1, 2, 4 или 8.
Вы должны указать хотя бы один из offset
, base
и index
. Чтобы использовать index
без base
, вам необходимо поставить перед ним запятую ((, index)
). Если вы не укажете multiplier
, по умолчанию будет 1.
В синтаксисе Intel это записывается как:
[base + index*multiplier + offset]
Это легче понять, так как это просто математическая задача.