變址寄存器

變址寄存器

變址寄存器是指寄存器ESI、EDI、SI和DI的寄存器,它們主要用於存放存儲單元在段內的偏移量。

基本介紹


32位CPU有2個32位通用寄存器ESI和EDI。其低16位對應先前CPU中的SI和DI,對低16位數據的存取,不影響高16位的數據。寄存器ESI、EDI、SI和DI稱為變址寄存器(IndexRegister),它們主要用於存放存儲單元在段內的偏移量,用它們可實現多種存儲器操作數的定址方式,為以不同的地址形式訪問存儲單元提供方便。變址寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲算術邏輯運算的操作數和運算結果。它們可作一般的存儲器指針使用。在字元串操作指令的執行過程中,對它們有特定的要求,而且還具有特殊的功能。

主要用途


SI:存儲器指針,串指令中的源操作數指針。
DI:存儲器指針,串指令中的目的操作數指針。