在計算機程序設計和計算機體系結構中,索引寄存器是通常內置在中央處理器(CPU)中的一個內存區域,用作快速計數器,用于單步執行內存地址或跟蹤諸如循環之類的操作。根據系統結構的類型,索引寄存器可以定義為其它處理器寄存器...
在計算機程序設計和計算機體系結構中,索引寄存器是通常內置在中央處理器(CPU)中的一個內存區域,用作快速計數器,用于單步執行內存地址或跟蹤諸如循環之類的操作。根據系統結構的類型,索引寄存器可以定義為其它處理器寄存器中的專用寄存器,也可以是任何通用寄存器。最常見的是,索引寄存器保存內存位置的當前偏移量,另一個寄存器保存基址,所以這兩個寄存器的組合產生了一個完整的內存地址。索引寄存器的特殊功能之一,當一個由CPU專門指定時,它可以通過按需遞增或遞減的方式輕松地單步執行內存地址,以便遍歷數組和堆棧等數據結構。

索引寄存器是內存的低級別區域,通常在CPU上。
計算機CPU上的索引寄存器是非常低級的內存區域,通常只有程序員通過使用匯編語言或類似的低級編程語言才能直接訪問這些內存區域。在一些更常見的處理器類型中,兩個獨立的寄存器被定義為索引寄存器,即源索引(SI)和目標索引(DI)寄存器。其他處理器沒有索引寄存器或支持需要它們的運算符,這意味著可以使用任何大小合適的通用寄存器。
索引寄存器最常用的用途之一是充當指向內存位置的指針,該內存位置包含需要按順序訪問的數據流例如,當使用一個所有元素在內存中連續排列的數據數組時,可以看到這樣一個例子:如果使用索引寄存器訪問一個數組,那么當將當前被訪問的元素添加到另一個保存基址的寄存器時,它可以保存當前被訪問元素的偏移量的相應值,例如數據段寄存器。這可以使完成諸如將以空結尾的字符串的內容從源位置復制到目標字符串等過程變得非常容易。
索引寄存器的另一個用途是保存有關循環和其他計數器的信息。某些系統結構更喜歡使用索引寄存器,用于保存循環中已發生的迭代次數,但有時也可以使用任何寄存器。此外,某些匯編指令特別依賴源和目標索引寄存器來執行某些操作,如塊內存讀寫,如向屏幕發送信息。