mov cx,[eax+ebx*2+数组基地址]
这是访问数组的方式. 主要靠理解这种表示形式.
数组元素在内存单元中都是线性排列的,比如最简单的1维数组,从基地址开始,往下顺序放,
第一个元素,基地址指着呢,如果找第2个元素,那就是基地址再加上一个元素所占内存单元的个数,因为一维数组只有列变化,所以只要关心EBX就可以,
第1个元素0,第2个元素1,第3个元素2......
第1个元素就是基地址指向,
第2个元素就是基地址加上1, 这个1表示一个内存单元,
第3个元素就是基地址加上2......
这是一个元素占1个内存单元的情况,即8位.如果一个元素是16位,就占2个内存单元了, 那就要*2,如果一个元素是64位,那就要*8.
上面是最简单的1维数组, 如果是2维数组,道理也一样,只不过因为是按行存储,所以要EAX来指明是第几行.
mov cx,[eax+ebx*2+数组基地址] 这样也就很容易理解了.
我表达能力太差,郁闷啊