Assembly 什么是ebp+;4与二维数组有关吗?

Assembly 什么是ebp+;4与二维数组有关吗?,assembly,x86,nasm,Assembly,X86,Nasm,第4行代码中的ebp+4是什么?我知道ebp+4是回信地址。我还知道,它在调用子例程之后直接指向部件。但我在下面的代码中并没有调用子例程,它只是一个数组。(x=a[I][J];) 请告诉我第4行中的ebp+4的用途是什么。如果将其表示为: mov eax, [4*eax + ebp - 40] 4*eax只是将由2*i+j计算的索引(我假设数组每行有两个元素)按每个元素的大小(4字节)缩放。如果将其表示为: mov eax, [4*eax + ebp - 40] 4*eax只是将由2*i+j

第4行代码中的
ebp+4
是什么?我知道ebp+4是回信地址。我还知道,它在调用子例程之后直接指向部件。但我在下面的代码中并没有调用子例程,它只是一个数组。(
x=a[I][J];


请告诉我第4行中的
ebp+4
的用途是什么。

如果将其表示为:

mov eax, [4*eax + ebp - 40]

4*eax
只是将由
2*i+j
计算的索引(我假设数组每行有两个元素)按每个元素的大小(4字节)缩放。

如果将其表示为:

mov eax, [4*eax + ebp - 40]

4*eax
只是将由
2*i+j
计算的索引(我假设数组每行有两个元素)按每个元素的大小(4字节)缩放。

如果将其表示为:

mov eax, [4*eax + ebp - 40]

4*eax
只是将由
2*i+j
计算的索引(我假设数组每行有两个元素)按每个元素的大小(4字节)缩放。

如果将其表示为:

mov eax, [4*eax + ebp - 40]

4*eax
只是将由
2*i+j
计算的索引(我假设数组每行有两个元素)按每个元素的大小(4字节)缩放。

那里没有+4,它是[ebp-40+(4*ex)]。标准数组索引代码。那里没有+4,它是[ebp-40+(4*ex)]。标准数组索引代码。那里没有+4,它是[ebp-40+(4*ex)]。标准数组索引代码。那里没有+4,它是[ebp-40+(4*ex)]。标准数组索引代码。