本文主要是介绍ARM基础---编程模型---ARM汇编,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、编程模型
1.1.数据和指令集
1.数据
ARM 采用的是32位架构。
ARM 约定:Byte : 8 bits Halfword : 16 bits (2 byte)Word : 32 bits (4 byte)Doubleword 64-bits(8byte)(Cortex-A处理器)
2.指令
ARM 指令集(32-bit)
Thumb 指令集(16-bit)//一般用于紧急处理指令,arm为32位一次可以取2条该指令,效率高
3. 字节序
也就是所谓的大小端存储,我们的计算机一般是小端存储。
1.2.处理器的工作模式
共有七种基本工作模式
1.3.ARM寄存器
ARM 有37个32-Bits长的寄存器.1 个用作PC( program counter)1个用作CPSR(current program status register)5个用作SPSR(saved program status registers)30 个通用寄存器
pc,lr,sp三者中,pc是唯一的,sp,lr不同的工作模式下不同。
1.4.程序状态寄存器
寄存器四字节---32位
1.条件位
简单的计算结果标志
N=存储计算结果的负值Z=存储计算结果位零C=存储进位借位V=存储溢出
2.大小端控制位
E---大小端控制位 // 0,1 控制
3.中断禁止位
I = 1 --- 中断禁止
F = 1 --- 快中断禁止
4.处理器工作模式定位
七个工作模式,需要5位来控制
10000---user
10001---FIQ
10010---IRQ
10011---SVC
10110---monitor
10111---abord
11011---undfine
1.5.异常处理
异常就是程序正常执行以外的其他情况(复位、中断等等)
1.6. ARM处理器的发展
1.ARM处理器过去的分类
ARM(数字符)+ 字母(适用场景) 了解一下就行
2.ARM的演变
3大类:Cortex-A --- 低功耗 消费类 环境要求最高 (手机、平板) Cortex-R --- 实时性 (汽车动力系统)Cortex-M --- 高性能 偏控制 环境要求最底(工厂--- stm32自动化流水线)
1.7.ARM指令架构(版本)
例如:ARM9V4
二、ARM汇编
2.1.常用的两类ARM编译开发环境
2.2.汇编文件格式
不区分大小写,要么大写,要么小写;
.s --- 汇编文件 汇编语言编写.c --- 程序文件 C语言编写.h --- 头文件
2.3.ARM汇编语言程序格式
C语言 --- 以函数为单位汇编 --- 以段为单位 //汇编至少需要一个代码段--- 代码段--- 数据段
2.4.ARM汇编中常见的伪操作
C语言中的伪操作有 --- #include--- #define
2.5.ARM汇编的基本结构举例说明
2.6.数据处理指令分类
2.7.数据处理指令
这篇关于ARM基础---编程模型---ARM汇编的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!