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

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.kler.cn/a/294458.html

相关文章:

  • 【统计子矩阵——部分前缀和+双指针】
  • 学习记录:js算法(九十):N皇后
  • 数据编排与ETL有什么关系?
  • Unity3D ASTC贴图压缩格式详解
  • java的单例设计模式
  • 出海企业如何借助云计算平台实现多区域部署?
  • 把设计模式用起来!(1)——楔
  • 算法复杂度 —— 数据结构前言、算法效率、时间复杂度、空间复杂度、常见复杂度对比、复杂度算法题(旋转数组)
  • 掌握Hive函数[2]:从基础到高级应用
  • 对比测评3款BI分析工具
  • es数组包含查询
  • 『功能项目』战士的A键连击【33】
  • Java项目: 基于SpringBoot+mybatis+maven+mysql图书馆管理系统(含源码+数据库+任务书+答辩PPT+毕业论文)
  • 2024 批量下载公众号渤海小吏1千篇文章导出pdf(带留言),抓取文章标题时间链接封面阅读数分享数留言数粉丝数导出excel
  • Python测试开发---什么是单例模式
  • tomato靶场攻略
  • 基于单片机的多功能数字闹钟设计
  • 【简单】 猿人学web第一届 第15题 备周则意怠,常见则不疑
  • javaWeb【day03】---(Vue-Element)
  • python | 字符串字母大小写转换方法
  • HalconDotNet中的图像特征与提取详解
  • MATLAB算法实战应用案例精讲-【人工智能】数据元(概念篇)
  • 力扣 739. 每日温度【经典单调栈题目】
  • PyQt-Server服务器
  • 构建现代前端应用的利器:深入解析Webpack与Vite的差异与优势
  • 电脑WLan无线网连上没网络的问题解决方法