1. 程式人生 > >ARM的堆棧方式

ARM的堆棧方式

end 遞增 壓入 bsp pty 方式 ack 註意 指針

當堆棧指針指向最後壓入堆棧的數據時,稱為滿堆棧(Full Stack);

當堆棧指針指向下一個將要放入數據的空位置時,稱為空堆棧(Empty Stack);

根據對戰的生成方式分為:遞增堆棧(Ascengding Stack)和遞減堆棧(Decending Stack)

遞增堆棧:堆棧由低地址向高地址生成

遞減堆棧:堆棧由高地址向低地址生成

從而形成了四種類型的堆棧工作方式,ARM處理器支持這四種類型的堆棧工作方式。

滿遞減堆棧(Full decending)-FD :堆棧首部是高地址,堆棧向低地址增長。棧指針總是指向最後一個元素。註意,最後一個元素是最後壓入的數據。

空遞減堆棧(Empty descending)---ED:堆棧首部是高地址,堆棧向低地址增長。棧指針總是指向下一個將要放入數據的空位置。

滿遞增堆棧(Full ascending)---FA 堆棧首部是低地址,堆棧向高地址增長。棧指針總是指向堆棧最後一個元素。

空遞增堆棧(Empty ascending)-EA 堆棧首部指向低地址,堆棧向高地址增長。棧指針總是指向下一個將要放入數據的空位置。

ARM的堆棧方式