仓库其实便是内存中的一段接连空间,仅仅有了仓库指针,所以显得比较特别,仓库一般分为两种:
向上成长:仓库指针向高地址方向成长,称为递加仓库。
向下成长:仓库指针向低地址方向成长,称为递减仓库。
关于仓库来说,能够进行刺进或许删去操作的一端称为栈顶,相应的,另一端称为栈底,因为仓库只允许在一端进行操作,因此依照后进先出的原理进行运作。仓库指针指向最终一个压入仓库的有用数据项。
为什么说“向上成长或向下成长”呢,这是一个习气的问题,一般画仓库示意图,习气上把低地址画在下面,高地址画在上面,如下图所示:
ARM中,尽管对两种方法的仓库均支撑,可是一般程序编译器仅支撑一种方法,即从上往下成长,满意满递减的方法(仓库经过减小存储器的地址向下增加,仓库指针指向含有有用数据项的最低地址),所以一般会运用LDMFD,STMFD等指令。