ARM的堆栈方式
Posted 一代枭雄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM的堆栈方式相关的知识,希望对你有一定的参考价值。
当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(Full Stack);
当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack);
根据对战的生成方式分为:递增堆栈(Ascengding Stack)和递减堆栈(Decending Stack)
递增堆栈:堆栈由低地址向高地址生成
递减堆栈:堆栈由高地址向低地址生成
从而形成了四种类型的堆栈工作方式,ARM处理器支持这四种类型的堆栈工作方式。
满递减堆栈(Full decending)-FD :堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向最后一个元素。注意,最后一个元素是最后压入的数据。
空递减堆栈(Empty descending)---ED:堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向下一个将要放入数据的空位置。
满递增堆栈(Full ascending)---FA 堆栈首部是低地址,堆栈向高地址增长。栈指针总是指向堆栈最后一个元素。
空递增堆栈(Empty ascending)-EA 堆栈首部指向低地址,堆栈向高地址增长。栈指针总是指向下一个将要放入数据的空位置。
以上是关于ARM的堆栈方式的主要内容,如果未能解决你的问题,请参考以下文章
我在理解 ARM Assembly 中的 ED 堆栈时遇到问题