当前位置:网站首页>Summary of stack frame in arm assembly
Summary of stack frame in arm assembly
2022-06-25 02:26:00 【Hua Weiyun】
What is a stack frame ?
1. Stack is a kind of data organization with last in first out , That is to say, those stored later shall be taken out first , Store first and then take out . The bottom of the stack is where the first data in the stack is located , The top of the stack is where the last data is put into the stack .

Stack frame (stack frame): Is the part of the stack used by a function , The stack frames of all functions are strung together to form a complete stack . The two boundaries of the stack frame are respectively defined by fp(r11) and sp(r13) To limit .
How do stack frames come into being ? When the stack top pointer sp Less than the pointer at the bottom of the stack fp when , The stack frame is formed .
The use of stack frames in functions ?
ARM The order of stack pressing is very regular , In order is the current function pointer PC、 Return pointer LR、 Stack pointer SP、 Stack base address FP、 The number of parameters and pointers passed in 、 Local variables and temporary variables .
ARM The following statements are often used for function stack pressing and stack pushing :
stmfd sp!,{r0-r9, lr} ; Full decrement stack , Give the register r0-r9,lr Pressing stack ,sp Decreasing 4.
ldmfd sp!,{r0-r9, pc} ; Full decrement stack , Give the register r0-r9 Out of the stack , And make the program jump back to the call point of the function ,sp Increasing 4.
边栏推荐
- Rod and Schwartz cooperated with ZhongGuanCun pan Lianyuan Institute to carry out 6G technology research and early verification
- Test / development programmers, 30, do you feel confused? And where to go
- June 24, 2022: golang multiple choice question, what does the following golang code output? A:1; B:3; C:4; D: Compilation failed. package main import ( “f
- 测试/开发程序员,30而立,你是否觉得迷茫?又当何去何从......
- vim的Dirvish中文文档
- 业务与技术双向结合构建银行数据安全管理体系
- linux上查看mysql的密码_Linux下MySQL忘记密码「建议收藏」
- 多模态情感识别_多模态融合的情感识别研究「建议收藏」
- Intranet learning notes (5)
- 基本布局-QHBoxLayout类、QVBoxLayout类、QGridLayout类
猜你喜欢

EasyCVR国标协议接入的通道,在线通道部分播放异常是什么原因?

What are the reasons for the abnormal playback of the online channel of the channel accessed by easycvr national standard protocol?

Left hand dreams right hand responsibilities GAC Honda not only pays attention to sales but also children's safety

QT package the EXE file to solve the problem that "the program input point \u zdapvj cannot be located in the dynamic link library qt5cored.dll"

会自动化—10K,能做自动化—20K,你搞懂自动化测试没有?

yarn : 无法加载文件 C:\Users\xxx\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本

都2022年了,你还不了解什么是性能测试?

Test / development programmers, 30, do you feel confused? And where to go

DDD concept is complex and difficult to understand. How to design code implementation model in practice?

【Proteus仿真】Arduino UNO+数码管显示4x4键盘矩阵按键
随机推荐
Build and train your own dataset for pig face recognition
Redistemplate operates redis. This article is enough (I) [easy to understand]
Beescms website penetration test and repair comments "suggestions collection"
【直播回顾】战码先锋第七期:三方应用开发者如何为开源做贡献
Kaggle 专利匹配比赛金牌方案赛后总结
LINQ 查询(3)
Can automate - 10k, can automate - 20K, do you understand automated testing?
左手梦想 右手责任 广汽本田不光关注销量 还有儿童安全
Taishan Office Technology Lecture: a simple study of Chinese punctuation in vertical arrangement
保险APP适老化服务评测分析2022第06期
yarn : 无法加载文件 C:\Users\xxx\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本
Logminer database log mining
[I.MX6UL] U-Boot移植(六) 网络驱动修改 LAN8720A
Squid 代理服务器之 ACL 访问控制
算力服务网络:一场多元融合的系统革命
Constant current circuit composed of 2 NPN triodes
Redis
计网 | 【四 网络层】知识点及例题
Test / development programmers, 30, do you feel confused? And where to go
目录权限错误导致 Oracle 11g rac 集群数据库无法启动的问题