如何在Assembly中访问数组的元素?

时间:2017-07-04 13:43:47

标签: assembly x86 nasm

文档说:

  

(索引*比例)+位移⎯此地址模式提供了一种在元素大小为2时索引静态数组的有效方法,   4或8个字节。位移定位数组的开头,   索引寄存器保存所需数组元素的下标,   并且处理器自动将下标转换为索引   通过应用比例因子。

可以使用 Base 代替 Displacement 来指定数组的开头:

Base + (Index ∗ Scale)

1 个答案:

答案 0 :(得分:0)

base,index,scale, displacement 只是内存操作数的四个部分的名称。无论您喜欢什么目的,您都可以自由地使用每个部件。例如,要获取数组的第n + k个条目,可以使用以下内容:

mov al, [array + ebx + ecx]

其中n存储在ebx中,k存储在ecx.中。在这种情况下,“base”实际上用作数组的索引,因此是“索引”部分。