white_glitter 2024-03-06 18:55 采纳率: 33.3%
浏览 52

ARM指令集和ARM汇编语言有什么区别吗?

在学习嵌入式的过程中,发现arm指令集中的指令和arm汇编语言的指令有些是一样的,例如LDR,STR等指令或伪指令。所以arm指令集和arm汇编语言这两个有什么区别吗?

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-06 18:56
    关注

    引自免费微信小程序:皆我百晓生

    当然,ARM指令集和ARM汇编语言是嵌入式系统开发中的两个密切相关的概念,但它们有明确的区别:

    1. ARM指令集:

      • 定义:ARM指令集(或架构)是一组预先定义好的机器语言指令,它是CPU硬件层面理解和执行的低级语言。ARM公司设计的处理器(如Cortex-A、Cortex-R、Cortex-M系列等)依据这套指令集来实现各种功能,包括数据处理、内存访问、分支跳转等操作。
      • 特性:指令集是固定的且与具体实现无关的规范,它规定了每条指令的功能、格式以及操作数类型。例如LDR指令在ARM指令集中表示从存储器加载数据到寄存器。
    2. ARM汇编语言:

      • 定义:ARM汇编语言是一种用于编写和表示ARM指令集的高级形式,它允许程序员以人类可读的形式编写代码,然后通过汇编器转换为具体的机器码。对于同样的LDR指令,在汇编语言中,你可以写出类似于LDR R0, [R1]这样的语句,其中“R0”和“R1”代表寄存器,方括号内的内容表示内存地址。
      • 功能:汇编语言不仅包含直接对应于硬件指令的助记符(如LDR、STR),还包括一些伪指令,这些伪指令并不直接生成机器码,而是在汇编阶段被汇编器处理,如.equ用来定义符号常量,.align用来调整程序对齐方式等。

    总结来说,ARM指令集是硬件执行的基础,而ARM汇编语言则是程序员用于编写和组织这些底层指令的一种工具。两者之间的关系就像是规则和遵循规则表达的语言一样,汇编语言按照指令集的规则来描述机器级别的操作,以便于人脑理解和编写程序。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月6日