【发布时间】:2018-12-24 11:20:46
【问题描述】:
在这段代码中,我试图访问数组[i-1][j+1],在汇编中,我们只能处理一维数组,所以我试图通过从我的宽度中减去当前索引来访问这个索引"W" 并乘以 4,因为类型是 DWORD 但是当我尝试这行“MOV EAX,[EDI - P]”时,它会导致错误提示吗?
MOV EAX, W
ADD EAX, 1
MOV EBX, 4
MUL EBX
MOV P, EAX
MOV EAX, [EDI- p];; up Right
ADD ESI, EAX
【问题讨论】:
-
哪些寄存器包含i和j?
-
没有寄存器包含 i , j 我正在通过宽度访问
-
数组中字节偏移量的计算为:(W * (i - 1) + (j + 1)) * 4
-
没有i和j怎么访问array[i-1][j+1]?
-
假设你有一个宽度 = 5 的数组并且你在索引 7 上并且你想访问 arr[i-1][j] 然后当前索引 - 宽度 = arr[i-1][ j]