堆疊指針暫存器在堆疊操作中使用,PUSH和POP指令是從SP暫存器得到現行堆疊段的段內偏移量,所以稱SP暫存器為堆疊指針,SP始終指向棧頂。
堆疊是計算機中廣泛套用的技術,基於堆疊具有的數據進出LIFO特性,常套用於保存中斷斷點、保存子程式調用返回點、保存CPU現場數據等,也用於程式間傳遞參數。
這樣兩兩組合共有四種堆疊方式——滿遞增、空遞增、滿遞減和空遞減。
ARM處理器的堆疊操作具有非常大的靈活性,對這四種類型的堆疊都支持。
ARM處理器中的R13被用作SP。當不使用堆疊時,R13 也可以用做通用數據暫存器。