| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> Cortex-A7 常用汇编指令 -> 正文阅读 |
|
[嵌入式]Cortex-A7 常用汇编指令 |
Cortex-A7 常用汇编指令一、处理器内部数据传输指令1.mov将数据从一个寄存器拷贝到另外一个寄存器,或者将一个立即数传递到寄存器里面
2.MRS将特殊寄存器(如 CPSR 和 SPSR)中的数据传递给通用寄存器,要读取特殊寄存器的数据只能使用 MRS 指令
3.MSRMSR 指令和 MRS 刚好相反,MSR指令用来将普通寄存器的数据传递给特殊寄存器,也就是写特殊寄存器,写特殊寄存器只能使用 MSR
二、存储器访问指令1.LDR直接读取CPU的寄存器的值
2.STR将数据写入到存储器中
三、压栈与出栈指令还记得学单片机的时候中断操作吗?当你中断的时候你当前执行程序的指令代码地址,会被压倒栈中暂时存储起来,当你执行完中断操作,回到主程序是,就需要把存储在栈中的指令地址重新取出来。 1.PUSh初始SP指针指向0X80000000
? 执行完以上操作后,SP指向了0X7FFFFFEC 再次进行压栈,对LR
? 2.POP出栈操作,后进去的先出来,也就是从栈顶开始出来
3.对于压栈、出栈还有这样的写法
是不是感觉有点熟悉,这里的STM 和 LDM就是前面说的LDR 和 STR,只不过不是一个量级的存储和读取操作,STM 和 LDM 就是多存储和多 加载,可以连续的读写存储器中的多个连续数据。 四、跳转指令1.B直接跳转到目标地址
使用B指令,直接跳转到C文件的main函数中,但注意,跳过去你就会不来了!! 如果你想回来怎么办?那就要用到下面这个指令了。 2.BLBL 指令相比 B 指令,在跳转之前会在寄存器 LR(R14)中保存当前 PC 寄存器值,所以可以通过将 LR寄存器中的值重新加载到PC中来继续从跳转之前的代码处运行,这是子程序调用一个基本但常用的手段。
在第5行的时候上面这个程序就中断去执行了别的函数,但之后,还会回来继续之乡下面的程序。 五、算术运算指令? 六、逻辑运算符? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:52:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |