【发布时间】:2012-03-31 02:14:28
【问题描述】:
如果我声明这 3 个数组
int a[10][10];
int b[10][15];
int c[10][30];
对于这三个数组中的哪一个,汇编代码会返回 [i][j] 元素吗?假设数组的起始地址存放在%ebx中。
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %edx /* index i */
movl 12(%ebp), %ecx /* index j */
movl %edx, %eax
sall $4, %eax
subl %edx, %eax
addl %ecx, %eax
movl (%ebx,%eax,4), %eax
popl %ebp
ret
你如何解决这类问题
【问题讨论】:
-
没有我正在为我的装配期中学习