当前位置: 首页 > news >正文

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.数据处理指令

 

 


http://www.mrgr.cn/news/19174.html

相关文章:

  • 传统CV算法——特征匹配算法
  • 性能测试⼯具-——JMeter
  • Go 语言 API 开发
  • Vue3中使用@作为引用根目录报错
  • 嵌入式:Arm v7-M指令集架构中的字节序(大小端)
  • 揭秘推荐算法:深度学习如何读懂你的购物心思
  • house of cat
  • 力扣209.长度最小的子数组
  • vector的实现
  • Python参数传递的艺术:解锁编程灵活性的秘密武器
  • 简单的C++ CMake构建程序
  • 5.2.数据结构-c/c++二叉树详解(下篇)(算法面试题)
  • ASP.NET Core 入门教学八 集成RocketMQ消息队列
  • 国际化产品经理的挑战与机遇:跨文化产品管理的探索
  • 【软件测试专栏】测试分类篇
  • Datawhale X 李宏毅苹果书 AI夏令营(深度学习 之 实践方法论)
  • Linux多线程——利用C++模板对pthread线程库封装
  • HALCON 错误代码 #7709
  • C++封装:栈、队列
  • 技术Leader在训练团队思考力中的核心职责