- x86匯編與逆向工程:軟件破解與防護的藝術
- (美)斯蒂芬妮·多馬斯 (美)克里斯托弗·多馬斯
- 288字
- 2025-02-10 16:05:46
2.6.4 索引尋址
如果數組中的元素總是一個字節長,則基址加偏移量的尋址模式運作良好。對于元素更大的數組,偏移量必須手動計算,這很煩瑣,也容易出錯。
在這些情況下,索引尋址可能是更好的選擇。索引尋址使用一個索引寄存器、一個比例因子和一個偏移量來指定地址。這個比例因子必須是1、2、4或8。
示例:數組
讓我們定義一個整型數組,即int x[100];。這表示聲明了一個包含100個整數的數組。在內存中,數組中的每個值都存儲在基址的特定偏移位置。這個偏移量是由數組中的值(比如一個32位或4字節的整數)的大小決定的。
假設整型數組是在偏移量0x1000的位置創建的。如果n存儲在ebx中,則下面的指令會將數組的第n個元素移動到eax中:
