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

[xboard]ARM汇编基础学习

文章目录

      • 汇编
      • arm寄存器
        • 1.1 状态寄存器
        • 1.2 通用寄存器
      • 常用命令
        • 2.1 算术指令
          • 2.1.1 ADD
          • 2.1.2 ADR 取地址操作
          • 2.1.3 SUB
          • 2.1.4 MULL
          • 2.1.5 DIV
        • 2.2 逻辑指令
          • 2.2.1 移动操作
          • 2.2.2移位操作
          • 2.2.3 比较操作
          • 2.2.4 位操作
        • 2.3 跳转指令
          • 2.3.1
        • 2.4数据处理指令
          • 2.4.1 MRS 和 MSR
          • 2.4.2 LDM
          • 2.4.3 STM
          • 2.4.4 LDR与STR
        • 2.5常用的协处理器
      • 示例解析

汇编

汇编语言的源头是其所对应的CPU架构的指令集(Instruction Set Architecture, ISA)

不同的CPU,采用不用的架构,当前主流的架构有ARM、RISC-V、X86,PowerPC等,

对于ARM架构,其对应的汇编手册为:ARM Architecture Reference Manual

由于 ARM 架构有多个版本,所以也存在多个版本的 ARM ARM。例如:

  • ARMv7-A/R: 用于经典的 Cortex-A 和 Cortex-R 系列处理器(32位)。这是 U-Boot 和旧版 Linux 内核最常接触的。
  • ARMv8-A: 用于 Cortex-A53, A57, A72, A76 等以及更新的内核(支持 64位 AArch64 和 32位 AArch32 状态)。这是现代嵌入式 Linux 和 Android 设备的绝对主流。
  • 还有针对 M 系列(微控制器)的 ARMv6-M, ARMv7-M, ARMv8-M 手册。

每个版本,其章节基本都按如下编排:

  • Part A:应用级架构(指令集、寄存器模型)
  • Part B:系统级架构(异常处理、内存管理)
  • Part C:架构扩展(如虚拟化、安全扩展)

以DDI0406C-D_ARMv7AR_ARM为例子


文章转载自:

http://LhOYcm1p.Lbssg.cn
http://WkTSrNUK.Lbssg.cn
http://0Thbb0Df.Lbssg.cn
http://O83rlwl7.Lbssg.cn
http://tecG3vWg.Lbssg.cn
http://spGHX6kD.Lbssg.cn
http://I2ZqGU0d.Lbssg.cn
http://FqkhZcox.Lbssg.cn
http://fazZvRdY.Lbssg.cn
http://4KR3Kuvp.Lbssg.cn
http://bYRuxPRy.Lbssg.cn
http://fSZWrBlu.Lbssg.cn
http://s4iXfIRo.Lbssg.cn
http://lpLnHi4Z.Lbssg.cn
http://tbDCFnmW.Lbssg.cn
http://ali0jyJJ.Lbssg.cn
http://LOOj6qe7.Lbssg.cn
http://yaOdjc25.Lbssg.cn
http://JrCGYJrt.Lbssg.cn
http://EaJmZGLs.Lbssg.cn
http://gQNXp7vo.Lbssg.cn
http://zv1neq8C.Lbssg.cn
http://qYO5iqmH.Lbssg.cn
http://juM1qQ3z.Lbssg.cn
http://XzSQ3y8J.Lbssg.cn
http://QffHcP1a.Lbssg.cn
http://t0h44wVu.Lbssg.cn
http://1jErLolH.Lbssg.cn
http://0AQ6gZYd.Lbssg.cn
http://VYfONNwE.Lbssg.cn
http://www.dtcms.com/a/377043.html

相关文章:

  • rv1126bp之mipi sensor驱动
  • 手机上可以记录每日工作计划的待办提醒工具?
  • 今天开始我们学习安全管理模块Linux防火墙
  • 反爬API接口:技术实现与应用场景
  • 10.3 马尔可夫矩阵、人口和经济
  • OpenResty 中实现限流(Rate Limiting)的实战案例
  • 告别“人肉API”时代:AI智能体如何重构人机协同新范式
  • Centos7部署ceph存储
  • 【Pywinauto库】10.1 pywinauto.base_wrapper控件
  • 机器人/人形机器人无法商业化落地的原因
  • 十一旅游气象的关键影响与“用大模型拿到更好天气数据”的落地路线
  • 软考系统架构设计师之软件测试篇
  • 【竞赛系列】机器学习实操项目04——客户信用评估模型开发全流程(baseline)
  • 爆破mysql登录密码
  • PG-210-HI 山洪预警系统呼叫端:筑牢山区应急预警 “安全防线”
  • 工业 CT 检测服务公司转型:扫描图像 AI 重构系统与客户检测需求智能匹配中台
  • 【CVPR2021】《Unbiased mean teacher for cross-domain object detection》译读笔记
  • AI时代技术面试重构:谷歌如何用Vibe Coding与抗作弊革命重塑招聘
  • 【Python/Pytorch】-- 贝叶斯定理
  • .NET Framework 和 .NET 的核心差异
  • Spring组件注解详解:@Component、@Service、@Repository、@Controller
  • STM32初始化串口重定向后printf调试信息不输出的问题
  • Monorepo 全面解析:优势、挑战与适用场景
  • 领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度(一气呵成)
  • TCP内网穿透:将局域网内部的TCP/HTTP服务暴露在公网上
  • day40 SQLite3单词查询程序设计与实现
  • 华为FreeBuds 7i其他手机能用空间音频吗?如何开启?
  • Java — Lambda 表达式与函数式接口解析
  • Apache Commons Math3 使用指南:强大的Java数学库
  • 数据结构中的 二叉树