CPU寄存器組中,指針寄存器BP和SP有什么區別?是不是BP指針可以訪問堆棧中的任何數據,而SP指針只可以訪問棧頂數據?
2 回答

不負相思意
TA貢獻1777條經驗 獲得超10個贊
指針寄存器包括堆棧寄存器SP(stack pointer)和基數指針寄存器BP(base pointer),變
值寄存器包括源變址寄存器SI(source index)和目的變值寄存器DI(destination index)。這
4個寄存器都是16位寄存器,這些寄存器在運算過程中也可以用來存放操作數(只能
以字為單位),但經常的用途是在段內尋址時提供偏移地址,SP,BP一般與段寄存器SS
聯用,以確定堆棧寄存器中某一單元的地址,SP用以指示棧頂的偏移地址,而BP可
作為堆棧區中的一個基地址,用以確定在堆棧中的操作數地址。SI,DI一般與段寄存器
DS聯用,以確定數據段中某一存儲單元的地址,SI,DI具有自動增量和自動減量的功能,
這一點使在串操作指令中用做變址非常方便,SI作為隱含的源變址DS聯用,DI作為
隱含的目的變址和ES連用,從而達到在數據段和附加段中尋址的目的
- 2 回答
- 0 關注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消