堆栈的分类:
生长方向:
1.向上生长:压栈的时候SP指针指向内存的高地址
2.向下生长:压栈的时候SP指针指向内存的低地址(ATPCS:ARM)
满和空:
1.满堆栈:压栈先修改堆栈指针SP,然后在存数据
2.空堆栈:压栈先存数据,然后修改堆栈指针SP
四种堆栈类型:
1.FA 递增满
2.FD 递减满(ARM 采用的)
3.EA 递增空
4.ED 递减空
压栈指令:
STM/LDM
1.用什么方式压栈,就要什么方式出栈
STMEA SP!,{R1,R2,R3,R4} 压栈
LDMEA SP!,{R1,R2,R3,R4}出栈
2.压栈和出栈是成对出现的,有压栈就要出栈
3.压栈时候,寄存器编号小的存储在内存的低地址
ARM堆栈寻址
猜你喜欢
转载自blog.csdn.net/xiezhi123456/article/details/83154813
今日推荐
周排行