下面是发行版3*3矩阵相乘的反汇编。int myfunction(int a[3][3],int b[3][3],int c[3][3]) { int i,j; for(i=0;i<3;i++) 00401000 mov eax,dword ptr [es...
全文
回复(2) 2008-11-23 07:50 来自版块 - 内核编程
表情
lzpaul这个应该是编译器自己的做法吧,至于为什么这取决于编译器作者,也许有他认为合理的理由 暂时可以不必细究这个问题, 开始eax是指向a首地址了,加了4就指向a[0][1]了 后面的edx+8也是(指向c[0][2]),这应该是因编译器而异的做法吧(2008-12-02 22:18)
Adayuer00401000 mov eax,dword ptr [esp+4] ;a保存到 eax 中 , 此时 eax==a[0][0] add eax, 4 ; 此时 eax == a[0][1] 不知道我理解是对不对(2008-11-26 12:39)

返回顶部